{"msg":"Running step start_crdb","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:06:56.240582034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Starting CRDB","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:06:56.240813774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"cockroach temporary directory: /var/tmp/omicron_tmp/.tmpVhVpNZ","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:56.263126944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"cockroach: copying from seed tarball (/var/tmp/omicron_tmp/crdb-base-build/f1d0b5eafce1275fcdb9684f5e9a0db2edf2344eda0b8c61f6bb4677d55ea4e3.tar) to storage directory (/var/tmp/omicron_tmp/.tmpVhVpNZ/data)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:56.263179784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"cockroach command line: cockroach start-single-node --insecure --http-addr=:0 --store=path=/var/tmp/omicron_tmp/.tmpVhVpNZ/data,ballast-size=0 --listen-addr [::1]:0 --listening-url-file /var/tmp/omicron_tmp/.tmpVhVpNZ/listen-url --max-sql-memory 256MiB","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:56.399226624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"cockroach environment: BUILDOMAT_JOB_ID=01KTA6AK3K4SVVR0M4C914VST0 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/f1d0b5eafce1275fcdb9684f5e9a0db2edf2344eda0b8c61f6bb4677d55ea4e3.tar GITHUB_BRANCH=iam-test-exempted GITHUB_REF=refs/heads/iam-test-exempted GITHUB_REPOSITORY=oxidecomputer/omicron GITHUB_SHA=562fe28cdcb98dd93f511dd001fa33a0e2e9ff9c 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=3f8faffd-6ff2-43b6-9de5-2167d115437f: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=3f8faffd-6ff2-43b6-9de5-2167d115437f NEXTEST_RUN_MODE=test NEXTEST_STATE_DIR=/tmp/nextest-state.TUaq9s 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-5b6dc47c313b25a0/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-04T21:06:56.399976374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"cockroach pid: 10404","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:57.387033082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"cockroach listen URL: postgresql://root@[::1]:63899/omicron?sslmode=disable","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:57.387137742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"Running step start_clickhouse","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:06:57.394494862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Starting Clickhouse","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:06:57.394558922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"Running step start_internal_dns","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:06:57.89781807Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"opening sled database","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:57.89803064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","path":"/var/tmp/omicron_tmp/.tmprgTJBG"} {"msg":"pruning trees for generations newer than 0","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:57.9572137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.95726709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.95745524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"dns","kind":"dns","component":"internal_dns_server","local_address":"[::1]:36596"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:06:57.95789532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:61753","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-04T21:06:57.95801047Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:61753","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-04T21:06:57.95802992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:61753","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-04T21:06:57.9580457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:61753","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-04T21:06:57.95806279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:61753","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-04T21:06:57.95839466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:61753","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-04T21:06:57.95845608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"opening sled database","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:57.95855391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"external_dns_server","path":"/var/tmp/omicron_tmp/.tmpgXGuQv"} {"msg":"pruning trees for generations newer than 0","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:57.96348495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96351967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96353526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"dns","kind":"dns","component":"external_dns_server","local_address":"[::1]:62393"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:06:57.9635876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:55363","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-04T21:06:57.9636175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:55363","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-04T21:06:57.96363826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:55363","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-04T21:06:57.96365895Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:55363","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-04T21:06:57.96367608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:55363","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-04T21:06:57.96405695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:55363","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-04T21:06:57.96423478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Starting Nexus (internal API)","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:06:57.96427123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"setting up nexus server","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:57.96448791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:57.96575127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96579008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96581675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96583196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96587085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96588488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96589909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96591244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96592966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96594471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96596467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96599366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96600865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96602266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96603551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96608795Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.9661163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96613282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96614729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96616579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.9661825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96619672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96621066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96622335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96623918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96625293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.9662688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96646153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96647894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96649283Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96650525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96651942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96653307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96654702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96655966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96657356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96659369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96660812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96662076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96663824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96665474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96666772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96668221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96669774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.9667181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96673032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96674467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96675705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.9667715Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96678411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96679911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96681226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96682818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96684287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96685589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96690516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96692246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96695514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.9669706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96698736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96700392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96702331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.9670375Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96705317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96706985Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96708461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96710699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96712019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96713561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96715594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96717462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96718885Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96720374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96721658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96723002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.96724313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.9672554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:36596","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:57.98130617Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:57.98134753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","addresses":"[[::1]:36596]"} {"msg":"Setting up qorb database pool from a single host","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:06:57.98192161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","url":"PostgresConfigWithUrl {\n url_raw: \"postgresql://root@[::1]:63899/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 63899,\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-04T21:06:57.982921Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:59.649538877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"desired_version":"261.0.0","found_version":"261.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-04T21:06:59.661271717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:59.661365197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:59.719282577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"1e5a22e4-b368-41e5-b532-6bb115a0a522","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-04T21:06:59.787139336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787223686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787246976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787267616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787283886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787303046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787321276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787336206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787353826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787371766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787389426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787404616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787422116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787440136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787455466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787476196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787495906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787510626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787528736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787546886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.787677956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","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-04T21:06:59.789436756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789492996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789509876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789528986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789546866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789562186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789580026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789597526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789613406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789630876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789648936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789666846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789681956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789699846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789717276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789732256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789749956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789767436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789785276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789801036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789818386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789836386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789854186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789870226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789888276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789906166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789924016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789939486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789957786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.789984286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790002506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790017436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790035576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790054436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790069656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790087196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790104546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790119126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790136376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790160836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790175626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790190806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790205996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790220856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790237976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790253456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790270156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790287086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790302356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:57288","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-04T21:06:59.790317036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:59.791028726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:59.791099876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:59.793560036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:59.793609946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:59.793914846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:59.793949736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:59.802520666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.028858746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.032711026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:62855","req_id":"112d66d5-2741-447e-9959-841e94a43316","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: e4 0a 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-04T21:07:00.033119836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:62855","req_id":"112d66d5-2741-447e-9959-841e94a43316","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 58378,\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: 58378,\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-04T21:07:00.033514116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:62855","req_id":"112d66d5-2741-447e-9959-841e94a43316","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:00.033606526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:52413","req_id":"ab30dcaa-936c-4189-ac14-ecb063586b38","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 74 (0x4a) bytes\n0000: b8 ae 01 00 00 01 00 00 00 00 00 01 0b 5f 72 65 ............._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-04T21:07:00.033632136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:52413","req_id":"ab30dcaa-936c-4189-ac14-ecb063586b38","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 47278,\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: 47278,\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-04T21:07:00.033765376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:52413","req_id":"ab30dcaa-936c-4189-ac14-ecb063586b38","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:00.033781776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:59474","req_id":"85a81092-aa91-4a5e-a095-6a34b1040e8b","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 79 (0x4f) bytes\n0000: d0 a9 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-04T21:07:00.033805506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:59474","req_id":"85a81092-aa91-4a5e-a095-6a34b1040e8b","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 53417,\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: 53417,\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-04T21:07:00.033957896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:59474","req_id":"85a81092-aa91-4a5e-a095-6a34b1040e8b","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-04T21:07:00.038058116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.038171826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.038192166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.039675606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.039699076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.039713296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.039731656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.039918366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.148009616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.148070906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.148091096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.149532516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.149603556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.149619226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.149637126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.149761916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.208449856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.208523296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.208544416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.209178376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.221085706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.221183816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.222902736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.222969406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.223052366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.223071906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.223415256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.232770326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.232888496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.232954436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.232975166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.233484606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.287868286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.287945346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.287965216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.288601516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.291540616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.294266936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.294316156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.294337476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.294355776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.294373066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.294703246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.299917166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.299951656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.299971786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.300339106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.304154976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.306887096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.306939926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.306960686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.307223246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.329097516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.329155066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.329175816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.330854976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.330914846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.330930216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.330950166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.331180846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.336783396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.336833676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.337440726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.341853086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.341989756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.342046166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.342096096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.343069846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.351207546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.351267196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.351286366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.353840016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.358704456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.358753996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.358771436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.359527376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.366758866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.376955606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.377032216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.377128706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.377154456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.377174636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.377192536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.377794716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.388765986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.388824696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.388846116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.389203326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.392754796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.392798856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.392818056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.393200096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.398059706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.408712986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.408770346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.408788626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.409044286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.429220425Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.429282405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.429303315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.429320545Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.429750855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.437455335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.437508705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.437527615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.438564505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.443399255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.443456565Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.443476505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.445514235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.455204145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.463645295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.463713385Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.463733815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.464011255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.471687415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.471737845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.473022105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.486353025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.486423505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.486848105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.491224965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.491371295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.491416005Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.491434305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.491860745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.498036175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.498137375Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.498206915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.503050445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.512855065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.512911425Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.512932645Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.516187275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.524152815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.565889925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.566050795Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.566073265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.566413235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.628419875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.628481025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.628501335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.628535345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.629414065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.640323605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.640385885Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.640407185Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.643156065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.647726635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.647778435Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.647810215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.648294805Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.653286595Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.662301725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.662371615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.662391375Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.662643215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.713185665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.713231305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.713251625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.713269605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.713697655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.715994145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.716054985Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.716076595Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.716487515Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.719988385Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.720036045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.720054665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.720819195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.725164505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.733096375Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.733163695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.733184295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.733600625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.740058185Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.740139625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.740160865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.741263085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.746449265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.746497195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.746932345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.751677525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.751744105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.752041905Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.760452954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.762786474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.762840484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.762859834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.763474914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.766850824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.766900764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.766923514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.767455644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.775137324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.775185984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.775206984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.775524564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.779562324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.783510954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.783573524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.783588864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.783611954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.783629554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.783645954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.785219464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.788548204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.788597254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.788617594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.788930844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.791096544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.791141764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.791160184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.793271504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.795169734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.800893944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.800960064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.800980014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.801182684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.809114084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.809184654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.809206324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.809226924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.814408794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.820176144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.820236224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.820257374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.822666804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.826647874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.826681744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.826700924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.827310814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.877420084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.883549524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.883651284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.883673664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.884003404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.954232024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.954286894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.954302684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.954345734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.957149614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.964513444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.965103014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.965643404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.969198084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.969246394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.969811154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.973876034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.973940844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.973963994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.973990304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.974438584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.976460854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.976509084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.976532734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.976824084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.979386694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.979433974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.979453974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.979755694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.983650644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.994053674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.994129814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.994148214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.994168684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.994561794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.001858144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.001911014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.002001454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.002027394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.002559694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.006485004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.006511584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.006530154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.006872244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.015446694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.015483894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.015504214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.016067884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.019764254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.026898554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.036387564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.036457874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.036480304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.036499024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.037598144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.049582934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.049664604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.049686704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.050027834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.053309064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.053335004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.053353364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.054063304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.058569014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.066447234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.066569354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.066904284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.067090984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.110902194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.110958204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.112307464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.115039814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.115081834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.115101974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.115119954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.115575424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.122633664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.122719824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.122770334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.123383534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.125795174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.125830684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.125849284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.126644544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.128942384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.135383734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.142502404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.142545844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.142565484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.142583574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.143183184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.147623474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.147684554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.147703884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.148006114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.151903034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.151954474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.151974074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.155121914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.158062314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.166461174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.166525254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.166545714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.166954404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.171990694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.172046154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.172544714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.174689294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.174751554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.174773294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.174793344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.175183404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.178719514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.178744184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.178761644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.179305384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.187849544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.187897354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.187917714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.188533184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.190973804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.197810464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.203958234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.204046464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.204069344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.204088254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.204510344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.206812624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.206872164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.206891664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.207386784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.209879094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.209910514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.209927834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.210835624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.213371334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.221634634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.221686104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.221704474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.221966604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.228964134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.228996864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.229421814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.232384974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.232435844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.232451404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.232504584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.235256134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.235302184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.235371234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.235419934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.235744674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.284593654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.284690474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.284707444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.284905744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.285563294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.291197934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.291608254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.291694294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.293019914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.311788244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.311843984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.312421784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.323250634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.323297394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.323318694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.323338544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.325375204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.330520024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.334879394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.335021694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.335067224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.335413404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.442221443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.442284083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.442307183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.442326673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.442737413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.445402133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.447467543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.447513063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.447531833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.447798323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.450758263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.450889213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.450917243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.450937603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.450956753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.451433613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-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-04T21:07:01.457038133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Starting Management Gateway","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.457055973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.544364413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.561356023Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.561427223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::UserBuiltin { user_builtin_id: 001de000-05e4-4000-8000-000000000002 (built_in_user), .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.561448123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.561720623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-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-04T21:07:01.573726613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.586499473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.587001883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.588728873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2.26334ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.588843973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.588867703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.588885033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"20.82µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.588903503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.588959683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.588980983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_executor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"no blueprint\"}","iteration":1,"elapsed":"73.32µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.589001253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.589337133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.589364033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.589388563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.589408083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.589990443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.599496913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.599533313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.599572113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.599595843Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.599636723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.600185613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.601086883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.601128673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.601149493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"Disabled\"","iteration":1,"elapsed":"151.4µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.601171003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.601322163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.601345903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.601525803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.601549903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.601835663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.614246503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.614479363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.614579883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"360.28µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.614666793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.614764563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.614827773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.614885953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.614926393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.617710863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.626099533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.628443393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2.37507ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.628595783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.628674663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.628717973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"error\":\"no blueprint\"}","iteration":1,"elapsed":"124.26µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.629013713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.629146783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.629190383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.629266323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.630680753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.638030113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.638091543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.639750693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.639794313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.639811533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.639832303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.643528863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.644244863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.644270413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.644404633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.644430613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"metrics_producer_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","expiration":"2026-06-04 20:57:01.644407413 UTC"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:01.644601833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.644624293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.645462713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.647190913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.647228313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.647249693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.647269613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.649163003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.649680883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.650635053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.650683723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.650705033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.653585223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.654234573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.654293743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.654317983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.656277703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.657302833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.657841843Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.657873153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.657934673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.657959323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.657985673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.665978563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.669403833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.673220333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.673279963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"3.8502ms"} {"msg":"Running step start_dendrite_switch0","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.834984852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Starting Dendrite","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.835032612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"switch_slot":"switch0"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.896787592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.896852022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.896871672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"83.38µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.896892452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.896910482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.896931842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.896954262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.896976592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.908056552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.909354432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.912545862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.912640012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.913625982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.915818772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.916007762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.916059272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.918288402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.919505952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.919650672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.919671462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.920047272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.920757642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.920856652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.921097782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.921119292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.921340312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"237.93µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.921366722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.921588802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.921630302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.922001002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.922586332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.922611932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.922629462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.922648842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.923257092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.924317602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.924343832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.924360002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.924379732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.924398602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.924417482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.924700062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.925741972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.926793762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.926835772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.927323162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.933587782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.933858212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.933923842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.933941482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.933991302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.934461862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.935605302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.935653492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.935677052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.936552852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.937588422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.937615902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.937637472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.938049882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.938664162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.938828432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.938854262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.939248202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.939732852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.939756952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.939777062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.940238592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.941104242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.941127342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.941146862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.941472932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.942105172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.942171592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.942195732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.942216522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.942237052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.942625882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.946554182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.946593142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.946609942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"155.04µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.946631412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.946649252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.946669482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.947168512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.949202782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.949238242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.949257902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953591882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953625952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953642192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953661972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953678602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953696622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953714572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953746672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953763132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953802402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953819882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953839322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.953990102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"780.67µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.954439342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.954594352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.954650742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.962356512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.962438172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.963550772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.964488282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.964682732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.964811142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"325.96µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.964908192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.965063622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"153.68µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.965207932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.965278062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.965320962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.965665972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.966290912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.966364642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.966402952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.966450522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.966495182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.966533012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.966862952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.968296832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.977313712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.977422902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.977477832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.977521652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.978000462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.978707732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.978759072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.978813262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.978952112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.979011082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.979060062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.979150972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.979204822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.979605432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.980214402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.980317422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.980449482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.980498442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.980540012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.982583592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.983148652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.983212002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.983261552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.983303752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.983354322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.983702532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.986280572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.986346922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:01.986633792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.993455072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.046149202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.048136742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.079683152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.082822812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:12575","req_id":"f0649394-a5fa-462b-a416-eaf23ff8c5a8","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 75 (0x4b) bytes\n0000: 43 f0 01 00 00 01 00 00 00 00 00 01 0c 5f 6e 61 C............_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-04T21:07:02.082861902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:12575","req_id":"f0649394-a5fa-462b-a416-eaf23ff8c5a8","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 17392,\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: 17392,\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-04T21:07:02.083067042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:12575","req_id":"f0649394-a5fa-462b-a416-eaf23ff8c5a8","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.083083552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4284","req_id":"ee435448-970a-485b-a789-5cfc269b8459","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 76 (0x4c) bytes\n0000: 1c 5e 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-04T21:07:02.083106182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4284","req_id":"ee435448-970a-485b-a789-5cfc269b8459","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 7262,\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: 7262,\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-04T21:07:02.083242722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4284","req_id":"ee435448-970a-485b-a789-5cfc269b8459","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.083256772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:31012","req_id":"50107cb2-f616-4f9b-8d99-7b382208dd7d","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: be ae 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-04T21:07:02.083280012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:31012","req_id":"50107cb2-f616-4f9b-8d99-7b382208dd7d","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 48814,\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: 48814,\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-04T21:07:02.083408462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:31012","req_id":"50107cb2-f616-4f9b-8d99-7b382208dd7d","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.083436272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:19918","req_id":"b1d8dfbd-0757-4c6f-a86f-04b7148f0cdc","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 7d 89 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-04T21:07:02.083460282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:19918","req_id":"b1d8dfbd-0757-4c6f-a86f-04b7148f0cdc","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 32137,\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: 32137,\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-04T21:07:02.083586502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:19918","req_id":"b1d8dfbd-0757-4c6f-a86f-04b7148f0cdc","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.083600812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:3416","req_id":"2441fef5-868d-4c67-99f6-4de3b8fe020c","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 53 2c 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-04T21:07:02.083624972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:3416","req_id":"2441fef5-868d-4c67-99f6-4de3b8fe020c","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 21292,\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: 21292,\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-04T21:07:02.083753262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:3416","req_id":"2441fef5-868d-4c67-99f6-4de3b8fe020c","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.083769622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:10017","req_id":"af085383-700c-436b-b1b4-948ec02efa97","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: d5 ff 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-04T21:07:02.083793692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:10017","req_id":"af085383-700c-436b-b1b4-948ec02efa97","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 54783,\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: 54783,\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-04T21:07:02.083920762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:10017","req_id":"af085383-700c-436b-b1b4-948ec02efa97","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-04T21:07:02.088812002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.089311482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"451.263899ms"} {"msg":"failed to lookup DNS servers","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:02.089408412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.089439292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"445.192059ms"} {"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-04T21:07:02.089736022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.089808762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.089830002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.089850202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.089869462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.090316272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.091113822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.091150242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.091209412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.091267912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"138.50841ms"} {"msg":"failed to resolve addresses for Dendrite services","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-04T21:07:02.091447572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.091472072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.091656192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.091679392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.092053542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.092624032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.092656152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.092726962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"106.4273ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.096205872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.096252202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.096275672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.096297122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.096920382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.100397822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.100714212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.100742852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.100763882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.101404632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.103661872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.115538422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.115602002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.115622232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.115638492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.141675632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.148112362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.148172082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.148232562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.148528852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.191092612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.191524132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"metrics_producer_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","pruned":"{}","expiration":"2026-06-04 20:57:01.644407413 UTC"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.191815782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"metrics_producer_gc","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"expiration\":\"2026-06-04T20:57:01.644407413Z\",\"pruned\":[]}","iteration":1,"elapsed":"547.247869ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.199443142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.206358612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.206416192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.206436992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.206737672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.215018022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.215908052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.216010002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.217722702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.224344532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.237772322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"580.444679ms"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.248604032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgd._tcp.control-plane.oxide.internal"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.249311922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.249349562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.252431802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"Running step start_mgd_switch0","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.253618592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Starting mgd","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.253651302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"switch_slot":"switch0"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:02.303830832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:34075"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.305254132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:51582","req_id":"a1b16ed6-40fc-46fb-81a1-c8c0296de947","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 9a e5 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-04T21:07:02.305470472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:51582","req_id":"a1b16ed6-40fc-46fb-81a1-c8c0296de947","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 39653,\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: 39653,\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-04T21:07:02.306074292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:51582","req_id":"a1b16ed6-40fc-46fb-81a1-c8c0296de947","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.317050892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.325757562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.325811342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.325859162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.325880542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.325940662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.326165672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.327056322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.329535592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.329581392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.329600642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.329789832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.354600392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.436705571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.436778671Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.436799371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.437018931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"failed to resolve addresses for Dendrite services","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-04T21:07:02.439448311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.439488241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.439506541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"788.855818ms"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.444667811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"d5b1f90b-ef52-4590-80d6-35256cb91406","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:02.447424031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"d5b1f90b-ef52-4590-80d6-35256cb91406","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.454558941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:28012","req_id":"d46af57c-44d2-4ba9-9ed1-a634028d2df5","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: 29 50 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 )P..........._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-04T21:07:02.454627451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:28012","req_id":"d46af57c-44d2-4ba9-9ed1-a634028d2df5","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 10576,\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: 10576,\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-04T21:07:02.454931571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:28012","req_id":"d46af57c-44d2-4ba9-9ed1-a634028d2df5","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.455779181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"d5b1f90b-ef52-4590-80d6-35256cb91406","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:02.455829461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"d5b1f90b-ef52-4590-80d6-35256cb91406","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:02.456301561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"d5b1f90b-ef52-4590-80d6-35256cb91406","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:02.75773326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.75779287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.86381315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.86836787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.868415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.8692159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.88378579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"947.924498ms"} {"msg":"Found abandoned VMMs","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.88414449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.88418221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.88420021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"958.490298ms"} {"msg":"listed in-progress sagas","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:02.88470546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.88482752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.88504484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"951.484378ms"} {"msg":"failed to resolve addresses for MGD services","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-04T21:07:02.88922383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.88933162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1.235147907s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.9102179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.91028731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.96045329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:02.96512182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.96524006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.96536547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.96582035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"mgd port is 54691","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.97036492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"Running step record_switch_dns","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.97040612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Recording DNS for the switch zones","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:02.97042103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:02.97047754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"setting up sled agent server","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:02.97268874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.520114439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.521787099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"omicron_sled_agent::sim::SimulatedUpstairs"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:03.569490449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.570109899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.588009069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:03.592447859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1.653755317s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:03.592554499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.592596799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.592938009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:03.606234349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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.664730437s"} {"msg":"No ledger in /var/tmp/omicron_tmp/.tmpDXx8Nl/artifact-config.json","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:03.609255749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.609295159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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/.tmpDXx8Nl/artifact-config.json"} {"msg":"No ledger in /var/tmp/omicron_tmp/.tmpOvedVE/artifact-config.json","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:03.609315379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.609331669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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/.tmpOvedVE/artifact-config.json"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:03.827219868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:46722","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-04T21:07:03.827454728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:46722","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-04T21:07:03.828383568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:46722","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-04T21:07:03.836271758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836423108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836445608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836463008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836478788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836494118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836509758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836526348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836542618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836559108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836578038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836595728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836611378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836627338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836642918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836658618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836674368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836690008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836705518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836721398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836737468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836755368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836774478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836790318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836806138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836822558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836838378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836854478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836870958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836887308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836905068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836922578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836939068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836955188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836973008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.836989018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837006358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837022478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837039588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837055588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837071498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837087508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837103568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837119648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837135738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837151438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837167548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837183708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837199818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837215738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837232658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837248328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837264028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837279978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837295928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837313658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837329918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837345618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837361198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837376638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837392608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837408388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837424418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837440178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837457938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837475058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837502918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837520898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837539248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837555918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837572728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837589328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837605678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837621858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837638448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837654548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837670508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837686708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837702968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837719998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837736438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837753088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837770108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837786148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837802588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837821478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837841718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837858788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837876128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837893818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837911488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837929238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837952908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","versions":"all starting from 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-04T21:07:03.837971138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.837989448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838006198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838022778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838039118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838056598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838073178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838089248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838105598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838124268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838142318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838159288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838176208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838193298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838209868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838226288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838242538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838259138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838275618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838292398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838309318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838327248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838345888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838364278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838382288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838399068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838415268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838430988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838446648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838462498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838478828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838494768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838510618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838526608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838542388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838558548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838575098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838591448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.838606678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","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-04T21:07:03.850056688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.866258578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"NexusClient","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","body":"Some(Body)","uri":"http://127.0.0.1:56440/sled-agents/b6d65341-167c-41df-9b5c-41cded99c229","method":"POST"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:03.868196598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.868247498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.868301938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.868322508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.869010248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:03.870031318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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.923364056s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:03.871722278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.877259228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.877313438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.877334998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.877355488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.877375818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.878454348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:03.879698728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:33947"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:03.898186138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.910514878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.910553328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.910572348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.917817418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"all webhook delivery tasks completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:03.920125478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.920247628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"webhook_deliverator","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"by_rx\":{},\"error\":null}","iteration":1,"elapsed":"1.968284026s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:03.922245058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.928062478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.928109548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.928130778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.928525898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:03.932009338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/sled-agents/b6d65341-167c-41df-9b5c-41cded99c229","method":"POST","req_id":"be801c06-7e94-49b6-aa47-eb551e1e5dc4","remote_addr":"127.0.0.1:33947","local_addr":"127.0.0.1:56440","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-04T21:07:03.932054878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/sled-agents/b6d65341-167c-41df-9b5c-41cded99c229","method":"POST","req_id":"be801c06-7e94-49b6-aa47-eb551e1e5dc4","remote_addr":"127.0.0.1:33947","local_addr":"127.0.0.1:56440","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-04T21:07:03.940737908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_uuid":"b6d65341-167c-41df-9b5c-41cded99c229"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:03.941902448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.948902638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.948945398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.958723238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.958792758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.958814778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.959700588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.968713508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.972812328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.972849858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.972868578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.973099128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"inventory_prune_one: nothing eligible for removal (too few)","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:03.975030588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.975079588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:03.979166868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.980787138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.980818278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.980839698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.981084248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.994561168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.014299918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.014357808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.014379618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.014685658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.020123458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.021673948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.021747778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.024096298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.024423038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.027936508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.042845638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.047945978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:1813","req_id":"9c469122-bea8-4007-a009-3d3bf15ee798","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: 32 95 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 2............_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-04T21:07:04.048153058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:1813","req_id":"9c469122-bea8-4007-a009-3d3bf15ee798","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 12949,\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: 12949,\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-04T21:07:04.048513718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:1813","req_id":"9c469122-bea8-4007-a009-3d3bf15ee798","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-04T21:07:04.053352298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.053401498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2.464358355s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:04.063893118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.063946578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.067384258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.069261628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"NoCollections\"","iteration":1,"elapsed":"2.469570795s"} {"msg":"failed to read target blueprint","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:04.084784618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.084881578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2.483696975s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:04.089484598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.089533458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.089556198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.089576368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.090839938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.102154368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.114511518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.114654138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.114710528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.115124658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"reconfigurator config load complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.116188268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.450767Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.116273208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":true}","iteration":1,"elapsed":"2.458442725s"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.116365898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.116423008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.116479378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.116532408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.116571748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.116990288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.120202798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.120276968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.120321788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"Disabled\"","iteration":2,"elapsed":"134.59µs"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.120597708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":1,"elapsed":"2.223728746s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.122873478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.144925378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"listed attached subnets","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.145382068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.145464578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2.166702826s"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:04.146263638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"d5b1f90b-ef52-4590-80d6-35256cb91406","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":1701310,"response_code":200} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.155245438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2.235730906s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:04.156318338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.156350628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.156371628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.156391538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.162150138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 DNS config","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:04.163764108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.163811298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2.524051385s"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.179972058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2.264122876s"} {"msg":"failed to read DNS config","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:04.207585258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.207706938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2.578690895s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.215130628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.242880188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.243685218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"NoSitrep\"","iteration":1,"elapsed":"2.289321436s"} {"msg":"reprocessing 0 outdated webhook globs...","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:04.399600208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.399943378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.400107258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.400661658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"session cleanup found no expired sessions","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.407496568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","cutoff":"2026-06-03 21:07:01.978992942 UTC"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.408450088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"session_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"cutoff\":\"2026-06-03T21:07:01.978992942Z\",\"deleted\":0,\"error\":null,\"limit\":10000}","iteration":1,"elapsed":"2.429464346s"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.408745868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2.471172236s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.409064948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.414977278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.415066968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.415427538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.419560838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"audit log timeout: no stale entries found","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.421096468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","cutoff":"2026-06-04 17:07:01.980281082 UTC"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.423143258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"audit_log_timeout_incomplete","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"cutoff\":\"2026-06-04T17:07:01.980281082Z\",\"error\":null,\"max_timed_out_per_activation\":1000,\"timed_out\":0}","iteration":1,"elapsed":"2.442917996s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:04.424084748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.424155378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.435045967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"all instance checks complete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:04.443286597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.443394877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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.522629235s"} {"msg":"audit log cleanup: no old entries to delete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.443661237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","cutoff":"2026-03-06 21:07:01.983188702 UTC"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.443688787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"audit_log_cleanup","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"cutoff\":\"2026-03-06T21:07:01.983188702Z\",\"error\":null,\"max_deleted_per_activation\":10000,\"rows_deleted\":0}","iteration":1,"elapsed":"2.460540805s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:04.478403447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.528806917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.528871447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.528891177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.540180477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.552959597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.584727777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.584908987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.584973777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.586068437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:04.587973787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.631535007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.631643337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.631717247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.637109157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"webhook dispatching completed successfully","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:04.639285677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.639464737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"alert_dispatcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"dispatched\":[],\"errors\":[],\"glob_version\":\"261.0.0\",\"globs_reprocessed\":{},\"no_receivers\":[]}","iteration":1,"elapsed":"2.690312855s"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:04.639857867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.640101047Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.640298147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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.718910715s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:04.640514647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.640579757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.640630127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.640669197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.641086897Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.740043627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:04.740234207Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"trust_quorum_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"PerRackStatus\":{\"errors\":[],\"statuses\":[]}}","iteration":1,"elapsed":"2.771932555s"} {"msg":"failed to read Silo/DNS/TLS configuration","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:05.013632736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.015788976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"3.368840343s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:05.022628326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.030156226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.030235576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.032704056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.032781646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.032825016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.051619396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.077788346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.077829596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.077847886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.082356616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.085604826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.095832996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.117539046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.150108656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.151384916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.152551746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.155228566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.155258416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.155276886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.155583716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.160739656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.160787146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.160808336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.160828286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.160846726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.174332036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.307091486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/sled-agents/b6d65341-167c-41df-9b5c-41cded99c229","method":"POST","req_id":"be801c06-7e94-49b6-aa47-eb551e1e5dc4","remote_addr":"127.0.0.1:33947","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":1375057,"response_code":204} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:05.319561856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.349421756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.349498946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.349520416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.350568956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:05.425701826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"NexusClient","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","result":"Ok(Response { url: \"http://127.0.0.1:56440/sled-agents/b6d65341-167c-41df-9b5c-41cded99c229\", status: 204, headers: {\"x-request-id\": \"be801c06-7e94-49b6-aa47-eb551e1e5dc4\", \"date\": \"Thu, 04 Jun 2026 21:07:05 GMT\"} })"} {"msg":"VPC route manager sled b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:05.694036935Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.722801995Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc-routes","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:05.897681264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.897734374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.897756654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.897776664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.899563844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:05.900564974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"3.960815582s"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:05.900666064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.900688354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.900710874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.900732214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.901174284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:05.903530104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.903580414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.903603014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:05.904013434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"Running step configure_boundary_ntp","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:05.904872274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Running step start_crucible_pantry","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:05.904908464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:05.905820074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.905875664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.905897184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.905915734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.905941054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.905958564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.905976954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.905997584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.906017124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.906039934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.906059504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.906079384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.906679394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","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-04T21:07:05.906709874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","address":"[::1]:56314"} {"msg":"Running step populate_internal_dns","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:05.906726704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Populating Internal DNS","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:05.906741674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"DNS population: DnsConfigParams {\n generation: Generation(\n 1,\n ),\n serial: 1,\n time_created: 2026-06-04T21:07:06.039101944Z,\n zones: [\n DnsConfigZone {\n zone_name: \"control-plane.oxide.internal\",\n records: {\n \"b6d65341-167c-41df-9b5c-41cded99c229.sled\": [\n Aaaa(\n ::1,\n ),\n ],\n \"ns1\": [\n Aaaa(\n ::1,\n ),\n ],\n \"d87c7e62-16f6-4d93-9b90-c358d2c1def5.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: \"782c2890-151c-4377-8fd2-0b989ed8df47.host.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: \"782c2890-151c-4377-8fd2-0b989ed8df47.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_dendrite._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 64395,\n target: \"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"40625d46-1bef-4069-bd40-abf4bc8e045c.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"782c2890-151c-4377-8fd2-0b989ed8df47.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"_nexus._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 56440,\n target: \"913233fe-92a8-4635-9572-183f495429c4.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: \"b2860509-35ad-4395-bfee-8c1ad2330001.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_mgd._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 54691,\n target: \"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_repo-depot._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 46722,\n target: \"b6d65341-167c-41df-9b5c-41cded99c229.sled.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_mgs._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 44179,\n target: \"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_crucible-pantry._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 56314,\n target: \"40625d46-1bef-4069-bd40-abf4bc8e045c.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"@\": [\n Ns(\n \"ns1.control-plane.oxide.internal\",\n ),\n ],\n \"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"b2860509-35ad-4395-bfee-8c1ad2330001.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"boundary-ntp\": [\n Aaaa(\n ::1,\n ),\n ],\n \"913233fe-92a8-4635-9572-183f495429c4.host\": [\n Aaaa(\n ::ffff:127.0.0.1,\n ),\n ],\n \"_oximeter-reader._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 9000,\n target: \"782c2890-151c-4377-8fd2-0b989ed8df47.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"8125a828-517a-4af4-bafc-c6209b62eab1.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"_clickhouse._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 61911,\n target: \"782c2890-151c-4377-8fd2-0b989ed8df47.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_external-dns._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 55363,\n target: \"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.host\": [\n Aaaa(\n ::1,\n ),\n ],\n \"_nexus-lockstep._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 57288,\n target: \"913233fe-92a8-4635-9572-183f495429c4.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_nameservice._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 61753,\n target: \"d87c7e62-16f6-4d93-9b90-c358d2c1def5.host.control-plane.oxide.internal\",\n },\n ),\n ],\n \"_cockroach._tcp\": [\n Srv(\n Srv {\n prio: 0,\n weight: 0,\n port: 63899,\n target: \"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal\",\n },\n ),\n ],\n },\n },\n ],\n}","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.039494734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.039616934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"body":"Some(Body)","uri":"http://[::1]:61753/config","method":"PUT"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.039962754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:51411"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.045113524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.048532734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.048582244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.048603394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.048802304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.049883894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.049921054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.049956284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.049976124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.050262784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"No bundles to collect","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.051485954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.051842684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4.437148971s"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.151103094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.151609424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:61753","component":"http","kind":"dns","component":"internal_dns_server","remote_addr":"[::1]:62735"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.151977214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:64809"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.152242394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"f5ee3490-2aa9-494a-a887-2fa90c4bb467","remote_addr":"[::1]:51411","local_addr":"[::1]:43004","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-04T21:07:06.152268904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"f5ee3490-2aa9-494a-a887-2fa90c4bb467","remote_addr":"[::1]:51411","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.153023414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"f5ee3490-2aa9-494a-a887-2fa90c4bb467","remote_addr":"[::1]:51411","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":721,"response_code":200} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.153217224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.155728394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.155769084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.155792214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.156008824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.156867704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.159031514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.159143344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.159170134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.159408524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.160445064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.171291764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.171368964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.171408204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.171487524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.171562854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.173383564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.177738494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"sitrep GC completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.180383434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.180679324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4.215452052s"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.182121794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"e99d1a95-c9fd-449b-861a-ac0bad73cc1f","remote_addr":"[::1]:64809","local_addr":"[::1]:43004","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-04T21:07:06.182169284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"e99d1a95-c9fd-449b-861a-ac0bad73cc1f","remote_addr":"[::1]:64809","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.183443364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc-routes\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f5ee3490-2aa9-494a-a887-2fa90c4bb467\", \"content-length\": \"2\", \"date\": \"Thu, 04 Jun 2026 21:07:06 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.183598374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.183625774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.184006874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.195001534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"e99d1a95-c9fd-449b-861a-ac0bad73cc1f","remote_addr":"[::1]:64809","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":12867,"response_code":200} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.195212634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.197856814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.197889234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.197911274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.198178944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.199237404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.199262034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.199282734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.199301164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.199543104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.200855054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.200909904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.200926994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.200949034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.200968674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.200987304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.319588964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:43004/probes","method":"PUT"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.322390724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:46006"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.322581404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"PUT","req_id":"c2230a03-4e9a-460c-bc46-e7c8d9c88016","remote_addr":"[::1]:62735","local_addr":"[::1]:61753","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-04T21:07:06.322613734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"PUT","req_id":"c2230a03-4e9a-460c-bc46-e7c8d9c88016","remote_addr":"[::1]:62735","local_addr":"[::1]:61753","component":"http","kind":"dns","component":"internal_dns_server","version":"2.0.0"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.322865444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e99d1a95-c9fd-449b-861a-ac0bad73cc1f\", \"content-length\": \"2\", \"date\": \"Thu, 04 Jun 2026 21:07:06 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.322953224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.322974924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.323007414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.323216104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":1,"elapsed":"4.413853182s"} {"msg":"attempting generation update","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.323643254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_generation":1,"req_id":"c2230a03-4e9a-460c-bc46-e7c8d9c88016","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-04T21:07:06.323691544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server"} {"msg":"creating tree","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.323707014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.324492394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server"} {"msg":"flushing default tree","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.327121264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.327713544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","keep":3} {"msg":"updated generation","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.327740964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_generation":1,"req_id":"c2230a03-4e9a-460c-bc46-e7c8d9c88016","component":"store","component":"internal_dns_server"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.328164894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"PUT","req_id":"c2230a03-4e9a-460c-bc46-e7c8d9c88016","remote_addr":"[::1]:62735","local_addr":"[::1]:61753","component":"http","kind":"dns","component":"internal_dns_server","latency_us":5603,"response_code":204} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.329763094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/probes","method":"PUT","req_id":"dfc76cdf-9a12-4d6a-b1dc-d42822b254ae","remote_addr":"[::1]:46006","local_addr":"[::1]:43004","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-04T21:07:06.329847534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/probes","method":"PUT","req_id":"dfc76cdf-9a12-4d6a-b1dc-d42822b254ae","remote_addr":"[::1]:46006","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.329868814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:25095","req_id":"83eb7e5c-3eca-4299-ac03-7e1e45cd87ea","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: 31 5b 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 1[..........._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-04T21:07:06.329898244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:25095","req_id":"83eb7e5c-3eca-4299-ac03-7e1e45cd87ea","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 12635,\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-04T21:07:06.330042734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.330125564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.330262574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:25095","req_id":"83eb7e5c-3eca-4299-ac03-7e1e45cd87ea","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: 44179, 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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.335050114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/probes","method":"PUT","req_id":"dfc76cdf-9a12-4d6a-b1dc-d42822b254ae","remote_addr":"[::1]:46006","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":5383,"response_code":204} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.335391234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.335440874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.335463414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.335819964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.336593794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.340797934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.340855434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.340876144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.341124854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.342104324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.342132704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.342154854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.342175784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.342601504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.344109604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(Response { url: \"http://[::1]:61753/config\", status: 204, headers: {\"x-request-id\": \"c2230a03-4e9a-460c-bc46-e7c8d9c88016\", \"date\": \"Thu, 04 Jun 2026 21:07:06 GMT\"} })"} {"msg":"Running step configure_sled_agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.344204774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.451775763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"body":"Some(Body)","uri":"http://[::1]:43004/omicron-config","method":"PUT"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.455663613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 44179, 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: 1093, tv_nsec: 917450236 } })","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-04T21:07:06.455721823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.456186703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:43004/probes\", status: 204, headers: {\"x-request-id\": \"dfc76cdf-9a12-4d6a-b1dc-d42822b254ae\", \"date\": \"Thu, 04 Jun 2026 21:07:06 GMT\"} })"} {"msg":"Update set of probes on sled","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.456220803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","n_probes":0,"sled_id":"b6d65341-167c-41df-9b5c-41cded99c229"} {"msg":"finished distributing probes to sleds","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.456326553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.456443303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"probe_distributor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"errors\":[],\"probes_by_sled\":{\"b6d65341-167c-41df-9b5c-41cded99c229\":0}}","iteration":1,"elapsed":"4.490134211s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.456686403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.462505273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.462581413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.462605673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.462804153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.465696823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.465723083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.465744793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.465764673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.466046093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"computed internet gateway mappings for sled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.466724283Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.466862283Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/eip-gateways","method":"PUT"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.467076303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.470526223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.470593343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.470613713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.471565703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.474151533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:52191"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.474309063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"163475bd-2a12-4cf3-a185-aace52abaf58","remote_addr":"[::1]:51411","local_addr":"[::1]:43004","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-04T21:07:06.474332933Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"163475bd-2a12-4cf3-a185-aace52abaf58","remote_addr":"[::1]:51411","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.482426343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"163475bd-2a12-4cf3-a185-aace52abaf58","remote_addr":"[::1]:51411","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":8106,"response_code":204} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.482558733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.491226133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.491282163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.491303563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.491650903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.493008373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.493242093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.493350523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"tuf_repo_prune decision","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.494057603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.494261073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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.377779435s"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.500290333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:47069","req_id":"6e868909-d5ff-47a1-be6d-efa07ce20a7a","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 81 2b 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-04T21:07:06.500368743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:47069","req_id":"6e868909-d5ff-47a1-be6d-efa07ce20a7a","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 33067,\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-04T21:07:06.500525883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.500599143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:47069","req_id":"6e868909-d5ff-47a1-be6d-efa07ce20a7a","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-04T21:07:06.500786953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/eip-gateways\", status: 204, headers: {\"x-request-id\": \"163475bd-2a12-4cf3-a185-aace52abaf58\", \"date\": \"Thu, 04 Jun 2026 21:07:06 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.501034443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":1,"elapsed":"4.576704621s"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.501075633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.501093883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.501111253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.501130643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.501149913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.501168213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.506241353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.508076923Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:43004/artifacts-config","method":"PUT"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.508690513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:63572"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.666662453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_clickhouse-admin-keeper._tcp.control-plane.oxide.internal"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.667822853Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/omicron-config","method":"PUT","req_id":"1acaad5d-2958-4d60-af75-24d7dfb8e7c4","remote_addr":"[::1]:52191","local_addr":"[::1]:43004","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-04T21:07:06.667975463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/omicron-config","method":"PUT","req_id":"1acaad5d-2958-4d60-af75-24d7dfb8e7c4","remote_addr":"[::1]:52191","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.683954793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/omicron-config","method":"PUT","req_id":"1acaad5d-2958-4d60-af75-24d7dfb8e7c4","remote_addr":"[::1]:52191","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":16813,"response_code":204} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.684089253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.688973343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.689036893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.689058583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.689080413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.689100493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.689298213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.690170113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.690208753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.690439453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.697182403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/artifacts-config","method":"PUT","req_id":"b40db84b-d8c9-4e09-9e8f-63f9dcdc0f4e","remote_addr":"[::1]:63572","local_addr":"[::1]:43004","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-04T21:07:06.697238213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/artifacts-config","method":"PUT","req_id":"b40db84b-d8c9-4e09-9e8f-63f9dcdc0f4e","remote_addr":"[::1]:63572","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.697293073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.697317313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.697372133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.697393253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.697412673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.697751833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 ledger in /var/tmp/omicron_tmp/.tmpDXx8Nl/artifact-config.json","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.702889813Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.702935463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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/.tmpDXx8Nl/artifact-config.json"} {"msg":"No ledger in /var/tmp/omicron_tmp/.tmpOvedVE/artifact-config.json","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.702958863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.702975803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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/.tmpOvedVE/artifact-config.json"} {"msg":"Writing ledger to /var/tmp/omicron_tmp/.tmpDXx8Nl/.artifact-config.json.tmp","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.702994473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"ArtifactStore","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.703487433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.714285083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.716232963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.716284703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.719486543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.721360543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.722201363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.722965983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"Writing ledger to /var/tmp/omicron_tmp/.tmpOvedVE/.artifact-config.json.tmp","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.723982593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"ArtifactStore","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.726726683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.734460913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.734536503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.734557043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.734573103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"Starting delete reconciler","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.739246383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"ArtifactStore","server":"b6d65341-167c-41df-9b5c-41cded99c229","component":"SledAgent","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","generation":1} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.739586663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/artifacts-config","method":"PUT","req_id":"b40db84b-d8c9-4e09-9e8f-63f9dcdc0f4e","remote_addr":"[::1]:63572","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":42442,"response_code":204} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.739773943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.739908643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.739972063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.740077793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.741033863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.749455953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(Response { url: \"http://[::1]:43004/omicron-config\", status: 204, headers: {\"x-request-id\": \"1acaad5d-2958-4d60-af75-24d7dfb8e7c4\", \"date\": \"Thu, 04 Jun 2026 21:07:06 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.752420133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"body":"Some(Body)","uri":"http://[::1]:43004/network-bootstore-config","method":"PUT"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.753178853Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:61808","req_id":"2ea215c3-8f9d-4355-9ef9-951e27cc2473","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 87 (0x57) bytes\n0000: f2 41 01 00 00 01 00 00 00 00 00 01 18 5f 63 6c .A..........._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-04T21:07:06.755286072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:61808","req_id":"2ea215c3-8f9d-4355-9ef9-951e27cc2473","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 62017,\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-04T21:07:06.755586622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"_clickhouse-admin-keeper._tcp"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 62017,\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-04T21:07:06.755772092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:61808","req_id":"2ea215c3-8f9d-4355-9ef9-951e27cc2473","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.755964242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:43004/artifacts-config\", status: 204, headers: {\"x-request-id\": \"b40db84b-d8c9-4e09-9e8f-63f9dcdc0f4e\", \"date\": \"Thu, 04 Jun 2026 21:07:06 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.759538972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:43004/artifacts","method":"GET"} {"msg":"reconfigurator config load complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.763719372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.450767Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.763797852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":2,"elapsed":"66.301169ms"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.764256952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_cockroach._tcp.control-plane.oxide.internal"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.764363692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/artifacts","method":"GET","req_id":"b20cff47-57df-4ecc-8e7e-9d48e04cae29","remote_addr":"[::1]:63572","local_addr":"[::1]:43004","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-04T21:07:06.764402202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/artifacts","method":"GET","req_id":"b20cff47-57df-4ecc-8e7e-9d48e04cae29","remote_addr":"[::1]:63572","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.764489482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/network-bootstore-config","method":"PUT","req_id":"8f25631e-3fdc-4d3e-a630-f266a4f8d4b9","remote_addr":"[::1]:52191","local_addr":"[::1]:43004","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-04T21:07:06.765691382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/network-bootstore-config","method":"PUT","req_id":"8f25631e-3fdc-4d3e-a630-f266a4f8d4b9","remote_addr":"[::1]:52191","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.765736242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/artifacts","method":"GET","req_id":"b20cff47-57df-4ecc-8e7e-9d48e04cae29","remote_addr":"[::1]:63572","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":1077,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.765761762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/network-bootstore-config","method":"PUT","req_id":"8f25631e-3fdc-4d3e-a630-f266a4f8d4b9","remote_addr":"[::1]:52191","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":1004,"response_code":204} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.766733752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:43004/artifacts\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"b20cff47-57df-4ecc-8e7e-9d48e04cae29\", \"content-length\": \"26\", \"date\": \"Thu, 04 Jun 2026 21:07:06 GMT\"} })"} {"msg":"Successfully got artifact list","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.797108732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"tuf_artifact_replication","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled":"http://[::1]:43004"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.801679682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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\":1,\"put_config_err\":0,\"put_config_ok\":1,\"put_err\":0,\"put_ok\":0},\"lifetime_counters\":{\"copy_err\":0,\"copy_ok\":0,\"list_err\":0,\"list_ok\":1,\"put_config_err\":0,\"put_config_ok\":1,\"put_err\":0,\"put_ok\":0},\"local_repos\":0,\"request_debug_ringbuf\":[{\"generation\":1,\"operation\":\"put_config\",\"target_sled\":\"b6d65341-167c-41df-9b5c-41cded99c229\",\"time\":\"2026-06-04T21:07:06.756040742Z\"},{\"operation\":\"list\",\"target_sled\":\"b6d65341-167c-41df-9b5c-41cded99c229\",\"time\":\"2026-06-04T21:07:06.797006432Z\"}]}","iteration":1,"elapsed":"4.85953537s"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.801887852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.801911832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.801939202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.805726332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"VPC route manager sled b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.869272302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.869361902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc-routes","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.876883742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(Response { url: \"http://[::1]:43004/network-bootstore-config\", status: 204, headers: {\"x-request-id\": \"8f25631e-3fdc-4d3e-a630-f266a4f8d4b9\", \"date\": \"Thu, 04 Jun 2026 21:07:06 GMT\"} })"} {"msg":"Running step start_nexus_external","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.877404932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Starting Nexus (external API)","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.877435362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.880900292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:52640"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.880945652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5338","req_id":"502ce929-32ac-4549-8cd1-eacf56b77f3b","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 73 (0x49) bytes\n0000: 9d 8c 01 00 00 01 00 00 00 00 00 01 0a 5f 63 6f ............._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-04T21:07:06.880973242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5338","req_id":"502ce929-32ac-4549-8cd1-eacf56b77f3b","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 40332,\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-04T21:07:06.881042922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.881056272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"8125a828-517a-4af4-bafc-c6209b62eab1.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.881069982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5338","req_id":"502ce929-32ac-4549-8cd1-eacf56b77f3b","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.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: 63899, target: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.882048402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.882074592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.882091992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.882627532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.884928562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 63899, target: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1094, tv_nsec: 346169895 } })","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-04T21:07:06.884985892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\")"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.885004162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"50195db0-d6c6-46aa-8d80-f23141748f65","remote_addr":"[::1]:52640","local_addr":"[::1]:43004","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-04T21:07:06.885029762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"50195db0-d6c6-46aa-8d80-f23141748f65","remote_addr":"[::1]:52640","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:06.885363852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"50195db0-d6c6-46aa-8d80-f23141748f65","remote_addr":"[::1]:52640","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":839,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.896795682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc-routes\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"50195db0-d6c6-46aa-8d80-f23141748f65\", \"content-length\": \"2\", \"date\": \"Thu, 04 Jun 2026 21:07:06 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.896862432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.896889582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.898730632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.899499972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.906249292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.906313202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.906330062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.906350382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.906371402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.906391712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.906660162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.909561942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.909595322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:06.910156252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:06.911810562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:59256","req_id":"90accb68-92d2-44a0-a810-62c4100509f0","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 99 (0x63) bytes\n0000: a3 8b 01 00 00 01 00 00 00 00 00 01 24 38 31 32 ............$812\n0010: 35 61 38 32 38 2d 35 31 37 61 2d 34 61 66 34 2d 5a828-517a-4af4-\n0020: 62 61 66 63 2d 63 36 32 30 39 62 36 32 65 61 62 bafc-c6209b62eab\n0030: 31 04 68 6f 73 74 0d 63 6f 6e 74 72 6f 6c 2d 70 1.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-04T21:07:06.911842582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:59256","req_id":"90accb68-92d2-44a0-a810-62c4100509f0","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 41867,\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(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 36,\n 56,\n 49,\n 50,\n 53,\n 97,\n 56,\n 50,\n 56,\n 45,\n 53,\n 49,\n 55,\n 97,\n 45,\n 52,\n 97,\n 102,\n 52,\n 45,\n 98,\n 97,\n 102,\n 99,\n 45,\n 99,\n 54,\n 50,\n 48,\n 57,\n 98,\n 54,\n 50,\n 101,\n 97,\n 98,\n 49,\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-04T21:07:06.912164742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"8125a828-517a-4af4-bafc-c6209b62eab1.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:06.912188292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:59256","req_id":"90accb68-92d2-44a0-a810-62c4100509f0","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.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-04T21:07:07.023396742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.023520462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.023542722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mgs_url":"http://[::1]:44179"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.023744452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/ignition","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.024394712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.027394122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.027455832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.027476072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.027492572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fetched allowlist from DB","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.034861332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:38.929156Z, time_modified: 2026-06-04T21:06:38.929156Z, allowed_ips: None }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.034959712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.034983342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.045471042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.049147902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.049583032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.050118002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.053004662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/ignition\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6c59e4b0-7319-41d8-81ee-8dd6a87176cb\", \"content-length\": \"835\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.053511732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.061556742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.061604402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.062182502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.062908952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.062952062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/eip-gateways","method":"PUT"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.064545452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"f3f1351d-148d-437c-8ac4-c857a3d054a1","remote_addr":"[::1]:52640","local_addr":"[::1]:43004","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-04T21:07:07.064599122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"f3f1351d-148d-437c-8ac4-c857a3d054a1","remote_addr":"[::1]:52640","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:07.064620502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"f3f1351d-148d-437c-8ac4-c857a3d054a1","remote_addr":"[::1]:52640","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":300,"response_code":204} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.064642122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/eip-gateways\", status: 204, headers: {\"x-request-id\": \"f3f1351d-148d-437c-8ac4-c857a3d054a1\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.064669842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":2,"elapsed":"563.369769ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.067705282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.067756552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.068510452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.074609142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5980e7f4-9f29-4058-aaf7-19ba62945a31\", \"content-length\": \"734\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.075553072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0/component/sp/caboose?firmware_slot=0","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.076150472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.076213362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.076239162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.076258792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.076953022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.081183382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.081357282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.081409132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.081874542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.087747142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.087814142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.087836212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.088164232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.097144402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.113763322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.113824492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.113840762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.113867352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.113887662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.113905502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.114860462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.116887892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5cb778a2-c1c3-4359-912f-faa762d8877f\", \"content-length\": \"111\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.117248402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0/component/sp/caboose?firmware_slot=1","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.117525932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.117550632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.117571862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.118056802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.120942052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.120995262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.121283512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.122711252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.122873982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.122937522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.125997212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.127520252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"36ce89b6-6f51-4450-870c-1203b97c7fbf\", \"content-length\": \"111\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.128339902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0/component/rot/caboose?firmware_slot=0","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.136883012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.148743202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.148813972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.148835762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.149186842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.151105932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"44c0d2f9-6903-429d-99a6-986266ea1ea1\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.151275222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.152951082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"32ca2732-d9b2-4b31-86fc-08237e78c767\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.153077912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/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-04T21:07:07.153666602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.153691112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.154132532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.163785912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.163856412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.169196072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.178733072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"3d207a81-dce2-4b49-a412-46fd652a4f34\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.178942512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/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-04T21:07:07.182436302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.182498662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.182911872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.192810382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"355e7a0f-a365-4fea-acfc-12d86ef1ca90\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.193607982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0/component/rot/cmpa","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.193868952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.193892542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.197156022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.198800382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"86dc5432-fd4e-41b6-a6c9-c72fe1017fc3\", \"content-length\": \"702\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.199029522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/0/component/rot/cfpa","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.199928592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.199975272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.200000132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.200023072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.202482762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.203682492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.203753722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.203774582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.203793252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.204043212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.205381592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"cfcb0789-ae5b-4f9e-83b2-58868b476c36\", \"content-length\": \"727\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.205602872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/0/component/rot/cfpa","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.206378472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.206415312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.206464942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.206585952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.209219132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"7522880c-e2fa-49c9-9c27-abe48af9de82\", \"content-length\": \"729\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.209317372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/0/component/rot/cfpa","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.209720962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.209768622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.209788732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.210007072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.211135112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.214389812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.214415782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.214434502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.214449142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.216854432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.229017632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.229098272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.229116132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.229144522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.229164092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.229182832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.229814912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.240281432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5d0471aa-e399-47ab-a537-dcad85f02e69\", \"content-length\": \"728\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.240487342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.242931462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.242959282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.247714212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.248724502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.248773572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.248794002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.249200212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.260557952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.260604872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.260637252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.260920282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.262532982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.262677632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.262700082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.263155932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.264676212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"cf26cb6a-7991-41d7-9a6f-11f8e84b4107\", \"content-length\": \"734\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.265504202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/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-04T21:07:07.265888952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.276634962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.276694982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.276717262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.276938632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.278923802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.278973872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.278994342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.279013282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.279748092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.283177302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8edaf077-9448-43db-a849-37a5c25bd4fe\", \"content-length\": \"111\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.283369202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/sp/caboose?firmware_slot=1","method":"GET"} {"msg":"resolved names for firewall rules","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.283772452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"{}","vpc_interfaces":"{}","instance_interfaces":"{}"} {"msg":"resolved firewall rules for sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.283809332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.283830942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","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-04T21:07:07.286474852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.290141082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.290195542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.290211302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.290309552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.291802732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.294970492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f13b47ce-3200-464f-96cd-01019f50b8db\", \"content-length\": \"111\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.295108172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/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-04T21:07:07.296247182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a5c11dc6-d75a-4dba-ace2-92eb9e58010c\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.296501212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.299111202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e03a4636-d637-4ee2-ba19-e6d689497297\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.299163112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/stage0/caboose?firmware_slot=0","method":"GET"} {"msg":"Recording Rack Network Configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:07.301976452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.302021132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.302040462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.302309962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.307003722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ed1cc831-3d54-4525-a7e6-39ddc366b8bb\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.307112962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/stage0/caboose?firmware_slot=1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.308716132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6ddfb927-d39b-4ff0-850c-a14d66ae73fd\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.308769932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/rot/cmpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.309787362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d09940dd-b469-4b18-b458-7b03b624c97e\", \"content-length\": \"702\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.309861842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/1/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.313523682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6870d8b5-e611-4576-9458-f421c069d27a\", \"content-length\": \"727\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.313617042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/1/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.314222752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a645f605-5182-457a-8d37-abe16bee00fe\", \"content-length\": \"729\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.314296132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/1/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.315070142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0bcb87d1-1eae-456b-8a8e-92aa489e7ad6\", \"content-length\": \"728\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.315137352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.316266472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"3d12f071-12b5-4fb6-b1a4-6f778d570015\", \"content-length\": \"723\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.316421342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/host-boot-flash/active-slot","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.316968552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/host-boot-flash/active-slot\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"b9833a20-fb2e-4ad3-a1a8-5a4cdd561eed\", \"content-length\": \"10\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.317056362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/host-boot-flash/hash/0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.317589372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/host-boot-flash/hash/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0c2d3976-60fd-4ded-8ff1-edcdea5e4478\", \"content-length\": \"144\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.317701772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/host-boot-flash/hash/1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.318235872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/host-boot-flash/hash/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"00d71481-2b71-4d51-bc22-7059e2dbe4d8\", \"content-length\": \"147\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.318316172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/sp/caboose?firmware_slot=0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.319937972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e0bca853-51fd-4ec0-a830-efd9e8f836ed\", \"content-length\": \"109\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.320024302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/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-04T21:07:07.321052132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e86ed8aa-d028-4492-adfe-39a9485c65e7\", \"content-length\": \"109\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.321101562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/rot/caboose?firmware_slot=0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.321645182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"4aceecca-97c1-4eec-b00b-daea4c35f6a0\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.321722122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.322876572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"24d25a5c-e1e2-4666-9698-0a9cb820583a\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.322934692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/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-04T21:07:07.323292082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"c1a7ec12-1bc2-4467-8206-b792a6cdfa11\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.323340352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/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-04T21:07:07.323910732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"64b27621-a42a-49bd-98c7-92bcf866e15b\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.323978022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/rot/cmpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.324477322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"878ab725-2623-4088-a3b4-b0d2c2cc9be6\", \"content-length\": \"702\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.324569352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/0/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.325814932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"46ec03cf-49ed-44ea-94b4-c85b5b715fb4\", \"content-length\": \"727\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.325854652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/0/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.328457152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8e71a5e4-01a8-4c40-9415-b646a1c05ed1\", \"content-length\": \"729\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.328506682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/0/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.329963182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"13ce2e08-4101-46ec-af95-412600ff8d60\", \"content-length\": \"728\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.330012192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.331974642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"9748e2a5-144b-4fc6-8311-4128b2383e1e\", \"content-length\": \"723\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.332113062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/host-boot-flash/active-slot","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.336594552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/host-boot-flash/active-slot\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a0a79c44-7b19-4e87-b238-1169065c75f6\", \"content-length\": \"10\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.336779292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/host-boot-flash/hash/0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.341968862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/host-boot-flash/hash/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"75e35f01-2ed0-46ad-9be9-82a2f04a9098\", \"content-length\": \"144\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.342249682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/host-boot-flash/hash/1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.343282032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/host-boot-flash/hash/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8248dcb5-21db-477e-a578-93c30436c322\", \"content-length\": \"147\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.343487562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/sp/caboose?firmware_slot=0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.345259212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"58b822af-486c-4e83-a077-6bced8534ca9\", \"content-length\": \"109\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.346770242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/sp/caboose?firmware_slot=1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.347464542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"1c2f2eaa-0d39-4dd3-b0f5-1309d2a3ec6c\", \"content-length\": \"109\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.347534332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/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-04T21:07:07.348783032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f070a4b8-b4f0-4875-ae5c-4c10436ca82f\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.349016132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.350652982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"2a72bbff-f08c-4d3c-98c5-e69821b965ea\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.352727712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/stage0/caboose?firmware_slot=0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.355751602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d0e7a567-8310-442f-9b09-320a0cf4eae3\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.355804092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/stage0/caboose?firmware_slot=1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.357093122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ea165e0f-1bb6-4b2a-9c86-abbce81f3d47\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.357154932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/rot/cmpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.357176282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"335cd675-59e4-4ee3-ab0a-5e2b17d9fa77\", \"content-length\": \"702\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.357201932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/1/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.358161602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"7685ce02-da56-4475-8289-da8a3b1c7abc\", \"content-length\": \"727\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.358216392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/1/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.359099592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"16dc2942-572d-434e-94b0-d535913a1e72\", \"content-length\": \"729\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.359178312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/1/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.359754242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"238cf512-a52c-492c-aab7-91be4f2743d4\", \"content-length\": \"728\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.359828522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.359849362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.359869212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.359887872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.360692312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.361719562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.361758552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.361776792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.361793832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.362196822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.364025032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.369438372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.369485142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.369504192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.369522642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.369541042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.369727912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.370869882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.385392682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.388119982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.388160252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.389739732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.392968532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.401056112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.401114252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.401133842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.415639982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.440363491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: 1d55cb69-dde1-48b4-8d38-d0bef3b330d2, 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-04T21:07:07.440479621Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.440531331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.440568611Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.442238901Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"resolved sleds for vpc oxide-services","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.460043621Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.460121741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.460170931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.460222821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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.537628779s"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.460322081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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.537737589s"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.463540681Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.478230441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: 1d55cb69-dde1-48b4-8d38-d0bef3b330d2, 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-04T21:07:07.478273011Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.478291631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.478600851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"begin collection from Sled Agent","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.581960981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_url":"http://[::1]:43004"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.582100541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"http://[::1]:43004","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:43004/inventory","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:07.585061771Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:51132"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.587525221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/inventory","method":"GET","req_id":"b0310d0e-e9ef-4a58-9e15-5842e1956151","remote_addr":"[::1]:51132","local_addr":"[::1]:43004","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-04T21:07:07.587563541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/inventory","method":"GET","req_id":"b0310d0e-e9ef-4a58-9e15-5842e1956151","remote_addr":"[::1]:51132","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:07.595301301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/inventory","method":"GET","req_id":"b0310d0e-e9ef-4a58-9e15-5842e1956151","remote_addr":"[::1]:51132","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":7777,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.618304091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: da0a2411-28d9-4130-a721-719102a78007, 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-04T21:07:07.619219851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.619320971Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.619340981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.620325541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.621391151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"http://[::1]:43004","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:43004/inventory\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"b0310d0e-e9ef-4a58-9e15-5842e1956151\", \"content-length\": \"20623\", \"date\": \"Thu, 04 Jun 2026 21:07:07 GMT\"} })"} {"msg":"begin collecting all keepers","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.623292441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.623380351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.623399131Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.624968851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:07.641273021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.644979521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: da0a2411-28d9-4130-a721-719102a78007, 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-04T21:07:07.645280691Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.645314551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.645331841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.657640241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: da0a2411-28d9-4130-a721-719102a78007, 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-04T21:07:07.661915481Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.661961911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.661982721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.662595101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.666609421Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.669698471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: da0a2411-28d9-4130-a721-719102a78007, 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-04T21:07:07.679651631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: 1d55cb69-dde1-48b4-8d38-d0bef3b330d2, 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-04T21:07:07.679702961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.679722651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.679741421Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.680142531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.685358201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.691688571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: 1d55cb69-dde1-48b4-8d38-d0bef3b330d2, 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-04T21:07:07.701493521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: 1d55cb69-dde1-48b4-8d38-d0bef3b330d2, 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-04T21:07:07.701542381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.701563511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.701582951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.702020661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.710368841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.712728341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: 1d55cb69-dde1-48b4-8d38-d0bef3b330d2, 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-04T21:07:07.718886451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.718933561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.718954641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.718975261Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.720663801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.727352431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.736904701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.86567321Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","blueprint_id":"d2af2e4d-5629-488c-9cd9-9734b471d829"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:07.86571259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.86573568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.86575845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.8657784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.86751031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.87402078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.87917465Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 networking records for external_dns service","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:07.93225642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.93231527Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.93233469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"No networking records needed for cockroach_db service","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:07.93235147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.95979021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.97277309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.97282623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.97284404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.97286024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.9728783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.97337384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.98640099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.99973303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.9997865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.99980791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.99982844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.99984585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:07.99986002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.00391653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.00770702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.00779199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.00781716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.00788405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.00792182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.00821486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.01213812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.01419953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.04052121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.0405916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.04061478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.04063602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.04336271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.0464051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.0530072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.05304987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.05306898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.05308947Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.05310903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.05338186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.05590222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.05996999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.06465523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.06470696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.06475958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.06477902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.06521399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.06836714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.07599292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.08652771Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.08799578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.09253306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.09259594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Silo { parent: Fleet, key: 9745fd5a-0c69-45f1-8174-57ee2003f2cc, lookup_type: ById(9745fd5a-0c69-45f1-8174-57ee2003f2cc) }","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-04T21:07:08.09267241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"9745fd5a-0c69-45f1-8174-57ee2003f2cc","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-04T21:07:08.09269637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.09271618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.09328241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.09569087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.09572732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.09575137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.09622495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.09815022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.10037908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"InternalApi","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Silo { parent: Fleet, key: 9745fd5a-0c69-45f1-8174-57ee2003f2cc, lookup_type: ById(9745fd5a-0c69-45f1-8174-57ee2003f2cc) }","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-04T21:07:08.10048381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.10310867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.10316215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.10320888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.1032295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.10325045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.1036194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.10568513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.11270009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.11644195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.11654195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.11658143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.11660164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.11728868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.11978004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.12435647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14712979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14720081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14722324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14724794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14770331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14826947Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14830194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14844797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14847549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14849464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14851616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14874217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14902412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14904759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14909162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14911068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14913508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14915845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14918132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.1494379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14976717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14980779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14983303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14986357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.14988416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15000282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15072043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:42355","req_id":"5d406d9f-a44a-46c6-92b5-1c53b28a3d35","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 75 (0x4b) bytes\n0000: 18 eb 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-04T21:07:08.15075831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:42355","req_id":"5d406d9f-a44a-46c6-92b5-1c53b28a3d35","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 6379,\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-04T21:07:08.15088784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15095073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"d87c7e62-16f6-4d93-9b90-c358d2c1def5.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.15098722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:42355","req_id":"5d406d9f-a44a-46c6-92b5-1c53b28a3d35","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"d87c7e62-16f6-4d93-9b90-c358d2c1def5.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: 61753, target: Name(\"d87c7e62-16f6-4d93-9b90-c358d2c1def5.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-04T21:07:08.15105604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4171","req_id":"3d634866-e16b-488d-90bd-d9901f48a40b","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 76 (0x4c) bytes\n0000: 9b bc 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-04T21:07:08.15110836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4171","req_id":"3d634866-e16b-488d-90bd-d9901f48a40b","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 39868,\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-04T21:07:08.1511862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15120511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.15122556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4171","req_id":"3d634866-e16b-488d-90bd-d9901f48a40b","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.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: 55363, target: Name(\"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.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-04T21:07:08.15127993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15130413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15132605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.1514794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15180359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:08.15222588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15225505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15231497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15236669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15249145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15356852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 61753, target: Name(\"d87c7e62-16f6-4d93-9b90-c358d2c1def5.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"d87c7e62-16f6-4d93-9b90-c358d2c1def5.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1095, tv_nsec: 615399673 } })","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-04T21:07:08.1536035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"d87c7e62-16f6-4d93-9b90-c358d2c1def5.host.control-plane.oxide.internal.\")"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.15381888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 55363, target: Name(\"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1095, tv_nsec: 615743703 } })","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-04T21:07:08.15385411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.host.control-plane.oxide.internal.\")"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.15406047Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15955755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15960354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15965152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.15986622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.16049175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.16350085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.16355269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.16357393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.16371729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.16508432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.1691562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.16931567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17269038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17326116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:49517","req_id":"61bf4026-faf8-4b1c-a94a-518387db1e39","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 99 (0x63) bytes\n0000: 03 4f 01 00 00 01 00 00 00 00 00 01 24 64 38 37 .O..........$d87\n0010: 63 37 65 36 32 2d 31 36 66 36 2d 34 64 39 33 2d c7e62-16f6-4d93-\n0020: 39 62 39 30 2d 63 33 35 38 64 32 63 31 64 65 66 9b90-c358d2c1def\n0030: 35 04 68 6f 73 74 0d 63 6f 6e 74 72 6f 6c 2d 70 5.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-04T21:07:08.17331665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:49517","req_id":"61bf4026-faf8-4b1c-a94a-518387db1e39","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 847,\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(\"d87c7e62-16f6-4d93-9b90-c358d2c1def5.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"d87c7e62-16f6-4d93-9b90-c358d2c1def5.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 36,\n 100,\n 56,\n 55,\n 99,\n 55,\n 101,\n 54,\n 50,\n 45,\n 49,\n 54,\n 102,\n 54,\n 45,\n 52,\n 100,\n 57,\n 51,\n 45,\n 57,\n 98,\n 57,\n 48,\n 45,\n 99,\n 51,\n 53,\n 56,\n 100,\n 50,\n 99,\n 49,\n 100,\n 101,\n 102,\n 53,\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-04T21:07:08.17348415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"d87c7e62-16f6-4d93-9b90-c358d2c1def5.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.1735235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:49517","req_id":"61bf4026-faf8-4b1c-a94a-518387db1e39","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"d87c7e62-16f6-4d93-9b90-c358d2c1def5.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"d87c7e62-16f6-4d93-9b90-c358d2c1def5.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"d87c7e62-16f6-4d93-9b90-c358d2c1def5.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-04T21:07:08.17357091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:20659","req_id":"3a28a213-5377-4e19-974a-e06e06f70e13","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 99 (0x63) bytes\n0000: 86 12 01 00 00 01 00 00 00 00 00 01 24 30 31 36 ............$016\n0010: 65 61 30 63 64 2d 33 37 38 36 2d 34 66 64 33 2d ea0cd-3786-4fd3-\n0020: 38 65 65 35 2d 66 38 36 63 34 64 36 64 66 38 34 8ee5-f86c4d6df84\n0030: 31 04 68 6f 73 74 0d 63 6f 6e 74 72 6f 6c 2d 70 1.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-04T21:07:08.17361115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:20659","req_id":"3a28a213-5377-4e19-974a-e06e06f70e13","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 34322,\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(\"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 36,\n 48,\n 49,\n 54,\n 101,\n 97,\n 48,\n 99,\n 100,\n 45,\n 51,\n 55,\n 56,\n 54,\n 45,\n 52,\n 102,\n 100,\n 51,\n 45,\n 56,\n 101,\n 101,\n 53,\n 45,\n 102,\n 56,\n 54,\n 99,\n 52,\n 100,\n 54,\n 100,\n 102,\n 56,\n 52,\n 49,\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-04T21:07:08.17370256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.17371823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:20659","req_id":"3a28a213-5377-4e19-974a-e06e06f70e13","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"016ea0cd-3786-4fd3-8ee5-f86c4d6df841.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-04T21:07:08.17412471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"dns_servers_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","addresses":"DnsServersList { addresses: [[::1]:61753] }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.17419036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"dns_servers_internal","dns_group":"internal","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"addresses\":[\"[::1]:61753\"]}","iteration":2,"elapsed":"25.92083ms"} {"msg":"found DNS servers (initial)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.17435389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"dns_servers_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","addresses":"DnsServersList { addresses: [[::1]:55363] }"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.17437662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"dns_servers_external","dns_group":"external","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"addresses\":[\"[::1]:55363\"]}","iteration":2,"elapsed":"25.34608ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.17439769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17442485Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17444644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"16.95µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.17447049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17448952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17450738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"5.37µs"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:08.17452705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Blueprint { parent: Fleet, key: d2af2e4d-5629-488c-9cd9-9734b471d829, lookup_type: ById(d2af2e4d-5629-488c-9cd9-9734b471d829) }","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-04T21:07:08.17455311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17457807Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17459976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17489925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17593953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17598781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17602378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17604354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.17689927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.1798927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.18352393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Blueprint { parent: Fleet, key: d2af2e4d-5629-488c-9cd9-9734b471d829, lookup_type: ById(d2af2e4d-5629-488c-9cd9-9734b471d829) }","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-04T21:07:08.18356697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.18358821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.18381774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.18451739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.18818604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.1882227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.18824644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.18841394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.20689089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.20694246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.20696079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.20697726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.20700154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.20702288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.20704854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.20793769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.21087189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.21449544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.21454021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.21460375Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.21486184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.21567931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.2157431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.21578361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.21580059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.21582006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.21584019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.2158595Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.21591906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.21780141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.22277831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.2228302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.2228537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.2231278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"found zones","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.22430801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.22436091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"119fc8ae-49d0-49ed-800f-2b666b2fe673"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:08.22439031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.22441223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.2244373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.22446142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.22530269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:08.22622549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.22629225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.2263298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.22635361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.2266088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.22711631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.22719726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0bb2d051-78c2-44b8-ac70-ef8c8a98b7f0"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:08.22722219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.227246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.22726773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.2272916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.22746681Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.22795313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23137602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23143173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23148088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23163191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23207402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23544267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23549528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23551696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23570485Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23631559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23940469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23944977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23947318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.23963498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"found all DNS names for zone","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.24057996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"119fc8ae-49d0-49ed-800f-2b666b2fe673"} {"msg":"read DNS config","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.24062721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.24065019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.2406678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"93.54498ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.2407229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.3538965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"dns_server_url":"http://[::1]:61753","servers":"DnsServersList { addresses: [[::1]:61753] }","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]:61753/config","method":"PUT"} {"msg":"found Silo/DNS/TLS config (initial)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.35511674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:00.153908Z, time_modified: 2026-06-04T21:07:00.153908Z, 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: 9745fd5a-0c69-45f1-8174-57ee2003f2cc, db_silo: Silo { identity: SiloIdentity { id: 9745fd5a-0c69-45f1-8174-57ee2003f2cc, name: Name(Name(\"test-suite-silo\")), description: \"built-in recovery Silo\", time_created: 2026-06-04T21:07:07.996900Z, time_modified: 2026-06-04T21:07:07.996900Z, 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: 9745fd5a-0c69-45f1-8174-57ee2003f2cc, dns_name: \"test-suite-silo.sys.oxide-dev.test\" }], default_endpoint: Some(ExternalEndpoint { silo_id: 9745fd5a-0c69-45f1-8174-57ee2003f2cc, db_silo: Silo { identity: SiloIdentity { id: 9745fd5a-0c69-45f1-8174-57ee2003f2cc, name: Name(Name(\"test-suite-silo\")), description: \"built-in recovery Silo\", time_created: 2026-06-04T21:07:07.996900Z, time_modified: 2026-06-04T21:07:07.996900Z, 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-04T21:07:08.35519033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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\":\"9745fd5a-0c69-45f1-8174-57ee2003f2cc\",\"tls_certs\":[]}},\"default_endpoint\":{\"silo_id\":\"9745fd5a-0c69-45f1-8174-57ee2003f2cc\",\"tls_certs\":[]},\"warnings\":[\"silo 001de000-5110-4000-8000-000000000000 with DNS name \\\"default-silo.sys.oxide-dev.test\\\" has no usable certificates\",\"silo 9745fd5a-0c69-45f1-8174-57ee2003f2cc with DNS name \\\"test-suite-silo.sys.oxide-dev.test\\\" has no usable certificates\"]}","iteration":2,"elapsed":"206.05107ms"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.35552754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:61753","component":"http","kind":"dns","component":"internal_dns_server","remote_addr":"[::1]:37961"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:08.35623201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"PUT","req_id":"e9ed5d59-cfdf-4903-aba0-102bbabb8ff0","remote_addr":"[::1]:37961","local_addr":"[::1]:61753","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-04T21:07:08.35783342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"PUT","req_id":"e9ed5d59-cfdf-4903-aba0-102bbabb8ff0","remote_addr":"[::1]:37961","local_addr":"[::1]:61753","component":"http","kind":"dns","component":"internal_dns_server","version":"2.0.0"} {"msg":"attempting generation update","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.35846405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_generation":1,"req_id":"e9ed5d59-cfdf-4903-aba0-102bbabb8ff0","component":"store","component":"internal_dns_server"} {"msg":"updated generation","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.35857098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_generation":1,"req_id":"e9ed5d59-cfdf-4903-aba0-102bbabb8ff0","component":"store","component":"internal_dns_server"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.35861439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"PUT","req_id":"e9ed5d59-cfdf-4903-aba0-102bbabb8ff0","remote_addr":"[::1]:37961","local_addr":"[::1]:61753","component":"http","kind":"dns","component":"internal_dns_server","latency_us":2420,"response_code":204} {"msg":"found all DNS names for zone","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.35875604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0bb2d051-78c2-44b8-ac70-ef8c8a98b7f0"} {"msg":"read DNS config","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.35880636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.35882842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.35884684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"210.36656ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.35886901Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.473755929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"dns_server_url":"http://[::1]:55363","servers":"DnsServersList { addresses: [[::1]:55363] }","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]:55363/config","method":"PUT"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.474213259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:55363","component":"http","kind":"dns","component":"external_dns_server","remote_addr":"[::1]:39687"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.474723159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"dns_server_url":"http://[::1]:61753","servers":"DnsServersList { addresses: [[::1]:61753] }","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]:61753/config\", status: 204, headers: {\"x-request-id\": \"e9ed5d59-cfdf-4903-aba0-102bbabb8ff0\", \"date\": \"Thu, 04 Jun 2026 21:07:08 GMT\"} })"} {"msg":"DNS server now at generation 1","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.474766429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"dns_server_url":"http://[::1]:61753","servers":"DnsServersList { addresses: [[::1]:61753] }","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-04T21:07:08.474872469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"servers":"DnsServersList { addresses: [[::1]:61753] }","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-04T21:07:08.474944419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:61753\":{\"Ok\":null}}}","iteration":3,"elapsed":"234.230629ms"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:08.475490859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"PUT","req_id":"ba75c400-5a35-41bd-984d-6b956c1c353b","remote_addr":"[::1]:39687","local_addr":"[::1]:55363","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-04T21:07:08.475533299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"PUT","req_id":"ba75c400-5a35-41bd-984d-6b956c1c353b","remote_addr":"[::1]:39687","local_addr":"[::1]:55363","component":"http","kind":"dns","component":"external_dns_server","version":"2.0.0"} {"msg":"attempting generation update","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.475625479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_generation":2,"req_id":"ba75c400-5a35-41bd-984d-6b956c1c353b","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-04T21:07:08.475671389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"external_dns_server"} {"msg":"creating tree","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.475689869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.475907529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"external_dns_server"} {"msg":"flushing default tree","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.476027979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.476093069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"external_dns_server","keep":3} {"msg":"updated generation","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.476107989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_generation":2,"req_id":"ba75c400-5a35-41bd-984d-6b956c1c353b","component":"store","component":"external_dns_server"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.476161859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"PUT","req_id":"ba75c400-5a35-41bd-984d-6b956c1c353b","remote_addr":"[::1]:39687","local_addr":"[::1]:55363","component":"http","kind":"dns","component":"external_dns_server","latency_us":689,"response_code":204} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.480187599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"dns_server_url":"http://[::1]:55363","servers":"DnsServersList { addresses: [[::1]:55363] }","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]:55363/config\", status: 204, headers: {\"x-request-id\": \"ba75c400-5a35-41bd-984d-6b956c1c353b\", \"date\": \"Thu, 04 Jun 2026 21:07:08 GMT\"} })"} {"msg":"DNS server now at generation 2","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.480238569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"dns_server_url":"http://[::1]:55363","servers":"DnsServersList { addresses: [[::1]:55363] }","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-04T21:07:08.480366199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"servers":"DnsServersList { addresses: [[::1]:55363] }","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-04T21:07:08.480432199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:55363\":{\"Ok\":null}}}","iteration":3,"elapsed":"121.551379ms"} {"msg":"found new target blueprint (first find)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.487246409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","time_created":"2026-06-04 21:07:06.877813 UTC","target_id":"d2af2e4d-5629-488c-9cd9-9734b471d829"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.487302509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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\":\"d2af2e4d-5629-488c-9cd9-9734b471d829\",\"time_created\":\"2026-06-04T21:07:06.877813Z\",\"time_found\":\"2026-06-04T21:07:08.487258829Z\"}","iteration":2,"elapsed":"337.561089ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.487397959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.487500039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.487537469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.487567799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.487589769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.488059909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.529450079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.529506959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.529526969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.529548849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.529567629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_executor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","target_id":"d2af2e4d-5629-488c-9cd9-9734b471d829","reason":"blueprint disabled"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.529587179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_executor","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"enabled\":false,\"target_id\":\"d2af2e4d-5629-488c-9cd9-9734b471d829\"}","iteration":2,"elapsed":"125.67µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.529608029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.529628979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.529647529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"Disabled\"","iteration":3,"elapsed":"13.92µs"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:08.530098389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.530140349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.530607729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.532570519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.534866139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.534913229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.534934749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.535113159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.535925199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.536007489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.536029819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.536049199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.536258549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.539224019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.544787429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.544844959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.606582879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606634309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606659559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606679789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606701809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606724779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606745789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606763899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606787799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606808989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606827829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606849719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606872949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606897039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606923139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606949069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.606969719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607041939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607065679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607092309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607110799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607132329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607214249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607235439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607255499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607274749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607292299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607312229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607336279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607355349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607375229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607394709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607412879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607430639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607447859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607468789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607486869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607505699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607522899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607540339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607557879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607575669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607593089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607612219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607631129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607649289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607666649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607684469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607701339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607718569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607737109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607754909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607772439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607790099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607809439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607825389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607841559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607858219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607874889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607890079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607905319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607920699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607936579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607952549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607968379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.607984579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608001259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608017309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608032739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608049749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608067999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608085619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608103279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608118959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608136009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608152409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608168789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608184189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608199569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608215159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608230759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608246719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608262179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608278009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608293869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608310199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608326959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608342489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608358689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608374349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608390889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608406609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608421849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608438179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608454309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608470859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608486839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608502819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608519099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608534799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608551069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608567459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608599529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608615879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608632729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608649069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.608665059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.609641369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.609685529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.609707909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.609799529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.609822749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.609881609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.609904309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610042569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610078679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610097279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610167759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610201499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610226429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610245259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610264909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610286789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610307519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610334219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.610352949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.610375209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610396499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images/{image}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.610413889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images/{image}/demote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.610433759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images/{image}/promote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.610455839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.610532759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026013100.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.610627939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610652139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610675569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610694219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610711699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610732809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610751129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610800119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610818019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.610839609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 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-04T21:07:08.610858749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610879259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610903459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610926429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610946049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610964809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.610983769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611002249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611026139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611047719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611065809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611087899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611112959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611177539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611282949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611321979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611344689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611370019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611468339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611488209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611506339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611527199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611593319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611632129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611657129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611776269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611796989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611816869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611836739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/reboot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.611855109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611904169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611925749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.611947999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/start","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.611966429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/stop","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.611986949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612006769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612024669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612045559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612067379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612108629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612129029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612153759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612176209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612195739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612217599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612287619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612306579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612330739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612351619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612373839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612395139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612460089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612485319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612507489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612527529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612548329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612568239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612589279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612608799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612639469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612657669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612717529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612735299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612755339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612791999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612821079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612843879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612861549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612884009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612904969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612923129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612942989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612963429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.612984159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613030149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613049139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613108949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613131129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613150659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613168239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613184599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613204069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613223809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613240919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613261919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613287829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613304589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613320799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613342349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613361159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613381119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613400279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613418179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613438679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613461599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613481719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613498729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613515859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613531909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613549579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613567669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613584659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613601959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613620379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613639719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613657579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613675279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613693489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613710719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613729829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613746489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613764549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613786419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613805639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613823269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613840909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613863539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613881369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613900909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613922989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613940489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613965279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.613985279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614004979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614023159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614092009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614113849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614141089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614159109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614178919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614199909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614220579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614241949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614258769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614297839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614340619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614363889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614382679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614403869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614421859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614444329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614493469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614513939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614534839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614564619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614583769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614602849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614627319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614644769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614667009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614689149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614775899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614858759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.614988149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615076129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615113569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615137209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615160729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615184499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615206489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615227089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615248939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615298559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615320279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615339969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615364529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615386749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615415789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615436419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615457759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615477459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615497789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615516959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615535399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615576109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615596039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615615339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615638219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615695119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615749629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615800949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615827389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615852559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615871289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615893779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615917209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615941279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615961239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.615980759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616000339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616020249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616040409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616059549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616083539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616163839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616235769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616255149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616275929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616343679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616364939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616383429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616403829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616459089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616481729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616501049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616519949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616539779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616557529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616575219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616595279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616617829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616636229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616655199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616679909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616704809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616723889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616742429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616762269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616784269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616804419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616824539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616842339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616862449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616926069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616946979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616969809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.616991049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617016609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617037629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617124779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617145839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617176959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617194119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617213229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617231149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617277149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617311439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617330339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617349459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617405689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617427129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617449219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617471469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617501529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617521879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617538149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617557799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617651749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617742949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617798639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617841709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617889399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617957259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.617986619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618008479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618027809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618048379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618073029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618155099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618315349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618478689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618515999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618538479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618560599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618585229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618610249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618636079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.618993689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619047649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619200479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619221189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619540389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619574589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619599149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619644609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619794719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619843739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619937229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619969619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.619989839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620012209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620033099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620075689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620105529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620126489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620148949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620173559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620200959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620223889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620247649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620404719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620441769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620468049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620486899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620506119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620525149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620546489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620564289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620607259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620658879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620680979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620699789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620746069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620769649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620788579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620809319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620864699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620896739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620917809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620936609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.620955259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621003229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621098559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621119399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621140089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621170989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621188249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621259839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621279269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621298479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621340519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621361389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621424029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621447199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621468599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621509059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621526129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621545719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621566699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621585999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621603779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621621859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621641459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621659659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621681229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621721619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621741539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621773309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621795249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621813519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621834789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621857819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621880809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621900329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621924259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621945909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.621965169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","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-04T21:07:08.645433859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645493409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645512529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645542219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645573959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645598899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645620809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645640499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645661859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645803369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645827109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645846849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645937819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645959219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645978679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.645997899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646016889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646039289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646059459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646077009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646095569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646116999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646138779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646161449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646183359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646206529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646227489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646247839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646270819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646303849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646323929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646370479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646390819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646410009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646428709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646447239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646465259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646485549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646503579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646523449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646544719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646568549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646633139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646652989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646671839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646692519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646712419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646734159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646752759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646771989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646791369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646844809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646906179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646925139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.646944259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647021089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647048549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647071669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647119519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647169259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647193069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647241139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647292479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647323609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647344299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647420379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647545289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647566629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647585629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647603579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647623119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647643509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647666049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647691169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647713379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647754059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647773629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647791889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647810979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647831319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647849439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647873199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647894109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647916139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647948439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.647969229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648022239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648077179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648099329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648337749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648374569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648394029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648416029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648439939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648463359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648481519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648528929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648547319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648570909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648594629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648614909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648636029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648722619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648741609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648759129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648777829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648802689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648857549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648881249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648900659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648925989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648945269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648963699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.648987459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649006769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649026649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649051809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649070019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649092309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649110139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649128669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649146809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649163039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649184239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649202509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.649311539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.649331979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649351669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images/{image}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.649368019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images/{image}/demote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.649385139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/images/{image}/promote","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.649406029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.649427439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 2026013100.0.0","path":"/v1/instances","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.649444149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649461579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649482739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649522839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649544229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649570349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649629909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649672029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649689659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}","method":"GET"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.649707099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all starting from 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-04T21:07:08.649726729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649750369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649768889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649787379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649808259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649831589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649850669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649871249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649890199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649909229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649932789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649954499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649975699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.649994189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650011479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650029899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650053339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650075419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650094549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650116399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650136309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650154899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650173759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650194239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650214809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650234499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650257029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650275559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650294539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/reboot","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.650315309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650360389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650379029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650399589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/start","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.650418359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","component":"dropshot_external_techport","name":"913233fe-92a8-4635-9572-183f495429c4","versions":"all","path":"/v1/instances/{instance}/stop","method":"POST"} {"msg":"registered endpoint","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.650438169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650455519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650474689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650547389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650589289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650610169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650632239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650651009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650672649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650690459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650710799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650735209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650757979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650778929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650806439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650826019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650849559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650915349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650933959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650951179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650970829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.650986869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651007419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651025559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651044049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651063619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651080509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651100989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651147689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651172569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651190649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651209399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651228479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651252269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651274279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651301659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651355159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651378019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651398379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651415379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651434089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651454769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651473029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651490859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651528919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651549149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651575259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651597979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651617689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651636699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651701359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651720679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651742819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651762379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651784179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651808479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651834419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651858049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651910329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651930709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651950109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651967129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.651985799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652020989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652043419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652065039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652085159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652104299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652129339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652151309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652200129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652221789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652242829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652265429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652285859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652307499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652329599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652352719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652373009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652392439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652415729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652475709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652498379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652517829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652537039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652558089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652576169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652596039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652613609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652633409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652651669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652718789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652762039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652781959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652807939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652872549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652897519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652923969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.652942889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653018479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653041809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653061529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653078719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653097479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653115579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653136879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653160289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653183489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653208259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653246639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653269359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653286969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653306629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653326939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653347749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653366649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653387969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653408939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653427959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653450209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653468539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653491819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653525709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653546469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653599149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653617919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653640159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653659539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653678579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653700069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653721599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653827279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653848979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653873969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653893439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653912209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653939599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.653991219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654060839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654082579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654103079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654127589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654184269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654215799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654239119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654260199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654280589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654311219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654329849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654350569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654420819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654441099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654459739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654481419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654504369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654524809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654570659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654592039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654612769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654633149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654656689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654677159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654695489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654717859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654739169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654758119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654781739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654802859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654822849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654841489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654863959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654885329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654911039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.654934429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655040439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655066009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655117549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655143949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655168239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655192069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655213479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655259059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655280029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655300669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655323409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655343129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655366519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655384669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655408189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655447199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655591649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655662249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655744369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655827469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655857309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655876769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.655900069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656010839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656032849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656055369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656075219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656094159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656116109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656153709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656174069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656198369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656217559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656240979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656265219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656288999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656313589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656337129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656359049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656421389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656444709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656467609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656490099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656509939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656533239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656553299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656578509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656599689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656620559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656641969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656661089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656680069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656699169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656718219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656738589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656759299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656777659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656795469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656821089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656844479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656863379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656886449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656906399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656925709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656945409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656963959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.656984449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657224539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657259739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657300509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657444189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657498579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657541459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657561569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657581519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657604979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657629579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657648789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657668439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657689309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657788539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657810819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657834519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657855639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657878329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657901249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.657983989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658002159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658022809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658041659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658063939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658083699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658103169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658123769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658159129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658177669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658222809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658241739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658262259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658282189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658317819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658337519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658356769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658376089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658394629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658415429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658454739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658476629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658497459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658518339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658538589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658557249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658755749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658818639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658836859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658857609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658878379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658958649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658976499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.658996399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659016309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659034419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659053519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659097369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659116829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659135339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659155169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659174559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659192809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659213109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659237649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659256629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659290309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659307989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659327309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659344559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659362939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659384329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659526079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:43746","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-04T21:07:08.659566249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.659584959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:37127","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-04T21:07:08.659611209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:37127","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-04T21:07:08.659633989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:37127","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:37127","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.659653339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.659669559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","addr":"127.0.0.1:56440"} {"msg":"starting producer registration task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.659687499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.659701419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"file":"oximeter/producer/src/lib.rs:280","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","interval":"10s","address":"127.0.0.1:37127","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-04T21:07:08.659722499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Starting Oximeter","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.659837489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"registered DTrace probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.659850939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter"} {"msg":"starting oximeter server","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:08.659864879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.659909129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter"} {"msg":"registered USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.659923929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:08.659981259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.660008429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.660030859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.660054909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.660100209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.660125149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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:56440","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:08.660145349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:08.814935188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://127.0.0.1:56440/metrics/producers","method":"POST"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.009885888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:09.010878118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:44202"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.011689128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.011735618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.012183258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.013779648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/producers","method":"POST","req_id":"eb947847-4e7f-4d5d-a5cc-02461d8b7dc3","remote_addr":"127.0.0.1:44202","local_addr":"127.0.0.1:56440","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-04T21:07:09.013827718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/producers","method":"POST","req_id":"eb947847-4e7f-4d5d-a5cc-02461d8b7dc3","remote_addr":"127.0.0.1:44202","local_addr":"127.0.0.1:56440","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-04T21:07:09.015346248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"eb947847-4e7f-4d5d-a5cc-02461d8b7dc3","remote_addr":"127.0.0.1:44202","local_addr":"127.0.0.1:56440","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-04T21:07:09.015546058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"eb947847-4e7f-4d5d-a5cc-02461d8b7dc3","remote_addr":"127.0.0.1:44202","local_addr":"127.0.0.1:56440","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-04T21:07:09.015571688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"eb947847-4e7f-4d5d-a5cc-02461d8b7dc3","remote_addr":"127.0.0.1:44202","local_addr":"127.0.0.1:56440","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-04T21:07:09.017088698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:09.018708698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.018740718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.019127998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.027025778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:09.027087308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.027103328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.027519698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.027595868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.027618778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.027636948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.028025738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.029311128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"oximeter database does not exist, or is out-of-date","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:09.033550858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:09.033763878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:09.033792618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:09.034034898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:09.034055278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.036260318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.036308648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.036329688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.036813198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.038817868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.042923958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.042965738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.042987348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.044366778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:09.057286688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/producers","method":"POST","req_id":"eb947847-4e7f-4d5d-a5cc-02461d8b7dc3","remote_addr":"127.0.0.1:44202","local_addr":"127.0.0.1:56440","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":43496,"response_code":503} {"msg":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.057533208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.058337688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/producers\", status: 503, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"eb947847-4e7f-4d5d-a5cc-02461d8b7dc3\", \"content-length\": \"133\", \"date\": \"Thu, 04 Jun 2026 21:07:09 GMT\"} })"} {"msg":"failed to register with Nexus, will retry","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:09.059098058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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\": \"eb947847-4e7f-4d5d-a5cc-02461d8b7dc3\", \"content-length\": \"133\", \"date\": \"Thu, 04 Jun 2026 21:07:09 GMT\"}; value: Error { error_code: Some(\"ServiceNotAvailable\"), message: \"Service Unavailable\", request_id: \"eb947847-4e7f-4d5d-a5cc-02461d8b7dc3\" }","delay":"406.296979ms","count":"0"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.059502278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.065577258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.065644728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.065665488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.065695918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.065717978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.065805678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.065972648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.067436958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.068937458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.072798418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.072862268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.072884878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.073387958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.074838548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.079704078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.079745448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.079765338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.082591048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.085480598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.086972398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.093945208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.094016528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.094041278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.094872628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.096087058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.102281238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.102438268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.102465438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.103124168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.104363538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.110317628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.110423248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.110451588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.110902198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.112024038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.116300268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.116395608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.116426348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.116769248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.118997498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.121399778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.122937768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.123037888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.123061658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.123965768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.126262438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.129786798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.131907338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.132383048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.132422428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.133454908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.136070208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.140152098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.140207118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.140231508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.140457168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.142505488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.143322978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.156040988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.156102388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.156121808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.156142928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.156167238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.156187998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.156381528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.157676118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.160502398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.160784718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.166134578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.166218038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.166241938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.167207178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.167971008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"fetched allowlist from DB","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.170106758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:06:38.929156Z, time_modified: 2026-06-04T21:07:08.112679Z, allowed_ips: None }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.170160438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.170215068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.171294328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.172091778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.176217198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.176413068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.176442678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.176992168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.179921148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.180343188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.180374618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.180881418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.181988718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.187820048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.188159868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.188192488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.189220478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.190264978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.192426508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.192606438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.192683118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.192751168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.192771858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.192916798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.194530598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.196487328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.196633118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.197099888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.197644578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.199767778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.201056408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.201102788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.201124478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.201550948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.202743588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.204400658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.210550258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.210675298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.210692888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.210720838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.210741808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.210762438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.211000458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.212530788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.214927748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.215088238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.215297488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.215326998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.215630228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.216522168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.217732128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.217768258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.217791198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.218097488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.218931478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.220686518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.229862268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.229926188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.229947138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.230197178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.231897218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.234301228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.234335648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.234795158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.236006748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.237857608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.237883118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.238752828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.239424438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.244165578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.246779598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.246827978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.247225568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.248045938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"executing SQL query","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.249997328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.250485868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.250537428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.250776348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.251867188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.252715588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.252821678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.252847918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.252907528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.253157568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.254941798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.255011948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.255036548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.255390828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"inserting current version","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:09.256003998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:09.256806088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:09.257648268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.257753608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.257780128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:09.258277388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"registered USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.261150178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"4ae8bef3-7fea-4b13-9bae-8238e742ed1c","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-04T21:07:09.261958208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:62975","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-04T21:07:09.262003968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:62975","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-04T21:07:09.262025208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:62975","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-04T21:07:09.262046768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:62975","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-04T21:07:09.262065408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:62975","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-04T21:07:09.262456938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:62975","component":"dropshot","component":"oximeter"} {"msg":"registered USDT probes","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.263320768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter"} {"msg":"contacting nexus","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.263354998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.950082166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"Some(Body)","uri":"http://127.0.0.1:56440/metrics/collectors","method":"POST"} {"msg":"will register with Nexus at 127.0.0.1:56440","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:09.950423096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.016666696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://127.0.0.1:56440/metrics/producers","method":"POST"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.017196126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.025490156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.025556966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.025577566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.025606426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.025628876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.025649346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.025883896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.028950826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:33681"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.029058196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:63848"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.030127356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/producers","method":"POST","req_id":"42ccb159-8283-42ca-9a50-65930c10714e","remote_addr":"127.0.0.1:63848","local_addr":"127.0.0.1:56440","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-04T21:07:10.030175496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/producers","method":"POST","req_id":"42ccb159-8283-42ca-9a50-65930c10714e","remote_addr":"127.0.0.1:63848","local_addr":"127.0.0.1:56440","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-04T21:07:10.030347876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"42ccb159-8283-42ca-9a50-65930c10714e","remote_addr":"127.0.0.1:63848","local_addr":"127.0.0.1:56440","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-04T21:07:10.030410116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"42ccb159-8283-42ca-9a50-65930c10714e","remote_addr":"127.0.0.1:63848","local_addr":"127.0.0.1:56440","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-04T21:07:10.030842096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"42ccb159-8283-42ca-9a50-65930c10714e","remote_addr":"127.0.0.1:63848","local_addr":"127.0.0.1:56440","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-04T21:07:10.031667046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.031709946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.031732386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.032063406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.033288486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors","method":"POST","req_id":"fd78251c-d46c-4fd0-b45b-ad6e9e0ec284","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.033331076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors","method":"POST","req_id":"fd78251c-d46c-4fd0-b45b-ad6e9e0ec284","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.033520776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors","method":"POST","req_id":"fd78251c-d46c-4fd0-b45b-ad6e9e0ec284","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.033555856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors","method":"POST","req_id":"fd78251c-d46c-4fd0-b45b-ad6e9e0ec284","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.033880956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors","method":"POST","req_id":"fd78251c-d46c-4fd0-b45b-ad6e9e0ec284","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.039460576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.039495946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.039517576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.039823266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.040817146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:61833","req_id":"c5ce3520-310e-4a61-a9cb-a4427bc717b0","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: 4c cd 01 00 00 01 00 00 00 00 00 01 04 5f 6d 67 L............_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-04T21:07:10.041047006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:61833","req_id":"c5ce3520-310e-4a61-a9cb-a4427bc717b0","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 19661,\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-04T21:07:10.043511596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.043605026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.043650506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:61833","req_id":"c5ce3520-310e-4a61-a9cb-a4427bc717b0","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: 44179, 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-04T21:07:10.043736456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:50911","req_id":"43c3e4b8-9bac-42aa-b01b-2e84c0c53832","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 74 (0x4a) bytes\n0000: db ad 01 00 00 01 00 00 00 00 00 01 0b 5f 72 65 ............._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-04T21:07:10.043823006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:50911","req_id":"43c3e4b8-9bac-42aa-b01b-2e84c0c53832","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 56237,\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-04T21:07:10.043896756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.043910216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.043922906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:50911","req_id":"43c3e4b8-9bac-42aa-b01b-2e84c0c53832","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: 46722, 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-04T21:07:10.043951316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:60312","req_id":"d52db1ee-e1a5-478a-911b-50a364e4e60b","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 79 (0x4f) bytes\n0000: d6 ed 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-04T21:07:10.043974446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:60312","req_id":"d52db1ee-e1a5-478a-911b-50a364e4e60b","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 55021,\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-04T21:07:10.044049906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.044063616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"40625d46-1bef-4069-bd40-abf4bc8e045c.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.044076296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:60312","req_id":"d52db1ee-e1a5-478a-911b-50a364e4e60b","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"40625d46-1bef-4069-bd40-abf4bc8e045c.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: 56314, target: Name(\"40625d46-1bef-4069-bd40-abf4bc8e045c.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":"registered new oximeter metric collection server","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.047311786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","address":"[::1]:62975","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.047566836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors","method":"POST","req_id":"fd78251c-d46c-4fd0-b45b-ad6e9e0ec284","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":14306,"response_code":204} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.050826746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.057601176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.057663116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.057690686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.057884106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.060052146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors\", status: 204, headers: {\"x-request-id\": \"fd78251c-d46c-4fd0-b45b-ad6e9e0ec284\", \"date\": \"Thu, 04 Jun 2026 21:07:10 GMT\"} })"} {"msg":"oximeter registered with nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.060106176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.060129626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"init_with_steps"} {"msg":"Starting test metric Producer Server","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.060144416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.062901066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:40860/v1/system/ip-pools","method":"POST"} {"msg":"starting refresh list task","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.063730976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:562","component":"oximeter"} {"msg":"assigned collector to new producer","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.155296306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.155455376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/producers","method":"POST","req_id":"42ccb159-8283-42ca-9a50-65930c10714e","remote_addr":"127.0.0.1:63848","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":125410,"response_code":201} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.156038196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:53892"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.156286566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","remote_addr":"127.0.0.1:55445"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.156527916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.157152446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 8125a828-517a-4af4-bafc-c6209b62eab1 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\":\"8125a828-517a-4af4-bafc-c6209b62eab1\"}],\"nsuccess\":0}","iteration":2,"elapsed":"1.669738167s"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.157402376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.157509876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:50895","req_id":"70b3bede-0795-4cd0-870d-6c36c977a8fa","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 46 db 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e F...........-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-04T21:07:10.157619036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:50895","req_id":"70b3bede-0795-4cd0-870d-6c36c977a8fa","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 18139,\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-04T21:07:10.157749856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.157807486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:50895","req_id":"70b3bede-0795-4cd0-870d-6c36c977a8fa","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-04T21:07:10.157905206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:49714","req_id":"ef1ec08f-cafc-4845-ad2b-a5c0e8104c0c","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 99 (0x63) bytes\n0000: 8e 3f 01 00 00 01 00 00 00 00 00 01 24 62 36 64 .?..........$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-04T21:07:10.157962166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:49714","req_id":"ef1ec08f-cafc-4845-ad2b-a5c0e8104c0c","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 36415,\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-04T21:07:10.158049936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.158221596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:49714","req_id":"ef1ec08f-cafc-4845-ad2b-a5c0e8104c0c","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-04T21:07:10.158290066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:54196","req_id":"d5bf7929-8d1a-4743-9345-568b0f55037a","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 99 (0x63) bytes\n0000: 9c a9 01 00 00 01 00 00 00 00 00 01 24 34 30 36 ............$406\n0010: 32 35 64 34 36 2d 31 62 65 66 2d 34 30 36 39 2d 25d46-1bef-4069-\n0020: 62 64 34 30 2d 61 62 66 34 62 63 38 65 30 34 35 bd40-abf4bc8e045\n0030: 63 04 68 6f 73 74 0d 63 6f 6e 74 72 6f 6c 2d 70 c.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-04T21:07:10.158319976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:54196","req_id":"d5bf7929-8d1a-4743-9345-568b0f55037a","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 40105,\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(\"40625d46-1bef-4069-bd40-abf4bc8e045c.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"40625d46-1bef-4069-bd40-abf4bc8e045c.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 36,\n 52,\n 48,\n 54,\n 50,\n 53,\n 100,\n 52,\n 54,\n 45,\n 49,\n 98,\n 101,\n 102,\n 45,\n 52,\n 48,\n 54,\n 57,\n 45,\n 98,\n 100,\n 52,\n 48,\n 45,\n 97,\n 98,\n 102,\n 52,\n 98,\n 99,\n 56,\n 101,\n 48,\n 52,\n 53,\n 99,\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-04T21:07:10.158441026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"40625d46-1bef-4069-bd40-abf4bc8e045c.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.158457046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:54196","req_id":"d5bf7929-8d1a-4743-9345-568b0f55037a","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"40625d46-1bef-4069-bd40-abf4bc8e045c.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"40625d46-1bef-4069-bd40-abf4bc8e045c.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"40625d46-1bef-4069-bd40-abf4bc8e045c.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-04T21:07:10.158599146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/producers\", status: 201, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"42ccb159-8283-42ca-9a50-65930c10714e\", \"content-length\": \"41\", \"date\": \"Thu, 04 Jun 2026 21:07:10 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-04T21:07:10.158723886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"producer-registration-task","component":"nexus-producer-server","name":"913233fe-92a8-4635-9572-183f495429c4","wait_period":"150s","lease_duration":"600s"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.159165916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"resolved names for firewall rules","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.159452626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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(\"nexus\"): [NetworkInterface { id: 0d4e28a9-a28c-4048-9261-e1921ff845d8, 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 }], Name(\"external-dns\"): [NetworkInterface { id: cf54380d-5ebf-4deb-8677-104ea6480a6d, kind: Service { id: 016ea0cd-3786-4fd3-8ee5-f86c4d6df841 }, name: Name(\"external-dns-016ea0cd-3786-4fd3-8ee5-f86c4d6df841\"), 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 }]}","vpc_interfaces":"{}","instance_interfaces":"{}"} {"msg":"resolved firewall rules for sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.159530486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: cf54380d-5ebf-4deb-8677-104ea6480a6d, kind: Service { id: 016ea0cd-3786-4fd3-8ee5-f86c4d6df841 }, name: Name(\"external-dns-016ea0cd-3786-4fd3-8ee5-f86c4d6df841\"), 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: 0d4e28a9-a28c-4048-9261-e1921ff845d8, 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: cf54380d-5ebf-4deb-8677-104ea6480a6d, kind: Service { id: 016ea0cd-3786-4fd3-8ee5-f86c4d6df841 }, name: Name(\"external-dns-016ea0cd-3786-4fd3-8ee5-f86c4d6df841\"), 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: 0d4e28a9-a28c-4048-9261-e1921ff845d8, 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-04T21:07:10.159612166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","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-04T21:07:10.161357716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"74e7913a-b82c-423e-b2a7-46c4b9c5db09","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.161400626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"74e7913a-b82c-423e-b2a7-46c4b9c5db09","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.162333246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/producers","method":"POST","req_id":"3beb5ce2-857c-4313-a4b3-9fc8e3b93274","remote_addr":"127.0.0.1:53892","local_addr":"127.0.0.1:56440","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-04T21:07:10.162460056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/producers","method":"POST","req_id":"3beb5ce2-857c-4313-a4b3-9fc8e3b93274","remote_addr":"127.0.0.1:53892","local_addr":"127.0.0.1:56440","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-04T21:07:10.164710366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"74e7913a-b82c-423e-b2a7-46c4b9c5db09","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.164793896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"74e7913a-b82c-423e-b2a7-46c4b9c5db09","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.166265706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"74e7913a-b82c-423e-b2a7-46c4b9c5db09","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.167506056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"3beb5ce2-857c-4313-a4b3-9fc8e3b93274","remote_addr":"127.0.0.1:53892","local_addr":"127.0.0.1:56440","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-04T21:07:10.167555836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"3beb5ce2-857c-4313-a4b3-9fc8e3b93274","remote_addr":"127.0.0.1:53892","local_addr":"127.0.0.1:56440","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-04T21:07:10.167901626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/producers","method":"POST","req_id":"3beb5ce2-857c-4313-a4b3-9fc8e3b93274","remote_addr":"127.0.0.1:53892","local_addr":"127.0.0.1:56440","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":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.267718386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:60650"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.267900056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:10.267935436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060300.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.268713076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:10.268787906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:10.268863976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.268890866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.269334966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.271109226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"74e7913a-b82c-423e-b2a7-46c4b9c5db09","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":109752,"response_code":200} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.271570066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"4f46dcd5-d4a0-449d-8bb1-49666e98975e","remote_addr":"[::1]:60650","local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.275879336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"74e7913a-b82c-423e-b2a7-46c4b9c5db09\", \"content-length\": \"286\", \"date\": \"Thu, 04 Jun 2026 21:07:10 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.276047296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiI5MTMyMzNmZS05MmE4LTQ2MzUtOTU3Mi0xODNmNDk1NDI5YzQifX0%3D","method":"GET"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.276580176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"4f46dcd5-d4a0-449d-8bb1-49666e98975e","remote_addr":"[::1]:60650","local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":5003,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.276710696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.276738776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.277203936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.278421796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiI5MTMyMzNmZS05MmE4LTQ2MzUtOTU3Mi0xODNmNDk1NDI5YzQifX0%3D","method":"GET","req_id":"62340562-fc4e-48d5-8e66-75438758c58a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.278456326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiI5MTMyMzNmZS05MmE4LTQ2MzUtOTU3Mi0xODNmNDk1NDI5YzQifX0%3D","method":"GET","req_id":"62340562-fc4e-48d5-8e66-75438758c58a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.282656606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiI5MTMyMzNmZS05MmE4LTQ2MzUtOTU3Mi0xODNmNDk1NDI5YzQifX0%3D","method":"GET","req_id":"62340562-fc4e-48d5-8e66-75438758c58a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.282713786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiI5MTMyMzNmZS05MmE4LTQ2MzUtOTU3Mi0xODNmNDk1NDI5YzQifX0%3D","method":"GET","req_id":"62340562-fc4e-48d5-8e66-75438758c58a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.283106436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiI5MTMyMzNmZS05MmE4LTQ2MzUtOTU3Mi0xODNmNDk1NDI5YzQifX0%3D","method":"GET","req_id":"62340562-fc4e-48d5-8e66-75438758c58a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.777002074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.777159254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/producers","method":"POST","req_id":"3beb5ce2-857c-4313-a4b3-9fc8e3b93274","remote_addr":"127.0.0.1:53892","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":614893,"response_code":201} {"msg":"resolved sleds for vpc oxide-services","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.777344354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:03.940767Z, time_modified: 2026-06-04T21:07:03.940767Z }, 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(43004), last_used_address: ::ffff, policy: InService, state: Active, sled_agent_gen: Generation(Generation(1)), repo_depot_port: SqlU16(46722), cpu_family: AmdMilan }]"} {"msg":"sending firewall rules to sled agents","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.777389054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.841888694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.841970104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.842432264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.844815534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.844879074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.844902374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.844927444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.845083944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.846302514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:36850"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.846347904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:55031"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.846368214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:33759"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.846385394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:64953"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.846402654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:41393"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.846421554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:58061"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.846440534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:42582"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.848617034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiI5MTMyMzNmZS05MmE4LTQ2MzUtOTU3Mi0xODNmNDk1NDI5YzQifX0%3D","method":"GET","req_id":"62340562-fc4e-48d5-8e66-75438758c58a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":570191,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.848733904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.848787354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.848814864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.848842624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.849089924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.850079364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"404cf7eb-d432-4a9a-9487-7770812fbbc2","remote_addr":"[::1]:36850","local_addr":"[::1]:56314","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-04T21:07:10.850137644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"3cec49d5-df24-4ec8-98d9-f56d6ca999fe","remote_addr":"[::1]:55031","local_addr":"[::1]:56314","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-04T21:07:10.850161474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"ab1950f9-5577-427a-922a-04edfa46e497","remote_addr":"[::1]:33759","local_addr":"[::1]:56314","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-04T21:07:10.850182714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"2cf96479-a7b1-4f58-ba7c-e2c8346d8ff3","remote_addr":"[::1]:64953","local_addr":"[::1]:56314","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-04T21:07:10.850204494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"01f2563b-8c7f-480c-9e1e-bef7cdc2958c","remote_addr":"[::1]:41393","local_addr":"[::1]:56314","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-04T21:07:10.850225364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"63f4df75-075b-4a9a-a335-dc70f5082f27","remote_addr":"[::1]:58061","local_addr":"[::1]:56314","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-04T21:07:10.850247624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"83c325b4-6902-4e2e-8da4-9df7c41ad0c6","remote_addr":"[::1]:42582","local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.850371874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiI5MTMyMzNmZS05MmE4LTQ2MzUtOTU3Mi0xODNmNDk1NDI5YzQifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"62340562-fc4e-48d5-8e66-75438758c58a\", \"content-length\": \"281\", \"date\": \"Thu, 04 Jun 2026 21:07:10 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.850497704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.850738954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"404cf7eb-d432-4a9a-9487-7770812fbbc2","remote_addr":"[::1]:36850","local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":764,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.850770914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"3cec49d5-df24-4ec8-98d9-f56d6ca999fe","remote_addr":"[::1]:55031","local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":722,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.850797544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"ab1950f9-5577-427a-922a-04edfa46e497","remote_addr":"[::1]:33759","local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":703,"response_code":200} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.850825384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.850851464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.850875064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.851135874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.851599644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"2cf96479-a7b1-4f58-ba7c-e2c8346d8ff3","remote_addr":"[::1]:64953","local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":1464,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.851635994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"01f2563b-8c7f-480c-9e1e-bef7cdc2958c","remote_addr":"[::1]:41393","local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":1466,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.851661464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"63f4df75-075b-4a9a-a335-dc70f5082f27","remote_addr":"[::1]:58061","local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":1431,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.851687354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/crucible/pantry/0","method":"GET","req_id":"83c325b4-6902-4e2e-8da4-9df7c41ad0c6","remote_addr":"[::1]:42582","local_addr":"[::1]:56314","component":"dropshot","kind":"pantry","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":1398,"response_code":200} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.852123854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"625864a8-a8e1-4207-9a9f-17aeddcc6e3a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.852158514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"625864a8-a8e1-4207-9a9f-17aeddcc6e3a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.853368914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"625864a8-a8e1-4207-9a9f-17aeddcc6e3a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.853428554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"625864a8-a8e1-4207-9a9f-17aeddcc6e3a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:10.853661744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"625864a8-a8e1-4207-9a9f-17aeddcc6e3a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.856745644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.858816114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.858874124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.858898494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.859085084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.859735794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.862669824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.863041404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc/001de000-074c-4000-8000-000000000000/firewall/rules","method":"PUT"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.863467364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"625864a8-a8e1-4207-9a9f-17aeddcc6e3a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":11403,"response_code":200} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:10.863883104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:40565"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.864213944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"625864a8-a8e1-4207-9a9f-17aeddcc6e3a\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07:10 GMT\"} })"} {"msg":"registered new metric producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.864318454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","address":"127.0.0.1:37127","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-04T21:07:10.864775714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","address":"[::1]:46801","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-04T21:07:10.864924114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.932756354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:10.997223804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:10.997711034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.997753514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.997778444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.997815654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:10.998341974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:10.999628574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc/001de000-074c-4000-8000-000000000000/firewall/rules","method":"PUT","req_id":"d3920d40-094f-44ab-824a-ce68545db154","remote_addr":"[::1]:40565","local_addr":"[::1]:43004","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-04T21:07:10.999687084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc/001de000-074c-4000-8000-000000000000/firewall/rules","method":"PUT","req_id":"d3920d40-094f-44ab-824a-ce68545db154","remote_addr":"[::1]:40565","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"reporting oximeter self-collection statistics","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:10.999785194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:11.001548574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:11.001603974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:11.002001754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:11.012187414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:11.012817464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.012973934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":2} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.013022844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":2} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.013325404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc/001de000-074c-4000-8000-000000000000/firewall/rules","method":"PUT","req_id":"d3920d40-094f-44ab-824a-ce68545db154","remote_addr":"[::1]:40565","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":13712,"response_code":204} {"msg":"unrolling 2 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.013562904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.016089504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.016139254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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 ('oximeter_collector:collections') FORMAT Native"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.020146364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"127.0.0.1:37127","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:51638"} {"msg":"new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.020664654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.014493544Z }","timeseries_name":"oximeter_collector:collections"} {"msg":"inserting 1 new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.021852514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.022021084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":6,"n_rows":1,"sql":"INSERT INTO oximeter.timeseries_schema FORMAT Native"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.022515834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc/001de000-074c-4000-8000-000000000000/firewall/rules\", status: 204, headers: {\"x-request-id\": \"d3920d40-094f-44ab-824a-ce68545db154\", \"date\": \"Thu, 04 Jun 2026 21:07:11 GMT\"} })"} {"msg":"updated firewall rules on 1 sleds","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.022591094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.022610674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"service-firewall-rule-progator","background_task":"service_firewall_rule_propagation","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","elapsed":"2.371198825s"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.022668614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2.371254255s"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.022976304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.023014264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.023035034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.023608514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.028331524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"bc5cb4ad-00d0-4b7b-b99e-e6ecb2f60397","remote_addr":"127.0.0.1:51638","local_addr":"127.0.0.1:37127","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-04T21:07:11.033548994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"bc5cb4ad-00d0-4b7b-b99e-e6ecb2f60397","remote_addr":"127.0.0.1:51638","local_addr":"127.0.0.1:37127","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":5228,"response_code":200} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.034799064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.035673874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.035763334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.038422724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.038466444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.038565204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.038600304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.038629424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.038657024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.038975824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.041598934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:11.042287494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:11.042322794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:11.042342374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:11.056281364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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":18,"n_results":5} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.056345824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:11.056366054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.060109144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.060159174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.070880364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.072388164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.072464304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.072495424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.072712704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.074128404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.074182414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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_u16 FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.077380644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_u16","n_rows":4} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.077430314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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_uuid FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.082831194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_uuid","n_rows":4} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.082877334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.085999884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.086052944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.086072164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":19} {"msg":"unrolling 19 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.090035704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.095997634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.096051234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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') FORMAT Native"} {"msg":"new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.098340424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.093445134Z }","timeseries_name":"collection_target:cpus_provisioned"} {"msg":"new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.098401254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.093857064Z }","timeseries_name":"collection_target:ram_provisioned"} {"msg":"new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.098432944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.094254864Z }","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-04T21:07:11.098460604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.091957524Z }","timeseries_name":"http_service:request_latency_histogram"} {"msg":"new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.098499954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.090808654Z }","timeseries_name":"integration_target:integration_metric"} {"msg":"inserting 5 new timeseries schema","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.099708194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.099770424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":6,"n_rows":5,"sql":"INSERT INTO oximeter.timeseries_schema FORMAT Native"} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.102740174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":14,"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-04T21:07:11.104541894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_string","n_rows":14} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.104606714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":6,"sql":"INSERT INTO oximeter.fields_u16 FORMAT Native"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.107333014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_u16","n_rows":6} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.107382824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":18,"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-04T21:07:11.108743364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_uuid","n_rows":18} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.108794274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":19,"n_rows":6,"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-04T21:07:11.111044394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_histogramu64","n_rows":6} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.111086004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.112695994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:11.112747434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","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-04T21:07:11.114986234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.115034664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":19} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.139621464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.139698294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.139727724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.139756744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.140165534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.143489534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.146157684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.146225314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.146256444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.146578494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:11.216556264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.245645584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.245722234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.245766434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.245795714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.246133924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.249640094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.251077694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.251146384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.251196624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.251370104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.285298194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"46b2d23b-843c-4dda-abeb-4dafba89be03","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":1017381,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.285643194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.286023594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:40860/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-04T21:07:11.286276914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.286347434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060300.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.286755894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.286809534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.286838854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.286870464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.287292054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.294356034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.295888094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.296352334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.303291724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.303354344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.303383294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.303408404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.303793944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.306818884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.306869854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.306892024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.307428964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.311016634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.313156184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.313210154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.313230624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.313472024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.319262104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.319325144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.319346664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.319364734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.319703194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.322589644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.322647114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.322668954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.322990304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.325792904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.328059404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.328128164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.328161684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.328210644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.328242534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.328272444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.328644124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.338479084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.340182114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.340269994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.340300994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.340426464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.407919334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.407998834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.408370784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.410962134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: babd6dfc-253d-4083-94b3-4eb125a087f5, 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-04T21:07:11.411060094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.411111204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.411174024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.411389614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.414043944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.420133594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: babd6dfc-253d-4083-94b3-4eb125a087f5, 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-04T21:07:11.420200074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.420252544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.420478084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.425908084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.425952944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.426353453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.428873453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: babd6dfc-253d-4083-94b3-4eb125a087f5, 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-04T21:07:11.428910893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.428938113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.428967023Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.429325983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.435729493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.437804183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: babd6dfc-253d-4083-94b3-4eb125a087f5, 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-04T21:07:11.450602153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.450667563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.450702323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.450728443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.451344673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.454993203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.460137623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.460232553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.460277933Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.460609213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.494586683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/ranges/add","method":"POST","req_id":"c4549e0a-7a93-4300-9240-1ffa29d1ff34","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":208274,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.496359783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.496578903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:40860/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-04T21:07:11.496814423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.496841313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060300.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.497534463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.497561623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.497583153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.497606973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.498111843Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.500618983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.500665543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.501423623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.504552663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.504605953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.504628403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.504648533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.505172913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.507882893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.507932783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.507953833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.510158723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.513168943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.516104163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.516153763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.516175093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.516429953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.519172623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.519221703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.519244153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.519262643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.519693253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.522082583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.522124163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.522147703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.524018713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.529672973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.535760453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.535818633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.535846293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.535877693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.535908563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.535935983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.536241383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.543121273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.544706493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.544749213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.544780103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.545026833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.548422863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.548488853Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.548770173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.551017583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: babd6dfc-253d-4083-94b3-4eb125a087f5, 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-04T21:07:11.551071713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.551108413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.551136073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.551311873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.555638503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.561078363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: babd6dfc-253d-4083-94b3-4eb125a087f5, 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-04T21:07:11.561159233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.561186463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.562438593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.568673203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.568886613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.570422553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.573427333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.573473123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.573500893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.573529033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.573969913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.579764113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.579818193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.579846053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.580173763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.583701053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.585485803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.585558063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.585588633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.585618693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.585647233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.585955463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.591233063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.596925423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.597045163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.597075663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.597296633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.675181303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.675253003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.675285743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.675313473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.678624113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.688000983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.689454033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.689520493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.689550543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.689735633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.693667113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v4/silos","method":"POST","req_id":"741f68f1-06d7-4a11-a872-8d6fe49eb524","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":196836,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.694098973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.694245293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:40860/v1/system/ip-pools","method":"POST"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.700289473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.700323153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060300.0.0"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.700373193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.700397063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.700419783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.700441453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.700462223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.700974923Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.702003093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.702036703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.702057473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.702078703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.703398913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.707234323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.707279723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.707605383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.708330403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.712332643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.712409543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.712434723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.712578523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.714257473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.714310863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.714334193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.714354413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.714600323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.715328623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.450767Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:11.715369173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":3,"elapsed":"14.97778ms"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.718153323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.718203473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.718227233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.718479163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.720259363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.722013803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.722060963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.722080473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.722274463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.724716323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.724770773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.724795183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.724815583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.725487723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.727831683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.727874663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.727893173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.728426393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.731912903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.735523203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.735671773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.735771593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.735838673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.735894803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.736005433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.736841273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.739824993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.741186503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.741234443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.741262653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.741894903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.747879663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.747947273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.747977713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.748004743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.748444483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.754771193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.757918252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.757990102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.758017572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.758298912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.820936212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.821010312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.821040232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.821097842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.823480042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.829850902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.831549842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.831612752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.831641892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.831841672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.836398862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools","method":"POST","req_id":"d9f1b7e9-65cd-4a9c-a244-cf44c4c6962f","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":136115,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.836683282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.836823172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:40860/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-04T21:07:11.836955842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.837010642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060300.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.837190682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.837216812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.837239782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.837261522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.837616702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.840131822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.840177042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.840465042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.842895752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.842946322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.842979642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.842998332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.843442472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.845746052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.845796102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.846003242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.846239752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.849182152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.852322142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.852387562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.852409132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.852709362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.854921182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.854961632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.854982262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.855002402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.855663572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.857910242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.857961172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.858061912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.858434372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.867529212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.874535892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.874964062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.875015262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.875053522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.875085362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.875112742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.875485882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.882501132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.884708532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.884773362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.884927812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.885205452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.888518992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.888560182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.888970062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.892058422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: 5ce3821f-438f-4757-89c2-3aac63e298c5, 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-04T21:07:11.892130322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.892162522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.892191192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.892693732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.897559852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.905682872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: 5ce3821f-438f-4757-89c2-3aac63e298c5, 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-04T21:07:11.905770312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.905798422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.906025462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.909223632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.909287692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.909833342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.910947762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: 5ce3821f-438f-4757-89c2-3aac63e298c5, 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-04T21:07:11.911010172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.911043352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.911072132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.911366672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.917336052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.918869792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: 5ce3821f-438f-4757-89c2-3aac63e298c5, 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-04T21:07:11.925607882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.925672312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.925702642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.925732122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.926295112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.931883082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.933680592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.933756652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.933787952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.934712262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.937697282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/ranges/add","method":"POST","req_id":"2e33be93-384b-4b35-ac64-96e259193c8c","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":100684,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.938030592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:11.938176352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:40860/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-04T21:07:11.938387992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.938412832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060300.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:11.938786642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.938810772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.938940682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.938961642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.939475432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.941453302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.941500402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.941976572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.944337642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.944373002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.944427992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.944463112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.944850302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.949350782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.949413652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.949436722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.949848972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.952177342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.955322342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.955360482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.955381032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.955877652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.958318982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.958355082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.958378332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.958400722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.958971662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.967688472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.967745372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.967766572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.968175932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.970580162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.973427992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:11.973467972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.973493582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.973523992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.973553012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.973586352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.974201622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.977225342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.984489532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.984566302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.984918902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.985090372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.987691012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.987750672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.988161072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.991160552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"IpPool { parent: Fleet, key: 5ce3821f-438f-4757-89c2-3aac63e298c5, 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-04T21:07:11.991218742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.991251452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.991282302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:11.991828282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.000765332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.008216562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"IpPool { parent: Fleet, key: 5ce3821f-438f-4757-89c2-3aac63e298c5, 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-04T21:07:12.008300152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.008331252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.008531072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.009538952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:12.009617872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"batch interval expired, but no samples to insert","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.009793762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.009818632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink-cluster","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-04T21:07:12.011194182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.011234912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.011512042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:12.012702302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:12.013321482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:12.014395582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:12.014456572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:12.020491922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.020570992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.020602072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.020628832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.022054842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.025837022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.025885372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.025977482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.027350082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.030365052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.032085352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.032130142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.032172572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.032202822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.032229522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.032551342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.038285872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.041720812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.041785222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.041839152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.042344472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.049722312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.049781712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.049811872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.049840732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.050366112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.054572822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.057169622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.057233962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.057263752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.057710812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_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":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.060698262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/system/ip-pools/default-v6/silos","method":"POST","req_id":"f624416d-4e63-4696-acf5-90220fc217a7","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":122266,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.061108432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","status":"201"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.061283192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:40860/v1/projects","method":"POST"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:12.061456032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/projects","method":"POST","req_id":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.061486112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/projects","method":"POST","req_id":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060300.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:12.061803792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/projects","method":"POST","req_id":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.061841272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/projects","method":"POST","req_id":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.061861852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.061884712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.062299442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.065305372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","component":"oximeter"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:12.065363312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.065388482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.066100892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.069179762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:12.069653092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a724cddc-7f63-4408-ae19-f7899c7abc9a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:12.069687342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a724cddc-7f63-4408-ae19-f7899c7abc9a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:12.069858042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a724cddc-7f63-4408-ae19-f7899c7abc9a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:12.069891232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a724cddc-7f63-4408-ae19-f7899c7abc9a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:12.070372662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a724cddc-7f63-4408-ae19-f7899c7abc9a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:12.073364642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a724cddc-7f63-4408-ae19-f7899c7abc9a","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":3745,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:12.073563472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.073591872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.073706122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.073728862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.073929002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.076730002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a724cddc-7f63-4408-ae19-f7899c7abc9a\", \"content-length\": \"405\", \"date\": \"Thu, 04 Jun 2026 21:07:12 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.076852322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:12.077240052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"1369092d-19dc-4747-873a-cd5733487057","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:12.077287362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"1369092d-19dc-4747-873a-cd5733487057","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:12.077964052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1369092d-19dc-4747-873a-cd5733487057","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:12.078025752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1369092d-19dc-4747-873a-cd5733487057","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:12.080692272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1369092d-19dc-4747-873a-cd5733487057","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:12.082333782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.082366342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.082895192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.082917342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.093516702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"1369092d-19dc-4747-873a-cd5733487057","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":16377,"response_code":200} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.093668032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.097079152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.097151802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.097204152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.097442302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.099851812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"1369092d-19dc-4747-873a-cd5733487057\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07: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-04T21:07:12.099992352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.100019552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.100041782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.104073502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.104126972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.104150882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.104177112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.104479322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.108222782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.108269852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.108291472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.108880362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.112408812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.116808642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.116850212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/projects","method":"POST","req_id":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.116886692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.117068682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.117101572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.117129682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.118637692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.125307152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.127038682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.127097652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.127125572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.127548862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.131569662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.131649352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.131714562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.131788152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.132123332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.135523812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.135585352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.135613812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.135899792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.139807972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.142899162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.143640962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.143753142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.144220492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"project-create","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.146130912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"project-create","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.187917472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.188060392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"project-create","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.188175352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.188196072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"20","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.202097942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.202131632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"20","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.204930152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.204965012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.210605142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.210775082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.210809102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.210834582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.211304102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.258055712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.258197932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.258233402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.258508572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.261325392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.263255122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.263324632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.263352282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.263375192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.273982222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.274031702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"name\": String(\"test-project\"), \"time_created\": String(\"2026-06-04T21:07:12.210550Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.210550Z\")}, \"rcgen\": Number(1), \"silo_id\": String(\"001de000-5110-4000-8000-000000000000\")}])","node_id":"0","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.277293012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.277323012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.280446702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.280496422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"authz_project\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"fd65:6d8b:a69e::/48\"), \"name\": String(\"default\")}})","node_id":"1","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.283491942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.283543282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.286056682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.286103532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"2","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.288724842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.288780562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.290865052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.290909782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"))","node_id":"3","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.292810162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.292835682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.294649602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.294681592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b0e04803-52a9-4204-9172-b635f80077bd\"))","node_id":"4","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.296921872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.296969012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.299631302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.299701002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"9b6ffedf-853e-4679-b45c-4dec032259b0\"))","node_id":"5","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.302356742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.302397602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.306101222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.306148082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"9458efa5-4549-4561-a768-c2246bdf7000\"))","node_id":"6","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.308257012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.308301022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.310452692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.310489282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"9dd42167-87a7-4883-af4d-73959b0a65ec\"))","node_id":"7","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.312339362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.312394582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.314295182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.314340522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\"))","node_id":"8","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.316546462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.316585592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.318978332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.319043242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"939f7800-5574-4122-ac87-48bfd1afefe4\"))","node_id":"9","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.321393942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.321434602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.328545052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, 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-04T21:07:12.328610232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.328637922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.328661182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.328995972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.332657472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.332703822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.332728232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.333867452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.339506162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.339542342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.339568032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.339995502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.343247522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.348658392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, 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-04T21:07:12.348725432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.348752912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.349127562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.356079732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.356121022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"name\": String(\"default\"), \"time_created\": String(\"2026-06-04T21:07:12.328482Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.328482Z\")}, \"ipv6_prefix\": String(\"fd65:6d8b:a69e::/48\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"subnet_gen\": Number(1), \"system_router_id\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\"), \"vni\": Number(9083252)}])","node_id":"10","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.364659902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.364713262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.368291902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.368369172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.368400212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.368424322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.369144982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.371341532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.371405212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.371431752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.372017242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.374521502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.374575002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.374601162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.375126542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.379919112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.383423872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.383473252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.383500722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.383725292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.420434532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.420490862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"key\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\"), \"lookup_type\": Object {\"ById\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.425881172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.425924742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.428649761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: b0e04803-52a9-4204-9172-b635f80077bd, lookup_type: ById(b0e04803-52a9-4204-9172-b635f80077bd) }","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-04T21:07:12.428731971Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.428762511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.428791731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.429484531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.431953061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.432005391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.432040291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.432446231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.435049541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.435104461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.435131641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.435406721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.437666801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.441446881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: b0e04803-52a9-4204-9172-b635f80077bd, lookup_type: ById(b0e04803-52a9-4204-9172-b635f80077bd) }","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-04T21:07:12.441528871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.441557291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.441688111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.477275741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.477336671Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.480265341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.480303381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.483045611Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: b0e04803-52a9-4204-9172-b635f80077bd, lookup_type: ById(b0e04803-52a9-4204-9172-b635f80077bd) }","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-04T21:07:12.483119811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.483149981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.483176531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.483907051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.486627761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.486681861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.486708111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.487087811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.489671031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.489739851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.489768391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.490158901Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.495331401Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.500397881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: b0e04803-52a9-4204-9172-b635f80077bd, lookup_type: ById(b0e04803-52a9-4204-9172-b635f80077bd) }","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-04T21:07:12.500486301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.500514961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.500718891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.504912981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.504970491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.508274491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.508304121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.511583051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.511655691Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.511684431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.511710101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.512077771Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.514629701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.514686421Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.514713661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.515083001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.519250231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.519317681Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.519343811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.521638881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.524381521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.531982381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.537631801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.537680701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [Object {\"key\": String(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\"), \"lookup_type\": Object {\"ById\": String(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\"), \"name\": String(\"default\"), \"time_created\": String(\"2026-06-04T21:07:12.511537Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.511537Z\")}, \"ipv4_block\": String(\"172.30.0.0/22\"), \"ipv6_block\": String(\"fd65:6d8b:a69e::/64\"), \"rcgen\": Number(1), \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}])","node_id":"14","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.541247871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.541301101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.544272361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: b0e04803-52a9-4204-9172-b635f80077bd, lookup_type: ById(b0e04803-52a9-4204-9172-b635f80077bd) }","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-04T21:07:12.544440791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.544502731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.544549201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.545615981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.549565691Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.549647551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.550160701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.550234321Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.555045401Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.555105731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.555131621Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.556551981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.560003551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.566457161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: b0e04803-52a9-4204-9172-b635f80077bd, lookup_type: ById(b0e04803-52a9-4204-9172-b635f80077bd) }","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-04T21:07:12.566524241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.566550341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.566823451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.572732661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.572782101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"key\": String(\"9dd42167-87a7-4883-af4d-73959b0a65ec\"), \"lookup_type\": Object {\"ById\": String(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\")}, \"parent\": Object {\"key\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\"), \"lookup_type\": Object {\"ById\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.579097741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.579192331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.584058341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","rules":"[VpcFirewallRule { identity: VpcFirewallRuleIdentity { id: 89948f36-0722-4d64-8098-1ec6bba0e929, 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-04T21:07:12.583922Z, time_modified: 2026-06-04T21:07:12.583922Z, time_deleted: None }, vpc_id: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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: 44ed301d-c65c-4e04-b422-ab9f78b588aa, name: Name(Name(\"allow-ssh\")), description: \"allow inbound TCP connections on port 22 from anywhere\", time_created: 2026-06-04T21:07:12.583938Z, time_modified: 2026-06-04T21:07:12.583938Z, time_deleted: None }, vpc_id: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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: bc8e5c05-cbe5-491d-bd58-83566d1b2e5c, name: Name(Name(\"allow-icmp\")), description: \"allow inbound ICMP traffic from anywhere\", time_created: 2026-06-04T21:07:12.583945Z, time_modified: 2026-06-04T21:07:12.583945Z, time_deleted: None }, vpc_id: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.584157861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.584201561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.584231771Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.584255791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.584558521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.587295751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.587367191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.587397641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.588336831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.591477791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.591562391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.591595621Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.592145651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.597175821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.600878441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.600942931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.600966251Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.601529391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.655746651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.655796141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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(\"89948f36-0722-4d64-8098-1ec6bba0e929\"), \"name\": String(\"allow-internal-inbound\"), \"time_created\": String(\"2026-06-04T21:07:12.583922Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.583922Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}, 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(\"44ed301d-c65c-4e04-b422-ab9f78b588aa\"), \"name\": String(\"allow-ssh\"), \"time_created\": String(\"2026-06-04T21:07:12.583938Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.583938Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}, 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(\"bc8e5c05-cbe5-491d-bd58-83566d1b2e5c\"), \"name\": String(\"allow-icmp\"), \"time_created\": String(\"2026-06-04T21:07:12.583945Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.583945Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}])","node_id":"16","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.659312961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.659361911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.662604471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.662673671Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.662827661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.662879091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.662992451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.667465171Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.667527491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.667554191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.667646351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.670232201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.670286231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.670313431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.670692511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.673029641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.676398611Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.676447391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.676472561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.676653731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.681306821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.681366331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.681684481Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.685642041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.685701891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.686040891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.717097081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: 939f7800-5574-4122-ac87-48bfd1afefe4, lookup_type: ById(939f7800-5574-4122-ac87-48bfd1afefe4) }","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-04T21:07:12.717206311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.717239081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.717266301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.717630331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.725242211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.725312681Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.725346471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.725642391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.728194251Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.728367051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.728398631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.729209731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.732335741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.737224651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: 939f7800-5574-4122-ac87-48bfd1afefe4, lookup_type: ById(939f7800-5574-4122-ac87-48bfd1afefe4) }","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-04T21:07:12.737305881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.737333411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.741395761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.746078491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: 939f7800-5574-4122-ac87-48bfd1afefe4, lookup_type: ById(939f7800-5574-4122-ac87-48bfd1afefe4) }","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-04T21:07:12.746141021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.746171121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.746197031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.746740861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.749289001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.749352961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.749399461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.750048801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.753158661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.753220751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.753249731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.753648621Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.75726433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.76208212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ByName(\"test-project\") }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: 939f7800-5574-4122-ac87-48bfd1afefe4, lookup_type: ById(939f7800-5574-4122-ac87-48bfd1afefe4) }","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-04T21:07:12.76215914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.762188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.76251179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.7662823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.76633322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"key\": String(\"939f7800-5574-4122-ac87-48bfd1afefe4\"), \"lookup_type\": Object {\"ById\": String(\"939f7800-5574-4122-ac87-48bfd1afefe4\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.77125608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.77133345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"18","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.77429312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.77434102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.77475181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.77666359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.77672977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.77774389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.78049677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.78055464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.78125648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.78370032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.78377453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.78380399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.78383037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.78694485Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.790034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.79009122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.79012225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.79313294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.79666716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.79676427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.79679104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.80226216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.80876028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.81652006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.81659563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.81666561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:12.81675161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.81677971Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.81712892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.82271737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.82278883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.82281759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.8233763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.82679604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.82685898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.82688785Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.82774667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.83164932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.83886292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:12.83895017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.83897791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.83952318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.84495687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.84499039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.84511076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.85868246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.85873271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.85874925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.85876504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.85879759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.85917166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.86163551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.86168748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.86573718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.86579867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"19","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.86938298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.86943544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"19","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.87416942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.87433654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"21","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:12.87672872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.87686265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"21","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.87981811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.87993506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.91139295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"project-create","saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.91155156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","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-04T21:07:12.91185964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b3480f3e-b393-4940-8c6f-f930a1028536","saga_name":"project-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: b3480f3e-b393-4940-8c6f-f930a1028536, saga_log: SagaLog { saga_id: b3480f3e-b393-4940-8c6f-f930a1028536, 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(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"name\": String(\"test-project\"), \"time_created\": String(\"2026-06-04T21:07:12.210550Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.210550Z\")}, \"rcgen\": Number(1), \"silo_id\": String(\"001de000-5110-4000-8000-000000000000\")}]), 1: Succeeded(Object {\"authz_project\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"fd65:6d8b:a69e::/48\"), \"name\": String(\"default\")}}), 2: Succeeded(Null), 3: Succeeded(String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")), 4: Succeeded(String(\"b0e04803-52a9-4204-9172-b635f80077bd\")), 5: Succeeded(String(\"9b6ffedf-853e-4679-b45c-4dec032259b0\")), 6: Succeeded(String(\"9458efa5-4549-4561-a768-c2246bdf7000\")), 7: Succeeded(String(\"9dd42167-87a7-4883-af4d-73959b0a65ec\")), 8: Succeeded(String(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\")), 9: Succeeded(String(\"939f7800-5574-4122-ac87-48bfd1afefe4\")), 10: Succeeded(Array [Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"name\": String(\"default\"), \"time_created\": String(\"2026-06-04T21:07:12.328482Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.328482Z\")}, \"ipv6_prefix\": String(\"fd65:6d8b:a69e::/48\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"subnet_gen\": Number(1), \"system_router_id\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\"), \"vni\": Number(9083252)}]), 11: Succeeded(Object {\"key\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\"), \"lookup_type\": Object {\"ById\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\"), \"lookup_type\": Object {\"ById\": String(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\"), \"name\": String(\"default\"), \"time_created\": String(\"2026-06-04T21:07:12.511537Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.511537Z\")}, \"ipv4_block\": String(\"172.30.0.0/22\"), \"ipv6_block\": String(\"fd65:6d8b:a69e::/64\"), \"rcgen\": Number(1), \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}]), 15: Succeeded(Object {\"key\": String(\"9dd42167-87a7-4883-af4d-73959b0a65ec\"), \"lookup_type\": Object {\"ById\": String(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\")}, \"parent\": Object {\"key\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\"), \"lookup_type\": Object {\"ById\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"89948f36-0722-4d64-8098-1ec6bba0e929\"), \"name\": String(\"allow-internal-inbound\"), \"time_created\": String(\"2026-06-04T21:07:12.583922Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.583922Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}, 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(\"44ed301d-c65c-4e04-b422-ab9f78b588aa\"), \"name\": String(\"allow-ssh\"), \"time_created\": String(\"2026-06-04T21:07:12.583938Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.583938Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}, 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(\"bc8e5c05-cbe5-491d-bd58-83566d1b2e5c\"), \"name\": String(\"allow-icmp\"), \"time_created\": String(\"2026-06-04T21:07:12.583945Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.583945Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}]), 17: Succeeded(Object {\"key\": String(\"939f7800-5574-4122-ac87-48bfd1afefe4\"), \"lookup_type\": Object {\"ById\": String(\"939f7800-5574-4122-ac87-48bfd1afefe4\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"939f7800-5574-4122-ac87-48bfd1afefe4\"), \"default_subnet_id\": String(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\"), \"default_v4_route_id\": String(\"9b6ffedf-853e-4679-b45c-4dec032259b0\"), \"default_v6_route_id\": String(\"9458efa5-4549-4561-a768-c2246bdf7000\"), \"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(\"89948f36-0722-4d64-8098-1ec6bba0e929\"), \"name\": String(\"allow-internal-inbound\"), \"time_created\": String(\"2026-06-04T21:07:12.583922Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.583922Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}, 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(\"44ed301d-c65c-4e04-b422-ab9f78b588aa\"), \"name\": String(\"allow-ssh\"), \"time_created\": String(\"2026-06-04T21:07:12.583938Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.583938Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}, 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(\"bc8e5c05-cbe5-491d-bd58-83566d1b2e5c\"), \"name\": String(\"allow-icmp\"), \"time_created\": String(\"2026-06-04T21:07:12.583945Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.583945Z\")}, \"priority\": Number(65534), \"status\": String(\"enabled\"), \"targets\": Array [Object {\"type\": String(\"vpc\"), \"value\": String(\"default\")}], \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}], \"gateway\": Object {\"key\": String(\"939f7800-5574-4122-ac87-48bfd1afefe4\"), \"lookup_type\": Object {\"ById\": String(\"939f7800-5574-4122-ac87-48bfd1afefe4\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"name\": String(\"test-project\"), \"time_created\": String(\"2026-06-04T21:07:12.210550Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.210550Z\")}, \"rcgen\": Number(1), \"silo_id\": String(\"001de000-5110-4000-8000-000000000000\")}], \"route\": Object {\"key\": String(\"9dd42167-87a7-4883-af4d-73959b0a65ec\"), \"lookup_type\": Object {\"ById\": String(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\")}, \"parent\": Object {\"key\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\"), \"lookup_type\": Object {\"ById\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"b0e04803-52a9-4204-9172-b635f80077bd\"), \"lookup_type\": Object {\"ById\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\"), \"lookup_type\": Object {\"ById\": String(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\")}, \"parent\": Object {\"key\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\"), \"lookup_type\": Object {\"ByName\": String(\"default\")}, \"parent\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"1ec7dbda-aa58-442b-ad61-875bd0dce882\"), \"name\": String(\"default\"), \"time_created\": String(\"2026-06-04T21:07:12.511537Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:12.511537Z\")}, \"ipv4_block\": String(\"172.30.0.0/22\"), \"ipv6_block\": String(\"fd65:6d8b:a69e::/64\"), \"rcgen\": Number(1), \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")}], \"subnet_route_id\": String(\"9dd42167-87a7-4883-af4d-73959b0a65ec\"), \"system_router_id\": String(\"b0e04803-52a9-4204-9172-b635f80077bd\"), \"vpc\": Null, \"vpc_create_params\": Object {\"authz_project\": Object {\"key\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"fd65:6d8b:a69e::/48\"), \"name\": String(\"default\")}}, \"vpc_id\": String(\"34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e\")} }) }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:12.91238239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.91243224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.91246185Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.91248785Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.91251838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.91487675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.91916897Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.91925593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.91929582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.91957515Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.92315128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/projects","method":"POST","req_id":"e0496323-cb75-475f-b587-8d98448e9ccd","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":861690,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92350468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","status":"201"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92386241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92388407Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92389546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92390748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92392081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92393238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92398098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92400548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92401791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92402922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92404052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.9240728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.9240876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92409958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92411256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92412459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92413741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92415053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92416318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92417416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92418528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92419625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92420737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92421846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92423205Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92424467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92425567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92426822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92427907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92428997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92430111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92431288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92432684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92434123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.9243543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92436681Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92438015Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92439264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92440563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92441902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92443192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92444467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92445757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92447214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.9244858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92449838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92450931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92452211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92453514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92454628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92455739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92456847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92458128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92459245Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92460527Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.9246163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92462925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92464129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92465223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92466303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92467432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92468668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92469892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92470991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92472042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92473128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92474191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.9247532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92476739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92477842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92479087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92480202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92481282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.9248236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92483733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.9248488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:12.92486027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.94235763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","body":"Body { inner: BoxBody }","uri":"http://127.0.0.1:40860/v1/instances?project=test-project","method":"POST"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:12.9426693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.94270906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","version":"2026060300.0.0"} {"msg":"authn: trying Spoof","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:12.9441216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.94415134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.94419529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.94421733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.94481746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95077928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95083283Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95162529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95470378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95476174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95478499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95480496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95532042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95800607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95805898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95811437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.95855191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.96424744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.96784392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.96809122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.96812407Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.96823708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.97337085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.97342625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.97344743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.97346566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.97388168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.97646922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.97649762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.97651583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.97705132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.98003597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.98226699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:12.98231866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.9823527Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.98238544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.98241322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.98243957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.98269101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.98591063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.98749145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.98760347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.98763121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.98860064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.99137688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.99143638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.9919366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.99426894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.99434594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.99460156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:12.99998272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, 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-04T21:07:13.01344498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.01540845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.01547186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.0154967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.01669067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:13.01674302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.01708333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.01711039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.01720584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:13.01885476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:13.01889797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:13.02340961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.02346618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.02349769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.02746108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.02942983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:13.03055283Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.03142172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:13.03229671Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:13.03234518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:13.03236345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.03832249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:13.03837786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:13.03841423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.03845614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.03936129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.03984998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.04219657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:13.04224955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","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-04T21:07:13.04282374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.05142752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, 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-04T21:07:13.05155585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.0516917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.05209083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.05649782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.05664051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.05708007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.06349713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.06357997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.06360984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.06363623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.06402565Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.06951519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.06958053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.0696072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07026674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07327862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07487318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07494949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07498464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07501449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07504211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07529413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07859713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07882891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07894656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.07897062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.0820058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.08376849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.08383986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.08386632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.08450338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.09490548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, 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-04T21:07:13.09499617Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.0953193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.09535089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.09603004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.10302912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.10309888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.10312689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.10582409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.10863466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.10871593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.10874376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.10917625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.1114715Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.11625505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, 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-04T21:07:13.11633597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.11636252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.11667583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:13.11995042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.12392164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.1239663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.12398657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.12400553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.12446231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.12680681Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.12997357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.13006769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.13012465Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.13091227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.14003149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.14011289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.14073284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-create","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"}},{\"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\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"instance_name\":\"test-instance\",\"interface_id\":\"3d077ded-e553-4868-80a2-f46748a8d8f1\",\"nic_spec\":{\"Default\":\"Ipv4\"},\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"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\":[],\"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\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"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-04T21:07:13.14090092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-create","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.14357201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.14364196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-create","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.14370854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.14375301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.14631463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.14641356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.15161051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.15166182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.15423948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.15429292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"))","node_id":"0","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.16019119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.16022846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.16327456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.16330904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.16374444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.16779775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.16785341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.16825673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.17010614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }","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-04T21:07:13.17016788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.17019638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.17022172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.17061372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.1752316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.17527067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.17529621Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.17654055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.18136432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.18143195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.1814598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.18183501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.18444485Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.19034415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }","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-04T21:07:13.19046025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }","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-04T21:07:13.19049306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.19052159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.19054609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.19070963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.19339025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.19345231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.19347874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.19381016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.19608518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.19614926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.19619332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.19650747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.1995984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.20768315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }","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-04T21:07:13.20776216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.20779392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.20852581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.28477758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.28483168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Creating\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": Null, \"state_generation\": Number(1), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.28836965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.28842258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.29089233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.29095638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.29148448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.29366269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.29369918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.29413038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.29613564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.2962011Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.29622989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.29625667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.29719032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.30022778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.30029824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.30032613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.3010382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.30570867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.30728388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.30736052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.30739564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.30742365Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.30745014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.30766529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.31064719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.31070482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.3107371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.31109441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.31419138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.31568075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.31580495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.31584187Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"2","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.32120953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.32127845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.3271359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.32719875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"instance_name\": String(\"test-instance\"), \"interface_id\": String(\"3d077ded-e553-4868-80a2-f46748a8d8f1\"), \"nic_spec\": Object {\"Default\": String(\"Ipv4\")}, \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.33087345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.33093113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.33326072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.33330746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"4","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.33780018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.33784563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.34314325Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.34318972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.34384991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35063566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35070525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35114977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35302426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35307661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35396894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35580993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.35587906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.35590844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35593388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35630543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35918791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35922734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35925147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.35966023Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.36220661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.36232129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.3623731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.36266404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.36510433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.37243152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.37249647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.37252078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.3728587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.37453696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.37460134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.37490415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.37711571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.37718266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.38022703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.38224818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.38228584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.38267257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.38730934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: 1ec7dbda-aa58-442b-ad61-875bd0dce882, 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-04T21:07:13.38761029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.38769053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.38778596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.3896059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.39384219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.39390946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.39393736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.39439437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.40045088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.40051313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.40054051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.40091706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.40434991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.41233709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: 1ec7dbda-aa58-442b-ad61-875bd0dce882, 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-04T21:07:13.4130825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.41317891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.41321434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.41323994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.41385652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.41703137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.41710045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.41712932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.41756959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.42080867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.42085719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.4208866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.4218939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.42458412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.432151409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.432237549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: 1ec7dbda-aa58-442b-ad61-875bd0dce882, 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-04T21:07:13.432275889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.432302929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.432328979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.432494799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.435603919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.435658569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.435684939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.436510029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.440842299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.441573269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.441636269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.442226589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.445749429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.457965709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ByName(\"default\") }, key: 1ec7dbda-aa58-442b-ad61-875bd0dce882, 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-04T21:07:13.458176509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.458203779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.458363559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.486202079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.486250199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.486821969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.489451409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.489509849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"5","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.492912959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.492983549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.495933829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.496071849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.500589179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.500647439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.503251059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.503300339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"113b3e9f-08cc-4b20-8e8c-dba2c0497c29\"))","node_id":"7","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.506182679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.506292949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.509859309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.509930329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.510475359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.514345749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.514487449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.514839959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.543601639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.543839639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.546645669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.546702889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.551237579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.551291579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.553792069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.553840859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.563215099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.563262769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.565750119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.565799869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.567945989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.567975119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.570229999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.570286749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.574321679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-create","saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.574454959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","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-04T21:07:13.574550379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"321b9203-0c51-49f9-a308-363fa81bafc6","saga_name":"instance-create","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 321b9203-0c51-49f9-a308-363fa81bafc6, saga_log: SagaLog { saga_id: 321b9203-0c51-49f9-a308-363fa81bafc6, 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(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\")), 1: Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Creating\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": Null, \"state_generation\": Number(1), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"instance_name\": String(\"test-instance\"), \"interface_id\": String(\"3d077ded-e553-4868-80a2-f46748a8d8f1\"), \"nic_spec\": Object {\"Default\": String(\"Ipv4\")}, \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"113b3e9f-08cc-4b20-8e8c-dba2c0497c29\")), 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(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"instance_record\": Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Creating\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": Null, \"state_generation\": Number(1), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"instance_name\": String(\"test-instance\"), \"interface_id\": String(\"3d077ded-e553-4868-80a2-f46748a8d8f1\"), \"nic_spec\": Object {\"Default\": String(\"Ipv4\")}, \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"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(\"113b3e9f-08cc-4b20-8e8c-dba2c0497c29\"), \"stopped_instance\": Null} }) }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.574693039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.574759909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.577144649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.577843129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.577868189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.577888659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.577909489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.577930509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.577949739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.578464069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.578964129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.579021479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.579038689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.579054419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.579068769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.579886289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:29719","req_id":"cfc1e6c0-f2a5-46e8-be4d-eb6831a51343","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 26 39 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 &9..........._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-04T21:07:13.579936299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:29719","req_id":"cfc1e6c0-f2a5-46e8-be4d-eb6831a51343","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 9785,\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-04T21:07:13.580094189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.580184029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.580231839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:29719","req_id":"cfc1e6c0-f2a5-46e8-be4d-eb6831a51343","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: 64395, 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-04T21:07:13.580579329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1101, tv_nsec: 42499302 } })","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-04T21:07:13.580622779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.580839669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:42062","req_id":"7ecbef06-08ce-45bc-b19a-cc9821288828","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: cf 4c 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .L..........-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-04T21:07:13.580873279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:42062","req_id":"7ecbef06-08ce-45bc-b19a-cc9821288828","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 53068,\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-04T21:07:13.580982719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.581027689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:42062","req_id":"7ecbef06-08ce-45bc-b19a-cc9821288828","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-04T21:07:13.625746549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.626200759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.631835599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.631917329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.631944299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.631965169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.631986389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.632209389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.633171109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.633231719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.633824639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.636535119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"9718f83b-5868-48a5-9b9f-f4df25a137a8\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:13 GMT\"} })"} {"msg":"searching for multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.637268779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.637312849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.637334219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.637829439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.639032339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.641543019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.641591609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.641616359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.641920219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.647011809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.647152329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.647621719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"VPC route manager sled b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.697522999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.697571729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc-routes","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.697965329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.698015579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.698042489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.698067549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.698434019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.702159929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.702215779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.702267989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.702290429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.702779749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.703907459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:51139"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.705675239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.705730299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.705757019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.706212319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.707088389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"4885ffd5-05d3-47f9-aa36-34608e34b2f4","remote_addr":"[::1]:51139","local_addr":"[::1]:43004","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-04T21:07:13.707139359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"4885ffd5-05d3-47f9-aa36-34608e34b2f4","remote_addr":"[::1]:51139","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.707344449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"4885ffd5-05d3-47f9-aa36-34608e34b2f4","remote_addr":"[::1]:51139","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":264,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.708124799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc-routes\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"4885ffd5-05d3-47f9-aa36-34608e34b2f4\", \"content-length\": \"2\", \"date\": \"Thu, 04 Jun 2026 21:07:13 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.708209799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.708234249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.709036179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.718324709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.718378389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.718406029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.718910909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.724681119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.735270849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.735350999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.735386489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.735412409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.735437199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.735923619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.741301889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.741374839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.741404339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.741812039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.749213739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.749268269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.749294809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.749726439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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":"member state reconciliation completed","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.750541789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.750589399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.750607739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.750628789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.750911129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.754605239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.768422508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.768507358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.768541158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.768753038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.772110598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.772189008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/eip-gateways","method":"PUT"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.772643028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"cafc8edc-17e8-4234-b8e5-d34681847d9c","remote_addr":"[::1]:51139","local_addr":"[::1]:43004","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-04T21:07:13.772673858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"cafc8edc-17e8-4234-b8e5-d34681847d9c","remote_addr":"[::1]:51139","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.772881958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"cafc8edc-17e8-4234-b8e5-d34681847d9c","remote_addr":"[::1]:51139","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":220,"response_code":204} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.773044068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/eip-gateways\", status: 204, headers: {\"x-request-id\": \"cafc8edc-17e8-4234-b8e5-d34681847d9c\", \"date\": \"Thu, 04 Jun 2026 21:07:13 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.773257918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":3,"elapsed":"195.401699ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.773538548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.773611558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.773642778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.773671298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.774303968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.777296668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.778708058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.778774568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.778802498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.778988218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","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-04T21:07:13.789500768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v1/instances?project=test-project","method":"POST","req_id":"9c0223c2-25cb-4a79-b800-6da9e08e693a","remote_addr":"127.0.0.1:55445","local_addr":"127.0.0.1:40860","component":"dropshot_external","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":846843,"response_code":201} {"msg":"client received response","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790109558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"external client test context","status":"201"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790688598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790718168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790733358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790747268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790759928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790773558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790787008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790802518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790813918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790826128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790839168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.790985808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791013188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791027508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791049808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791064138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791078318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791090618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791103068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791116088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791129168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791141208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791158878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791171868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791185308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791198818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791212538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791226708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791239178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791255018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791267828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791280838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791293478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791307898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791321268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791334518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791347628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791362168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791375818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791392758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791407568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791421288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791433648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791446238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791458408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791469998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791482488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791494788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791507458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791520018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791531538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791543398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791556888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791569488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791582398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791595278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791607798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791620008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791633728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791696748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791713848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791729968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791744198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791757368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791769278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791782608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791796568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791809198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791822728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791836208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791853348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791867748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791882528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791895138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791909438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791923118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.791935518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.806278678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.806328978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.806837688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:13.807589878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.807627808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.807676628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.807716688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.808034458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.810024118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.810073138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.810524218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.812391818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.812416908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.812688328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.814558538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.814619018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.814639618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.814656808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.815010738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.820487898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.820537408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.820555598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.821032488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.823512318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.823558728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.823576108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.823939388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.826255988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.830925968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.830987318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.831013418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.831032398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.831163918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.831317788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.833330068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.833374338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.833391528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.833741908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.836123138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.836159418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.836177648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.836585258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.838748388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.848001048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.848064968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.848100118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.848358648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:13.848969038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.849039508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.849087478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.849731408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.853514788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(0)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.855791178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"label":"GeneratePropolisId","node_name":"propolis_id"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.855840648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","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-04T21:07:13.855863758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","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-04T21:07:13.856148818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:13.856335628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad"} {"msg":"found multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.857041118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.857090298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.857109778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.857131048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.857549038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.860122778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e92cc6d8-434b-404b-a32a-9e121e338fad"} {"msg":"found multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.860178698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.860200928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.860297308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.860343258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"281.400759ms"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.860550128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","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-04T21:07:13.860571708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","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-04T21:07:13.860664558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.860684588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.864841828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.864893828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.867557838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.867604068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.869800368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.869850428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"0","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","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-04T21:07:13.872377018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.872430138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.875537268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.875576408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.877437968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.877468398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","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-04T21:07:13.879440068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.879488638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","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-04T21:07:13.883178978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"propolis_id\"","result":"failure","saga_name":"instance-start","saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","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-04T21:07:13.883244178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","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-04T21:07:13.883353668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"e92cc6d8-434b-404b-a32a-9e121e338fad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: e92cc6d8-434b-404b-a32a-9e121e338fad, saga_log: SagaLog { saga_id: e92cc6d8-434b-404b-a32a-9e121e338fad, 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-04T21:07:13.883570978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883587548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883601278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883614998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883629288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883644738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883658488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883671798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883723858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883749698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883765888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883779208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883792508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883805818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883818898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883859508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883873288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883886438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883898418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883910258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883922298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883934428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883971808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883984948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.883997458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884009608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884024748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884036528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884092708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884120088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884132808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884145688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884157858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884170328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884183008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884195008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884219798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884234048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884246828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884258578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884271248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884283808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884297178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884309598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884321988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884334058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884346048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884357858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884370108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884384438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884398078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884409508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884422818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884434888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884446778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884458838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884471948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884485368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884496958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884508898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884522278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884534328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884547248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884560968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884572778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884586708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884602648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884616078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884628448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884641608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884653218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884666318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884700528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884713908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884726738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884738418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.884751228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.896130668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.896181378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.896528818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.898418958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.898450378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.898886188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.900901188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.900933038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.901419248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.903824658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.903870888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.903930088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.903949638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.904333488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.907498838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.907606988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.907626598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.908569728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.911784258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.911826018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.911845508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.912425168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.917369098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.926113398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.926175558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.926192568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.926215158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.926238228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.926255158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.926685318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.929355428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.929404138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.929421308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.929813618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.932731658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.932790378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.932810398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.933980538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.938384478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.950923698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.950983598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.951003198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.951699018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.954663118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.956512718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969379798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969489208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969504228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969516468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969528368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969540708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969552648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969564558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969577018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969589218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969600978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969612958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969625068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969637198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969648948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969661008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969672908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969687248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969700538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969712338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969723908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969735578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969747398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.969954288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970010088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970027198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970041878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970054608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970066978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970078638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970090758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970102808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970115288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970127788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970140138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970152438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970192618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970206438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970218518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970231448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970243558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970256338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970268048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970279628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970291118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970302488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970313848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970325578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970337038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970358248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970370178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970381578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970392918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970406558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970419368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970431018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970443998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970455438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970468388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970479798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970491788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970503708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970517208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970528838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970540558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970551968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970563678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970577288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970592618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970606018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970617958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970633128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970645698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970660688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970672498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970685258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:13.970697258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:13.986241138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.986298698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.986757928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.992208158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.992263198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.992796298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.994636978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.994679618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.995423188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:13.997518278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:13.997551508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:13.997569868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.997585708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:13.998196708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.001052268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.001100268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.001119758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.002009408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.010855908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.011353078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.011426788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.012187098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.019286498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.033535838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.033593198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.033619038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.033639218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.033657278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.035030698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:14.038818088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:14.038963988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.039244568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.039272418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.040203688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:14.041405298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:14.041445808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.043924798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:14.044507038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:14.044560318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:14.044584688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.046953548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:14.047466928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:14.048010088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.048050308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.048072548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.049569948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:14.052608838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:14.052694488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:14.052715948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.052737468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.052755118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.055217488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:14.061788058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:14.061963648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","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-04T21:07:14.063446558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.074337998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.074398038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.074497668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.075523358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:14.076225138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.076744918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:14.077180688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"70322d21-c265-4e96-ad03-4b608254a09d","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:14.077213008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"70322d21-c265-4e96-ad03-4b608254a09d","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:14.077369088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"70322d21-c265-4e96-ad03-4b608254a09d","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:14.077405758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"70322d21-c265-4e96-ad03-4b608254a09d","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:14.077970188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"70322d21-c265-4e96-ad03-4b608254a09d","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.079020258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(1)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.081071818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"label":"AllocServer","node_name":"sled_id"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.081119168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","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-04T21:07:14.081142548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","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-04T21:07:14.081470788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:14.081633538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.087555458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"70322d21-c265-4e96-ad03-4b608254a09d","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":10403,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.087913488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"70322d21-c265-4e96-ad03-4b608254a09d\", \"content-length\": \"405\", \"date\": \"Thu, 04 Jun 2026 21:07:14 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.088072918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:14.088864718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"63c0ec79-9910-49c9-aa22-8f3e52fdbc43","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:14.088930438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"63c0ec79-9910-49c9-aa22-8f3e52fdbc43","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.088960778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.088989498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"63c0ec79-9910-49c9-aa22-8f3e52fdbc43","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:14.089022548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"63c0ec79-9910-49c9-aa22-8f3e52fdbc43","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:14.089495028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"63c0ec79-9910-49c9-aa22-8f3e52fdbc43","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.091179178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","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-04T21:07:14.091227258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","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-04T21:07:14.091253068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.091272008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","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-04T21:07:14.093922358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"63c0ec79-9910-49c9-aa22-8f3e52fdbc43","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":5195,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.094444278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"63c0ec79-9910-49c9-aa22-8f3e52fdbc43\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07:14 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-04T21:07:14.094532988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.094557828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.094576148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.094990478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.095037348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.101057078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.101102978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.105834328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.105913268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"2e567c9a-c481-4715-9a54-e536939bfca6\"))","node_id":"0","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.108532538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.108580358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.111115998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.111388118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"1","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","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-04T21:07:14.114628798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.114676828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.118817778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.118847998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.121975498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.122059178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.124814268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.124866498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.127779778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.127821358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","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-04T21:07:14.132250378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.132300048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","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-04T21:07:14.136627818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"sled_id\"","result":"failure","saga_name":"instance-start","saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","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-04T21:07:14.136711478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","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-04T21:07:14.136821848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d, saga_log: SagaLog { saga_id: 3c3d3f1d-2c5c-425e-914e-3e8bb7771e1d, 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-04T21:07:14.137092348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137118428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137132958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137146868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137161658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137175168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137187318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137201638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137218958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137240188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137253498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137310998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137324798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137337838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137350978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137365588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137378548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137392688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137408288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137422078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137435578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137450828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137463828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137476358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137490068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137504338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137522718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137540248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137553908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137568478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137582048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137598678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137616948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137631938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137660908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137676928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137693248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137709398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137724678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137740568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137754668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137768368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137783348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137797098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137813828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137827438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137842268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137855368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137868508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137887148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137904118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137918148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137932328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137946468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137963838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137978088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.137994668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138011068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138044298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138058278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138070778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138095538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138109738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138122928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138137538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138151988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138170138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138183928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138198118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138211748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138226248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138251388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138265918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138280948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138295078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138435388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.138471288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.154679538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.154734818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.155336438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:14.156124598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.157759528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.157810268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.158313318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.162360498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.162404648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.162998108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.165462308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.165939148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.165965338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.165981668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.166565018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.169440908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.169476528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.169495298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.169988328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.172362948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.172410928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.172428508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.172853198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.175863938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.181252498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.181309328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.181326228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.181349648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.181367088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.181382408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.181593568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.184077588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.184281208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.184353288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.185291988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.187960128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.188029478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.188080568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.191417608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.196698478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.206156838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.206197228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.206215048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.206636558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.209492938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.212176098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.222537978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.222709148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.222755488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.222803608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.222924738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.222964868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.222978268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.222990708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223003558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223020588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223033468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223046748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223137608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223152548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223164398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223177188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223189208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223201318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223213208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223228728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223241968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223254218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223268068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223280248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223292178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223304408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223316748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223644418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223692668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223706798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223719818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223732758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223746878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223759518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223771508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223782958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223795358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223807368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223819118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223831418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223843878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223855968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223867688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223879648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223891778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.223983028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224014508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224029648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224042008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224054738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224068558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224083178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224097808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224112158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224128508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224142308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224156128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224169398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224181038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224192518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224204218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224218188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224230168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224243758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224255478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224267078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224279098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224291158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224304088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224315418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224328388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224341688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224354708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224366208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224377978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224391268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.224417098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.242291528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.242621078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.242994608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.245544748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.245739148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.246233348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.250250878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.250294578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.250379758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.253168388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.253215978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.253275278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.253292218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.253839908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.260085518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.260131988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.260152648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.260611468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.263781318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.263826128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.263847948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.264478018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.268472188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.275495248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.275580328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.275605478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.275623308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.275638458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.276388718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.278773798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.278797988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.278816228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.279316978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.281612668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.281661308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.281687588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.282225258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.284599018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.293508688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.293607108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.293625868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.293844978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:14.296788938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(2)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.302491928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"label":"AllocPropolisIp","node_name":"propolis_ip"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.302662008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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-04T21:07:14.302689948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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-04T21:07:14.303053488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:14.303218768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.308315518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.308363648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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-04T21:07:14.308382328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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-04T21:07:14.308423398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.308449998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.311171548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.311210538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.313674248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.313805798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.316223628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.316265708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"632f7154-0662-4c7b-a530-a0ec553423c6\"))","node_id":"0","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.319087808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.319120068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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-04T21:07:14.321699258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"632f7154-0662-4c7b-a530-a0ec553423c6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.321756468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.321955988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.322517958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.330594188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"632f7154-0662-4c7b-a530-a0ec553423c6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.345922368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"632f7154-0662-4c7b-a530-a0ec553423c6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.345973758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"632f7154-0662-4c7b-a530-a0ec553423c6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.345994338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"632f7154-0662-4c7b-a530-a0ec553423c6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.346013278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"632f7154-0662-4c7b-a530-a0ec553423c6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.352059188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"632f7154-0662-4c7b-a530-a0ec553423c6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.352256548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.352304038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.356972248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.357017338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.359159648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.359211038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"2","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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-04T21:07:14.361666428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.361716198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.365189058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.365235608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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-04T21:07:14.371274188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.371336288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.372216398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.377714818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.377766478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.380892268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.380944538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.386222698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.386268228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.389588798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.389635548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.392077618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.392126518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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-04T21:07:14.396413828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.396465138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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-04T21:07:14.403679778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"propolis_ip\"","result":"failure","saga_name":"instance-start","saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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-04T21:07:14.403800178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","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-04T21:07:14.407053118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"d44ee542-1516-4aee-a823-7ac0bdbdb5dd","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: d44ee542-1516-4aee-a823-7ac0bdbdb5dd, saga_log: SagaLog { saga_id: d44ee542-1516-4aee-a823-7ac0bdbdb5dd, 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-04T21:07:14.407129798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407145818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407158048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407171328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407184478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407196278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407209078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407221928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407235028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407248278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407260678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407272068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407284298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407295698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407306838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407319068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407334318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407348268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407361538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407374858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407385938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407398588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407412408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407424668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407435748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407448758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407462368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407474248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407487568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407500068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407519308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407531988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407544588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407557188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407571338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407584768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407598058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407609118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407623658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407636288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407648818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407661398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407672478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407713568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407727828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407740268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407751288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407763868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407776188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407788368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407800918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407811528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407822778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407833738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407844438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407855028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407865678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407876698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407887858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407898748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407909528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407920888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407931888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407943178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407953728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407965908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407976438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407987298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.407998598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.408009608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.408020678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.408032018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.408042988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.408054468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.408065118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.408076088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.408087188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.425229128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.425271028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.425789758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.429814027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.429867487Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.430521897Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.432672837Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.432724097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.433789887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.439390837Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.439433457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.439458537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.439477617Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.440028887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.443067477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.443123067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.443142427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.443718357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.446305707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.446356277Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.446391417Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.446930577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.451016407Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.459136237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.459196717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.459213387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.459239037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.459260167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.459278047Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.459586067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.462733477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.462951737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.462971977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.463978197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.466642897Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.466685487Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.466734917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.467041057Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.469973507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.476970287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.477047977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.477066147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.477412637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.480399077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.483158017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.491975577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492019727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492036067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492048707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492061347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492074577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492086597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492100387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492114787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492127667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492139937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492388097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492404677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492418887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492432077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492444517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492457027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492470927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492490497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492506337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492519717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492532637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492547147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492560677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492573137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492585667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492599707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492611857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492623987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492638357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492650357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492662207Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492942737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.492986647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493004607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493018867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493031507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493048367Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493062107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493074197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493087377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493121457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493135517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493149667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493163437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493178607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493192017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493203807Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493216887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493231517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493250127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493264217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493279307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493291737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493304427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493317597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493398197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493413027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493425287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493437977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493451397Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493463727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493476337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493490137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493542427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493573957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493588097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493600267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493613437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493628107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493640927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493654707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493666767Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493679217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493692277Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493704957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.493717887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.513147487Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.513179477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.513701457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.519638307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.519704027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.520194557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.524090617Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.524164327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.524889497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.526760807Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.526812097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.526832707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.526848977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.527126357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.530017597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.530062907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.530085177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.530753517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.536074697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.536107017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.536125687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.536536697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.541194077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.547401987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.547462727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.547534097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.547552727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.547567497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.547786237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.551391727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.551473867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.551519327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.551912777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.555094647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.555133527Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.555152507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.556012927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.562232287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.567003137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.567078377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.567096407Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.567313937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:14.572511067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(3)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.575311907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"label":"CreateVmmRecord","node_name":"vmm_record"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.575382207Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.575406167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.575497067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:14.575678017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.578688867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"8ab36210-799e-42a9-912d-b51673e9a5b1"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.578738777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.578757577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.578792537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.578809487Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.587025997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.587098507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.591024877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.591075357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.593297287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.593342147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"3c1963ec-780a-4a8f-85e1-2e330101df43\"))","node_id":"0","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.595981687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.596026307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.598001447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3c1963ec-780a-4a8f-85e1-2e330101df43","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.598048157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.598095537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.598478137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.602558427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3c1963ec-780a-4a8f-85e1-2e330101df43","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.608332347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3c1963ec-780a-4a8f-85e1-2e330101df43","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.608382997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3c1963ec-780a-4a8f-85e1-2e330101df43","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.608404297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3c1963ec-780a-4a8f-85e1-2e330101df43","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.608423437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3c1963ec-780a-4a8f-85e1-2e330101df43","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.616918027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3c1963ec-780a-4a8f-85e1-2e330101df43","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.617009147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.617030417Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.619270317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.619325147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.621538507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"8ab36210-799e-42a9-912d-b51673e9a5b1","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.621609497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"8ab36210-799e-42a9-912d-b51673e9a5b1","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.622248837Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"8ab36210-799e-42a9-912d-b51673e9a5b1","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:14.626027707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.626186467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:0\"))","node_id":"2","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.628899597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.628935267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.631164727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.631211747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"3","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.633530697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.633576767Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.639513227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.639555027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.643357817Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.643398897Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.648335917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.648397547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.653472367Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.653516097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.654073107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.656824737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.656876687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.659289087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.659341387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.661310957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.661367327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.665471067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.665526417Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.667916097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.667949327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.670719337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.670769587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.675553837Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"vmm_record\"","result":"failure","saga_name":"instance-start","saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.675755297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","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-04T21:07:14.675976157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8ab36210-799e-42a9-912d-b51673e9a5b1","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 8ab36210-799e-42a9-912d-b51673e9a5b1, saga_log: SagaLog { saga_id: 8ab36210-799e-42a9-912d-b51673e9a5b1, 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-04T21:07:14.676230067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676259277Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676274337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676289257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676302217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676316917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676356857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676373197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676387327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676402557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676415617Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676467127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676482807Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676496317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676509587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676524377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676540457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676555917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676569187Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676580627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.676595527Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678306957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678326887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678341457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678354927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678368477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678384147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678628267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678670897Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678684197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678697907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678711057Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678725227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678737337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678790747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678818847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678833307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678847847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678865007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678882297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678898577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678929987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678943187Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.678956797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679026557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679050657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679063587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679078877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679092077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679104827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679118617Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679131327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679143007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679159107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679178707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679193517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679206437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679218987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679233977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679249057Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679265017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679279267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679293567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679307027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679320547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679338977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679368347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679384087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679397547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679410107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679422917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679436167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679449117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679470587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679483247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679495657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.679507507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.698152257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.698196687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.698731697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.703122277Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.703160827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.703539137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.711246117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.711294157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.711869677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.715923907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.715976697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.716029857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.716047397Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.716540437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.720318657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.720366217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.720384087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.720725227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.722983217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.723032047Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.723050087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.723809207Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.725785847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.730917137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.730970867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.731011467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.731112707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.731141567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.731315847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.731340127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.733833017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.733893927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.733913567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.734867177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.737035967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.737092337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.737111127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.737599677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.742848247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.751424537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.751483007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.751502447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.751745407Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.754015097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.756413336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766160826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766208476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766222396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766234396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766246356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766259616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766272726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766284006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766296556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766309996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766322596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766334516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766347286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766358946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766371136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766382776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766393826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766406306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766418296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766429886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766441306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766453626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766465526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766477776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766491286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766502376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766525656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766537986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766550756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766566246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766577736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766588656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766601926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766614516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766626366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766640586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766653566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766665756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766678196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766690636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766702106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766713636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766731016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766747186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766759556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766770476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766782956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766793906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766808476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766820626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766831536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766842716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766854016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766865126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766876286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766888986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766900146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766911306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766926846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766938796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766949436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766960476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766971396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766985206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.766999996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767011706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767022686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767033136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767045916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767058046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767069386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767081826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767092726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767109046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767121166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767132266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.767143286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.787380226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.787436636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.787879896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.790074646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.790126076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.791020196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.792836696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.792864026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.793371876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.795101646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.795175356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.795203956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.795221096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.795587646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.798379666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.798478836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.798502326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.799079666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.801366946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.801393126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.801410396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.801868206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.807970746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.813647486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.813820096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.813852676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:14.813918916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.813936876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.814045536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.816565846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.816611426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.816629746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.817041396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.819287976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.819320836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.819338076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.819798386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.823989716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.828631716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:14.828702396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.828722396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.828890036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:14.831529726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(4)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.834965946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"label":"MarkAsStarting","node_name":"started_record"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.835031336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.835052766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.835407606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:14.835634896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.838456126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.838719636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.838742156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.838759426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.838776776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.841453686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.841496726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.843797606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.843851116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.846469176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.846498816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"0bb46c47-eb3c-421c-b280-e99ec77bd297\"))","node_id":"0","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.853433456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.853485606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.855789156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"0bb46c47-eb3c-421c-b280-e99ec77bd297","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.855842766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.855865776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.856286596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.859267706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"0bb46c47-eb3c-421c-b280-e99ec77bd297","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.864025676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"0bb46c47-eb3c-421c-b280-e99ec77bd297","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.864096796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"0bb46c47-eb3c-421c-b280-e99ec77bd297","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.864116476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"0bb46c47-eb3c-421c-b280-e99ec77bd297","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.864136226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"0bb46c47-eb3c-421c-b280-e99ec77bd297","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.873446876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"0bb46c47-eb3c-421c-b280-e99ec77bd297","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:14.873585926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.873610246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.876391986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.876419206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.878735536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.878789806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.879222946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:14.881697476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.881748546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:1\"))","node_id":"2","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.884393446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.884428086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.886925776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.886974056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.887401326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.890547486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.890576996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.890597766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.890616576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.891037656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.892852016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.895626926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.895703116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.895738076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.895980636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:14.933424006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.933478416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"0bb46c47-eb3c-421c-b280-e99ec77bd297\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:14.895564Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:14.895564Z\")})","node_id":"3","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.936922646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.936974236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.939250856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.939304206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"4","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.942031486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.942085506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.945683496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.945751386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.950211786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"0bb46c47-eb3c-421c-b280-e99ec77bd297","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:14.950258816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.950287166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.950703296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:14.955038196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.955154206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.955199926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.955222106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.955730606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.956332576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.956357446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.959227516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.959256546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.961297446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.961329016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.963775816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.963831026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.970995346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.971072946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.971385456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.976285906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.976337956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.978643766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.978692896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.980572536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.980602076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.982609146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.982652286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:14.984482666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:14.984505646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.986502056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.986544496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.989857996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"started_record\"","result":"failure","saga_name":"instance-start","saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.989922606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","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-04T21:07:14.990049756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"dd56e1fe-5f75-4215-91eb-1645a85cb0b0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: dd56e1fe-5f75-4215-91eb-1645a85cb0b0, saga_log: SagaLog { saga_id: dd56e1fe-5f75-4215-91eb-1645a85cb0b0, 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-04T21:07:14.990312486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990363236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990380476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990393336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990406186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990420806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990433396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990445566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990458056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990473926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990488866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990503026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990517076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990530766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990545066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990559536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990572216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990585826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990601786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990616686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990629636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990642376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990655146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990667656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990681296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990695896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990709616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990723096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990735406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990750446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990762846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990775496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990788746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990801686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990814486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990832396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990845386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990858036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990870606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990884136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990896976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990908646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990921156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990934606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990946516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.990959496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991019276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991043126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991056706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991069246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991083756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991100416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991114326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991136906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991150886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991165986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991180006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991198526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991223326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991236746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991249676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991265256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991278756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991291356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991304106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991318356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991334016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991347526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991367646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991400776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991415326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991429636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991443366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991503846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991517286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991534126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:14.991550416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.024336736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.024395436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.025061516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.027933036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.028315286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.028330696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.030666886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.030723086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.032136646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.034224206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.034282476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:15.034303136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.034319196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.034956876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.039943486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.039997516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.040017796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.040425956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:15.041341736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:15.041417946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.041650486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.041749396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.041857776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:15.045368926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:15.045408136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:15.050016106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:15.050636966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.051179626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:15.051870426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:15.051933186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:15.051972076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:15.052072366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.052105406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.052124526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.052672206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:15.053358996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.053403746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.053455746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.053815286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.054712506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:15.054757456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:15.057318086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.062190016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.062245446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.062260716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.062287676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:15.062311096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.062328536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.062659496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:15.063422066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:15.063452496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.065138436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.065184056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.065202966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.065765326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.068078806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.068122976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.068141896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.071124706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.074179166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.078762026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.078818576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.078836406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.079104326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.081294726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.083874426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(2)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.092743856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.092819456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.092862636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.092897926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.092948606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093000536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093037586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093080116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093118516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093153656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093195136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093228776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093271286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093288926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093448016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093495416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093510906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093525146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093538386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093550366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093563556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093577296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093590666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093606386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093618246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093652506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093667046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093783386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093800276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.093812066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094062796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094077216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094090336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094104296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094117016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094128966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094140746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094153536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094164946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094176776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094190156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094202936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094214226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094225986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094238076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094249576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094261586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094273366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094284686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094296616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094307816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094321166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094333416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094412026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094449836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094627756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094665996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094680096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094694476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094707906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094721166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094735596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094747386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094760266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094776636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094788846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094800116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094812786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094825456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094836816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094849496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094861566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094872526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094883766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094897146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094911226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.094923466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.116917576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.116970516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.117434786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.124467636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.124509036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.125038876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.128274106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.128315676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.131374536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.133895536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.134006516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:15.134049036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.134070726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.136646326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.139440706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.139527486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.139911016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.140515506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:15.143854986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.144180296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.144207376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.144368856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.145103346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.148218276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.153728776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.153765876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.153789136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:15.153806836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.153821556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.154369736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.156792936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.156827046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.156845316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.157156736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.160294886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.160341136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.160361896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.161673146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.166736156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.173310086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.173366986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.173415836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.173670486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:15.178527306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(5)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.181860506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.181926266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.181946706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.182104666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":2,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:15.182457826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57"} {"msg":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.183493606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.183537856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.183556936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"228.28685ms"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.196323446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0c842cca-051a-4e76-be1c-b7f7fe7fac57"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.196377256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.196397546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.196415286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.196431686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.202901066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.202955346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.207098016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.207154496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.210334676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.210385466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"8481751e-0a15-48a8-85b7-4381be947bb9\"))","node_id":"0","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.213368016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.213417056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.217003166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8481751e-0a15-48a8-85b7-4381be947bb9","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.217055676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.217078196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.217620626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.223215596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8481751e-0a15-48a8-85b7-4381be947bb9","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.234172176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8481751e-0a15-48a8-85b7-4381be947bb9","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.234240966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8481751e-0a15-48a8-85b7-4381be947bb9","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.234317756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8481751e-0a15-48a8-85b7-4381be947bb9","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.234335916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8481751e-0a15-48a8-85b7-4381be947bb9","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.246546056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8481751e-0a15-48a8-85b7-4381be947bb9","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.246730026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.246761056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.255130366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.255181336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.259689986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.259761496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.260478616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:15.265329946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.265454586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:2\"))","node_id":"2","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.268538986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.268569946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.272186916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.272253246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.272810946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.276106346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.276213666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.276238176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.276257636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.277227496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.280093636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.284716536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.284769936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.284800416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.285344656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:15.369207286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.369324226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"8481751e-0a15-48a8-85b7-4381be947bb9\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:15.283067Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:15.283067Z\")})","node_id":"3","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.373672106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.373746586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.378854696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"8481751e-0a15-48a8-85b7-4381be947bb9","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.378918726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.378951756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.380209096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.385281696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.385344336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.385969366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.389714046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.389746246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.390583766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.393993906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.394135346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:15.394168476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.394195546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.394862066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.397723846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.397963036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.397996256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.398431316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.401923276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.401977216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.402004316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.402574706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.405571406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.410563556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.410631976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.412282346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:15.412331956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.412361096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.413075736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.416019076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.416077636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.416105056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.416453946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.420262296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.420329956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.420361876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.421143606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.424162796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.428746085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.428815805Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.428845225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.429036155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:15.438498305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.438560295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"8481751e-0a15-48a8-85b7-4381be947bb9\"), \"state_generation\": Number(3), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.442753955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.442809555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.445713505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.445743855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"5","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.451912715Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.452117365Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.456419415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.456450075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.459325845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.463295665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.463356605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.468735375Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.468786625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.471733065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"8481751e-0a15-48a8-85b7-4381be947bb9","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.471798195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.471830765Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.472952155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:15.476491275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.476566265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.476636275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.476712505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.477167915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.478882515Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.478930535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.483592815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.483647115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.486203715Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.486235235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.488781155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.488813965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.491810025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.491841035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.493108835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.502127585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.502322915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.508352125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.508412625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.513861425Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.513932335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.516469485Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.516509945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.516535055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.517061425Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.518038875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.518089885Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.520245435Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.520274325Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.520340755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"43.74277ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.520617915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.520641575Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.524828015Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.524884055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.528291945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.528579645Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.571481125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","zone_id":"b2860509-35ad-4395-bfee-8c1ad2330001 (omicron_zone)","sled_agent_url":"http://[::1]:10123"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.571552505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.571759345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.571908215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.627780695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","zone_id":"d87c7e62-16f6-4d93-9b90-c358d2c1def5 (omicron_zone)"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.627841025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"internal_dns_url":"http://[::1]:61753","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:61753/config","method":"GET"} {"msg":"saga finished","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:15.628578795Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"local_storage_records\"","result":"failure","saga_name":"instance-start","saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.628651265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","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-04T21:07:15.628889385Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0c842cca-051a-4e76-be1c-b7f7fe7fac57","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 0c842cca-051a-4e76-be1c-b7f7fe7fac57, saga_log: SagaLog { saga_id: 0c842cca-051a-4e76-be1c-b7f7fe7fac57, 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-04T21:07:15.629270915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629298755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629347535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629361525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629377135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629391005Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629404255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629416865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629430375Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629443165Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629456075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629468945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629482555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629499485Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629515235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629529675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629543035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629557455Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629570525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629583915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629597865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629611705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629624735Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629637615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629650145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629662915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629680035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629695285Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629711165Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629726705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629787825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629805175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629819185Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629846235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629860135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629880505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629895095Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629908595Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629922285Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629936505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629951925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629967055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629982115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.629996075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630010065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630025555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630039155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630057695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630071105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630084495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630289375Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630306515Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630469565Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630490035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630533835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630545905Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630558255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630571545Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.630584535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.632949265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633020005Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633040005Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633084845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633099015Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633113715Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633132685Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633149205Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633163965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633176905Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633190065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633203795Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633217265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633231365Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633257265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633271745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633285475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.633337215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.658869365Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.658938635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.659497555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:15.660157325Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:61753","component":"http","kind":"dns","component":"internal_dns_server","remote_addr":"[::1]:38448"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.661014515Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"GET","req_id":"14a56e02-3184-496e-b335-1758ebfe9d21","remote_addr":"[::1]:38448","local_addr":"[::1]:61753","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-04T21:07:15.661046815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"GET","req_id":"14a56e02-3184-496e-b335-1758ebfe9d21","remote_addr":"[::1]:38448","local_addr":"[::1]:61753","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-04T21:07:15.661809985Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"GET","req_id":"14a56e02-3184-496e-b335-1758ebfe9d21","remote_addr":"[::1]:38448","local_addr":"[::1]:61753","component":"http","kind":"dns","component":"internal_dns_server","latency_us":791,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.662315755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"internal_dns_url":"http://[::1]:61753","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:61753/config\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"14a56e02-3184-496e-b335-1758ebfe9d21\", \"content-length\": \"3478\", \"date\": \"Thu, 04 Jun 2026 21:07:15 GMT\"} })"} {"msg":"finished collection from DNS server","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.662591295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","zone_id":"d87c7e62-16f6-4d93-9b90-c358d2c1def5 (omicron_zone)"} {"msg":"finished collection from internal DNS servers","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.662661545Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.662679765Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.662923215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.662957025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.662979845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.662999535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.663404795Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.664366295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.664444135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.664689385Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.666136195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.668752285Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.669288315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.669317395Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.669608585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.670308045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.670328325Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.670665035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.672143955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.672242225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:15.672265555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.672283075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.672572345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.675777525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.675833335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.675853655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.676336275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.684434175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.684484595Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.684504965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.684978625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.688201755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.698787825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.698987225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.699005965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.699029245Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:15.699048985Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.699066785Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.699481275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.707871585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.707932085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.707949585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.708335525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.711728845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.711815735Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.711962575Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.712443985Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.716196635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.724376555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.724443405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.724463535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.724787105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.728206435Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.733601055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(4)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750550085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750594565Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750609015Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750622815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750635915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750650915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750663075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750675095Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750686715Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750735865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750750285Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750763715Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750777395Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750790175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750801395Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750880415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750895635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750907835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750920765Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750933765Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750947705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750961815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.750973675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751012145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751025705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751040135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751052705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751067315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751079595Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751092635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751104965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751117595Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751135705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751150125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751164955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751177215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751240615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751253405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751269785Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751283375Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751297175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751309455Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751321505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751332825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751344955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751357935Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751371125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751382345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751395665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751407395Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751420275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751432785Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751446145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751459255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751474075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751485875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751517825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751531335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751551155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751565025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751578015Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751589115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751601845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751612995Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751624095Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751634955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751646605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751660635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751674275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751685915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751697295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751710795Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751721675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751734145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751747045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751759995Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.751772925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.772084294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.772114994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.772876004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.776312094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.776391164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.776714724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.779329024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.779353764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.779905754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.782274564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.782304744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:15.782323574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.782341934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.783733014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.788173254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.788233384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.788252824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.788876414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.792059894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.792160224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.792179354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.792569454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.797216114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.802335914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.802410144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.802437114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:15.802457924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.802475594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.802724764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.805812124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.805846304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.805874134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.806325894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.808853074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.808909754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.808932804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.809616884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.813611564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.826491494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.826573994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.826620804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.827023094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:15.830199504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(6)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.833604844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.833664874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:15.833690154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:15.833963054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":4,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:15.834137754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.842644764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"65e5cde3-4755-47ec-8112-9f803a8a6b56"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:15.842714794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:15.842793534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:15.842836494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.843001134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.847759644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.847817564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.850852744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.850885644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.854079824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.854113734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70\"))","node_id":"0","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.857185794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.857247924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:15.861633294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.861695024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.861828804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.862270304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.866435574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.873943784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.874000444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.874022184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.874040154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.879907104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:15.880114944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.880142844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.885825044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.885893604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:15.888866064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.888934994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.889580534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:15.892692404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.892738524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:3\"))","node_id":"2","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.897066604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.897098904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:15.903099464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.903139624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.903713424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.908073574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.908145044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.908169984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.908191054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.908670904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.911799444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.917268854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.917324544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.917356814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.917771274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:15.958415244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.958455354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:15.917256Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:15.917256Z\")})","node_id":"3","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.964187334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:15.964247984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:15.967969834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.968028304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.968067494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.968680504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.972956124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.973031184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.973724354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.977052754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.977129834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.977546044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.980212344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:15.980444254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:15.980501924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.980528374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.981387444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.983735224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:15.983798754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.983826074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.984816804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:15.991869374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:15.991936814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.991965334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.992757154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:15.995514534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.001392634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.001452074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.001489934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:16.001518264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.001542954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.001770824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.005220394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.005277144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.005306684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.005941014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.011129014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.011379364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.011426914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.012586564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.016023804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.021282594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.021348514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.021375354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.021594274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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 inventory collection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.033927514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd"} {"msg":"inventory collection complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.034094404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","time_started":"2026-06-04 21:07:07.023391 UTC","collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.035726374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"collection_id\":\"580c7e07-6b00-4188-9c77-501bd84d5edd\",\"time_done\":\"2026-06-04 21:07:15.662740 UTC\",\"time_started\":\"2026-06-04 21:07:07.023391 UTC\"}","iteration":2,"elapsed":"10.874056748s"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.035779884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.035903264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.035927834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.035948154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.035968464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.039751804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.041463454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_loader","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-04T21:07:16.041654554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.041692364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.041715474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.041737524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.042431404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.043726694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.043775844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70\"), \"state_generation\": Number(5), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.045058484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:16.046325904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.046356074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.046376864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.046396054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:16.046414304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:16.046430864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:16.046451104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.050951234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.051007654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.051028974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.051318754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.052645844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.057394974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.057447564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.057472204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.058492004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.059838104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.059878724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.063114814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.063176084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.063811184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.065216264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.065265154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.066396024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.067987134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:16.070227954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.070314064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.073392964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"inventory_prune_one: nothing eligible for removal (too few)","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.073566594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","candidates":"[(580c7e07-6b00-4188-9c77-501bd84d5edd, 2)]"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.073637584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.075058994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"bfbf3680-458b-4877-bd78-3b3cc1fec892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:16.075114114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"bfbf3680-458b-4877-bd78-3b3cc1fec892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:16.075371494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"bfbf3680-458b-4877-bd78-3b3cc1fec892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:16.075413304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"bfbf3680-458b-4877-bd78-3b3cc1fec892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:16.079616244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"bfbf3680-458b-4877-bd78-3b3cc1fec892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.080790384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:16.081642514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:16.081675774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:16.081695214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:16.082405494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.082573694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.083726694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.084905464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:16.084943484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.084964854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:61882","req_id":"ebe3b8ea-cc6b-42a4-9263-46a1645adc8e","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: 2a 0f 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-04T21:07:16.085069774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:61882","req_id":"ebe3b8ea-cc6b-42a4-9263-46a1645adc8e","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 10767,\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-04T21:07:16.085241014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.085369354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.085387694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:61882","req_id":"ebe3b8ea-cc6b-42a4-9263-46a1645adc8e","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: 44179, 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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.086180984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"bfbf3680-458b-4877-bd78-3b3cc1fec892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":10719,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.087243834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.087418944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.088252644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.089317724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 44179, 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: 1103, tv_nsec: 551182597 } })","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-04T21:07:16.089385114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.090134234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"bfbf3680-458b-4877-bd78-3b3cc1fec892\", \"content-length\": \"405\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.090368654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:16.091214094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"22ec1d3a-479c-40b6-8f68-90b97d032892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:16.091279534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"22ec1d3a-479c-40b6-8f68-90b97d032892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:16.091482644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"22ec1d3a-479c-40b6-8f68-90b97d032892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:16.091524794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"22ec1d3a-479c-40b6-8f68-90b97d032892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:16.091905124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"22ec1d3a-479c-40b6-8f68-90b97d032892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:16.092777824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.092826294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:16.092855434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.092882584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.093159574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.093975284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:16.094027344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.094117934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:8074","req_id":"f118f0b3-05e4-4b47-a2cc-3a394430fd7d","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: f5 fb 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-04T21:07:16.094199044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:8074","req_id":"f118f0b3-05e4-4b47-a2cc-3a394430fd7d","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 62971,\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-04T21:07:16.094391224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.094474764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:8074","req_id":"f118f0b3-05e4-4b47-a2cc-3a394430fd7d","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-04T21:07:16.095131444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"22ec1d3a-479c-40b6-8f68-90b97d032892","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":3994,"response_code":200} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.141187714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_clickhouse-admin-keeper._tcp.control-plane.oxide.internal"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.145719584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"22ec1d3a-479c-40b6-8f68-90b97d032892\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07:16 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-04T21:07:16.145820664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.145843134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.145859064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.149501904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.149565704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.149597064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.150076334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.151637864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.151771114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:17117","req_id":"f5a6ad9e-b5c5-4879-be95-793207a80e66","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 87 (0x57) bytes\n0000: bd 4d 01 00 00 01 00 00 00 00 00 01 18 5f 63 6c .M..........._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-04T21:07:16.151876184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:17117","req_id":"f5a6ad9e-b5c5-4879-be95-793207a80e66","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 48461,\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-04T21:07:16.152111194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"_clickhouse-admin-keeper._tcp"} {"msg":"failed to handle incoming DNS message: MessageRequest {\n header: Header {\n id: 48461,\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-04T21:07:16.152194814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:17117","req_id":"f5a6ad9e-b5c5-4879-be95-793207a80e66","component":"dns","kind":"dns","component":"internal_dns_server"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.152358314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_cockroach._tcp.control-plane.oxide.internal"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.152644954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:65346","req_id":"10263bea-5fb8-4f80-8f29-e776f879ae79","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 73 (0x49) bytes\n0000: 9b 90 01 00 00 01 00 00 00 00 00 01 0a 5f 63 6f ............._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-04T21:07:16.152683804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:65346","req_id":"10263bea-5fb8-4f80-8f29-e776f879ae79","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 39824,\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-04T21:07:16.152756474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.152844144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"8125a828-517a-4af4-bafc-c6209b62eab1.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.152871914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:65346","req_id":"10263bea-5fb8-4f80-8f29-e776f879ae79","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[Record { name_labels: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.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: 63899, target: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.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-04T21:07:16.153089464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 63899, target: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\") }) }, Record { name_labels: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }], valid_until: Instant { tv_sec: 1103, tv_nsec: 615004467 } })","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-04T21:07:16.153121144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\")"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.153467364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.153499114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.153523964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.153965494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.155319634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4002","req_id":"2fca5647-4121-44b8-a064-2e9785e0366a","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 99 (0x63) bytes\n0000: ae da 01 00 00 01 00 00 00 00 00 01 24 38 31 32 ............$812\n0010: 35 61 38 32 38 2d 35 31 37 61 2d 34 61 66 34 2d 5a828-517a-4af4-\n0020: 62 61 66 63 2d 63 36 32 30 39 62 36 32 65 61 62 bafc-c6209b62eab\n0030: 31 04 68 6f 73 74 0d 63 6f 6e 74 72 6f 6c 2d 70 1.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-04T21:07:16.155368144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4002","req_id":"2fca5647-4121-44b8-a064-2e9785e0366a","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 44762,\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(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\"),\n ),\n original: Query {\n name: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\"),\n query_type: AAAA,\n query_class: IN,\n },\n },\n ],\n original: [\n 36,\n 56,\n 49,\n 50,\n 53,\n 97,\n 56,\n 50,\n 56,\n 45,\n 53,\n 49,\n 55,\n 97,\n 45,\n 52,\n 97,\n 102,\n 52,\n 45,\n 98,\n 97,\n 102,\n 99,\n 45,\n 99,\n 54,\n 50,\n 48,\n 57,\n 98,\n 54,\n 50,\n 101,\n 97,\n 98,\n 49,\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-04T21:07:16.155448124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"store","component":"internal_dns_server","key":"8125a828-517a-4af4-bafc-c6209b62eab1.host"} {"msg":"dns response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.155475864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4002","req_id":"2fca5647-4121-44b8-a064-2e9785e0366a","component":"dns","kind":"dns","component":"internal_dns_server","additional_records":"[]","records":"[Record { name_labels: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\"), dns_class: IN, ttl: 0, rdata: AAAA(AAAA(::1)) }]","query":"LowerQuery { name: LowerName(Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\")), original: Query { name: Name(\"8125a828-517a-4af4-bafc-c6209b62eab1.host.control-plane.oxide.internal.\"), query_type: AAAA, query_class: IN } }"} {"msg":"begin collection","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.155785254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.155911264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","mgs_url":"http://[::1]:44179"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.155930954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/ignition","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.157227544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/ignition\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5e16bd73-a788-4afa-a45b-7620bdc00766\", \"content-length\": \"835\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.157375454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.157614664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.163212994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.163265974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.163293724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.163601624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.164997514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.165061134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:16.165092494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.165120754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.165382374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.166942464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"592021f6-c923-4ad9-a6d1-528026780106\", \"content-length\": \"734\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.167201664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/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-04T21:07:16.167630884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.167669744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.167726364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.167987394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.169772384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"4f460611-d23d-4e4b-b25a-273d7a9b6027\", \"content-length\": \"111\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.170232134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0/component/sp/caboose?firmware_slot=1","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.170527644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.170562674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.170588634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.170851964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.173082514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"380f920e-272e-43fa-8ebf-48c07aa81bff\", \"content-length\": \"111\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.173260094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0/component/rot/caboose?firmware_slot=0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.174910364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8c6db158-562a-46b4-9056-ae5dba8134c4\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.174995974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.176430234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.182387184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.184398904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.184423904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.186894954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"93c61c4e-2639-46ea-956d-b75d3d5a5a21\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.186980654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0/component/stage0/caboose?firmware_slot=0","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.189027654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.189081354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.190249204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8a2c7573-250e-4be0-b35f-71f0efcc0ea3\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.190307184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/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-04T21:07:16.191242434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ac3de6a7-fb97-4c2a-95e5-ae7c3a7c8f39\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.191346714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/0/component/rot/cmpa","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.191839594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.191868084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.193094384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"1bbe7ac1-8246-4573-987e-50aff66490c7\", \"content-length\": \"702\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.193156254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/0/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.194013094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"af57c382-b49f-46cc-98ff-1e774c4f752f\", \"content-length\": \"727\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.194071774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/0/component/rot/cfpa","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.194652854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.194678014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.197370124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"321185a3-d31c-4db1-bcc2-f378ed8cbbe6\", \"content-length\": \"729\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.197462344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/0/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.198037684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"4b74d66b-9800-4ec7-8c11-839910a9bb43\", \"content-length\": \"728\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.198108094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.200070024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"89bf2a49-5c90-46c0-a993-12ca2737564f\", \"content-length\": \"734\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.200744424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/sp/caboose?firmware_slot=0","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.201345374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.201387734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.203541134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a524f451-0e53-4b33-95a4-0807fb44727f\", \"content-length\": \"111\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.203626724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/sp/caboose?firmware_slot=1","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.204824414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.204867604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.208238314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f59f2cb1-0c95-48a8-808d-d18e202f8286\", \"content-length\": \"111\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.208303334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/rot/caboose?firmware_slot=0","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.208993164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.209027484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.211507444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"50372eae-c3c8-4f2d-ae7e-77c144ad5fa0\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.211605134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.212374534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.212400854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.215164414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5bee25ef-efb1-4ae7-8082-ce3d8a7f8a64\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.215459844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/stage0/caboose?firmware_slot=0","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.217171014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.217220414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.223453844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"125175a9-5091-4ab0-861b-86ec5fa25ff6\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.223603164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/stage0/caboose?firmware_slot=1","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.223990984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.224040724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.231264314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"398705c3-d66a-4909-888b-7dbf92b1e651\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.231481464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/switch/1/component/rot/cmpa","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.232137064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.232177794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.236553434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"291d04d2-f2dd-4450-9cec-dacd1844a5ef\", \"content-length\": \"702\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.239562804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/1/component/rot/cfpa","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.240083704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.240133544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.242591834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"c843b69a-fd43-4d26-8087-28760c1e415a\", \"content-length\": \"727\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.242823864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/1/component/rot/cfpa","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.243794174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.243819934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.246842644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ed4f7851-851a-4915-9841-25162bcc52a4\", \"content-length\": \"729\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.246894334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/switch/1/component/rot/cfpa","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.247285324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.247322234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.248398284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/switch/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"fd599b36-671e-472e-b3c6-36f10868a2f1\", \"content-length\": \"728\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.248591964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.249563974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"599efbb1-477d-4f41-ba53-b84128ab75ea\", \"content-length\": \"723\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.249710654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/host-boot-flash/active-slot","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.250340354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.250377674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.251276064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/host-boot-flash/active-slot\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d4557b45-cc0a-4e33-8235-4e976b7f3e91\", \"content-length\": \"10\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.251352914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/host-boot-flash/hash/0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.252306884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/host-boot-flash/hash/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"92f3eb55-2cf8-4761-aa6e-716d1b3d058f\", \"content-length\": \"144\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.252371884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/host-boot-flash/hash/1","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.252583454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.252605234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.260861814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.260923734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.262565934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/host-boot-flash/hash/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"3bd13c4c-c7fc-4233-a58f-3d6c0997b7d8\", \"content-length\": \"147\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.262622904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/sp/caboose?firmware_slot=0","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.263429094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.263468384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.264766144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"66437d82-3c77-428f-854e-949d1e07e4dd\", \"content-length\": \"109\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.264852754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/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-04T21:07:16.265543814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"4d3877a0-4094-4085-932c-fe355c6ef9f6\", \"content-length\": \"109\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.265613784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/rot/caboose?firmware_slot=0","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.266131834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.266187774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.267722344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"3e0b6826-7cde-46cd-9298-5d069797b5d7\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.267801644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.268188074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.268242784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.271605274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.271648954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.272602674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"Loaded\":{\"collection_id\":\"580c7e07-6b00-4188-9c77-501bd84d5edd\",\"time_loaded\":\"2026-06-04T21:07:16.041214224Z\",\"time_started\":\"2026-06-04T21:07:07.023391Z\"}}","iteration":2,"elapsed":"231.38133ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.272647894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.272815324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd","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-04T21:07:16.272848574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd","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-04T21:07:16.272872444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd","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-04T21:07:16.272894314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd","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-04T21:07:16.273302024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd","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-04T21:07:16.273915234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.273944324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.273960264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.273976354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.274223684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.274249404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"44.79µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.274353184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.274682384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.274709474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.274731044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.274780954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.277107714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.279256784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.279301324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.279322604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"Disabled\"","iteration":4,"elapsed":"46.05µs"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.279897044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6bb2e5a4-039f-4e07-82fb-a287cbe92317\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.280085554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/stage0/caboose?firmware_slot=0","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.280650434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.280687834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.281518164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd","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-04T21:07:16.283898764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd","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-04T21:07:16.283930154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"building sitrep 5ca2a0d8-0b72-46ee-8970-90482df658b6 (sitrep)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.284117214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"inv_collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd (collection)","parent_sitrep_id":"None","sitrep_id":"5ca2a0d8-0b72-46ee-8970-90482df658b6 (sitrep)","parent_sitrep_id":"None","inv_collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd","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-04T21:07:16.284237854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"580c7e07-6b00-4188-9c77-501bd84d5edd","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-04T21:07:16.284368554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"inv_collection_id\":\"580c7e07-6b00-4188-9c77-501bd84d5edd\",\"known_classes\":[],\"outcome\":{\"RanAnalysis\":{\"analysis_status\":{\"end_time\":\"2026-06-04T21:07:16.284195794Z\",\"outcome\":{\"Error\":\"FM analysis is not yet implemented\"},\"report\":{\"cases\":[],\"comment\":\"\",\"sitrep_id\":\"5ca2a0d8-0b72-46ee-8970-90482df658b6\"},\"start_time\":\"2026-06-04T21:07:16.283978694Z\"},\"prep_status\":{\"errors\":[],\"report\":{\"closed_cases_copied_forward\":{},\"inv_id\":\"580c7e07-6b00-4188-9c77-501bd84d5edd\",\"new_ereport_ids\":[],\"open_cases\":{},\"parent_inv_id\":null,\"parent_sitrep_id\":null}}}},\"parent_sitrep_id\":null}","iteration":2,"elapsed":"11.69486ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.284492324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.287108004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.287165304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.287188494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.287224874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.287246444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.287864744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.294758514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.294805484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.295786274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.300881564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.300980954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.301005504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.301342504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.304273704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:13269","req_id":"a1d1dd58-3272-4059-ae26-37962e9eb99c","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: bb f5 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-04T21:07:16.304364704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:13269","req_id":"a1d1dd58-3272-4059-ae26-37962e9eb99c","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 48117,\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-04T21:07:16.304538614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.304639704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.304698394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:13269","req_id":"a1d1dd58-3272-4059-ae26-37962e9eb99c","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: 64395, 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":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.305692374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.305767114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","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":20,"time":"2026-06-04T21:07:16.307428894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1103, tv_nsec: 769336777 } })","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-04T21:07:16.307504114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.308110524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:37011","req_id":"7e886de9-c8a3-4ea8-bb3a-25f9cf7797f1","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 29 25 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-04T21:07:16.308160604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:37011","req_id":"7e886de9-c8a3-4ea8-bb3a-25f9cf7797f1","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 10533,\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-04T21:07:16.308252364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.308267004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:37011","req_id":"7e886de9-c8a3-4ea8-bb3a-25f9cf7797f1","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-04T21:07:16.383627184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.384309324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.384403574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.384461264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.384501754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.385027544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.386189784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.386261434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"6","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.388155164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"bdb6f55d-c66b-4d50-90fe-52dbcbc2cdda\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"searching for multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.388391114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.388508414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.388563764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.388976114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.389622584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.392030534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.392105454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.392132124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.392155344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.392175114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.392441024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.396283574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.396333204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.401384414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.406155614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.406208114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.406230684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.407192704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"found multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.408301034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.408339444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.408383974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.408406934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.409124254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.413467124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"7cedba4d-d2a7-4aa5-984c-c11325994885\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.413875884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/stage0/caboose?firmware_slot=1","method":"GET"} {"msg":"ensured all Crucible datasets present in inventory have database records","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.414274694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.414319404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.414369494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.414395494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.414415594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.414985104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"member state reconciliation completed","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.415399104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.415422644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.415438514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.415461534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.415723604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.420829684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6983c62b-4071-4e3e-b866-8ebea89c572a\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.421726634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/0/component/rot/cmpa","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.421808764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.431582713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.431645383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.431734023Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.432037693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.432062343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.433090543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.434784613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.434831093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.436568953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.439311493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.439364663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.439389913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.439590293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.440373363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.440417843Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.441106563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"48afdd26-631f-4d02-8a96-ffb20abdd1b7\", \"content-length\": \"702\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.441226093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/0/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.442054883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"438a6c9a-3998-4357-82e7-8aefc08262d4\", \"content-length\": \"727\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.442108363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/0/component/rot/cfpa","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.442661453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.442700573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.443486383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"9d43234e-c1cc-4f58-b43c-6a602aea6de3\", \"content-length\": \"729\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.443669863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/0/component/rot/cfpa","method":"GET"} {"msg":"all LocalStorage datasets reconciled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.443946383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.443975203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.443995933Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.444017223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.444036743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.444370943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.445143443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.445200993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.446363063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/0/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ec87804a-69d2-4daf-961b-0a7b0bc5b159\", \"content-length\": \"728\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.446511683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.446921533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.449977713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.450022193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.450048053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.450081373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.450103153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.450905133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.452357323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.452401793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.455806063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.460158773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.460216683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.460240303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.460571053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.461706713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.461731233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.462506523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.462584683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.462608093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.462635763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.463054783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"all LocalStorageUnencrypted datasets reconciled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.467026533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.467135083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"blueprint_id\":\"d2af2e4d-5629-488c-9cd9-9734b471d829\",\"inventory_collection_id\":\"580c7e07-6b00-4188-9c77-501bd84d5edd\",\"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":"192.763879ms"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.467606583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"908c0ddb-43cb-42eb-92c7-6ef6627d10f7\", \"content-length\": \"723\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.467774633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/host-boot-flash/active-slot","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.468364053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.468389693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.469601803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/host-boot-flash/active-slot\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"bf6433ee-6660-4350-a963-3ca4c11772bb\", \"content-length\": \"10\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.469663053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/host-boot-flash/hash/0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.470948803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/host-boot-flash/hash/0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"679dab6b-05c9-4fcc-92e7-84149a62718e\", \"content-length\": \"144\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.471464063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/host-boot-flash/hash/1","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.471861293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.471896143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.474550833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/host-boot-flash/hash/1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"cb40d725-791f-4e62-afa0-00b2f27306a0\", \"content-length\": \"147\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.474752323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/sp/caboose?firmware_slot=0","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.475401833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.475427863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.476909603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/sp/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f4f2e81c-ebcf-4432-96c4-5ad640b0b882\", \"content-length\": \"109\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.476981023Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/sp/caboose?firmware_slot=1","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.477811573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/sp/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"4c9add7e-beb4-45fb-92d5-98f09650a746\", \"content-length\": \"109\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.477875953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/rot/caboose?firmware_slot=0","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.478123943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.478149603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.483055753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e54168d5-d9bf-400e-81e1-d0314ff3ab9b\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.483133303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/rot/caboose?firmware_slot=1","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.484555713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.484612313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.485815783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"58a86b9c-243f-4482-9bbe-cd6d776bded8\", \"content-length\": \"163\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.485881783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/stage0/caboose?firmware_slot=0","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.487064713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/stage0/caboose?firmware_slot=0\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"dd0a5c56-bd8a-43b2-b73b-c160430f1f3f\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.487125953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/stage0/caboose?firmware_slot=1","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.487199593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.487221793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.488736933Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/stage0/caboose?firmware_slot=1\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"7177be63-259c-41d4-bbd8-ad34ada402f3\", \"content-length\": \"166\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.488792733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:44179/sp/sled/1/component/rot/cmpa","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.491439113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.491495863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.492496313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/cmpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"3241f45a-7c1d-4af4-a946-4cf7a4841e60\", \"content-length\": \"702\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.492582663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/1/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.493537333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"c57e7b34-62d3-4cae-a097-61d626e49a00\", \"content-length\": \"727\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.493645003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/1/component/rot/cfpa","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.493872223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.493988103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.495093913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ed08c6b7-059a-4784-a434-e35647e974b3\", \"content-length\": \"729\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.495168243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:44179/sp/sled/1/component/rot/cfpa","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.495993313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"addr":"[::1]:44179","gateway_url":"http://[::1]:44179","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:44179/sp/sled/1/component/rot/cfpa\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ca238840-aea3-4c70-b383-45632eb75750\", \"content-length\": \"728\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.496067133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.496155993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.496222763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.496259203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.496728383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.497677333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.497935753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.499002933Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.499045393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.499126543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.500029343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.500998433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.503751683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.503835273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.503860583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.503883103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.503902513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.503921273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.504613233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.504785133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.507132263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.507187143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.507269373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.507292863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.507361263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.510551093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.512620213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.512652143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.512674133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.512955483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.514327443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.514369453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.517225583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.517270013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.520818163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.520864933Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.520938213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.520997373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"247.077689ms"} {"msg":"begin collection from Sled Agent","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.570691583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_url":"http://[::1]:43004"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.570754163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"http://[::1]:43004","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:43004/inventory","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.571474773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:36016"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.571998033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/inventory","method":"GET","req_id":"a7c25a12-09d0-4d0b-8f23-2f7aa2c5a0a0","remote_addr":"[::1]:36016","local_addr":"[::1]:43004","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-04T21:07:16.572058263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/inventory","method":"GET","req_id":"a7c25a12-09d0-4d0b-8f23-2f7aa2c5a0a0","remote_addr":"[::1]:36016","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.573228233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/inventory","method":"GET","req_id":"a7c25a12-09d0-4d0b-8f23-2f7aa2c5a0a0","remote_addr":"[::1]:36016","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":1337,"response_code":200} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.573660993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.573729363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.576563543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"http://[::1]:43004","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:43004/inventory\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a7c25a12-09d0-4d0b-8f23-2f7aa2c5a0a0\", \"content-length\": \"20623\", \"date\": \"Thu, 04 Jun 2026 21:07:16 GMT\"} })"} {"msg":"begin collecting all keepers","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.579998833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.580026553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.580043943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.580421333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.582733643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.582894613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.587893303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.588027363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.590290323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.590342513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.592605423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.592677613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.595203163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.595254313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.600196273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.600229123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.601046193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_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-04T21:07:16.601092333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.601170923Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.601192303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.601210573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.601539873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.603475663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.604353343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.607396263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.607452963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.607476773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.607658993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"latest inventory collection is unchanged","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.611531813Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"original_time_started":"2026-06-04 21:07:07.023391 UTC","original_id":"580c7e07-6b00-4188-9c77-501bd84d5edd","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-04T21:07:16.611640603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"Loaded\":{\"collection_id\":\"580c7e07-6b00-4188-9c77-501bd84d5edd\",\"time_loaded\":\"2026-06-04T21:07:16.600987203Z\",\"time_started\":\"2026-06-04T21:07:07.023391Z\"}}","iteration":3,"elapsed":"10.66527ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.611938793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.612004943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.616858923Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.616907743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.621154303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"8bbfa13c-b4ca-4098-ac3e-9a174fd00f70","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.621215153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.621249123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.621718143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.626627203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.626722443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.626817443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.626842733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.627336353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.628115713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.628164373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.631088943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.631183703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.631223483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.631685233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.632575893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.632604393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.635026453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.635061643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.635742533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.635797343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.635819143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"8.96888ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.637178153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.637335473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.639750173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.639800643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.640329143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.642439043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.642472263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.647892753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.647948733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.650577353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.650621773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.652940603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.652999803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.657419463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.657473543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.659573083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.659601993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.663208943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_0\"","result":"failure","saga_name":"instance-start","saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.663506753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","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-04T21:07:16.663541323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"65e5cde3-4755-47ec-8112-9f803a8a6b56","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 65e5cde3-4755-47ec-8112-9f803a8a6b56, saga_log: SagaLog { saga_id: 65e5cde3-4755-47ec-8112-9f803a8a6b56, 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-04T21:07:16.664058693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664079083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664092783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664107363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664123073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664139923Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664153403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664187663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664218413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664294503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664314233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664330093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664342413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664354623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664369403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664383583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664398243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664411573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664442703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664456123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664472263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664488733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664502293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664518533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664531913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664545353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664573523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664586653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664600823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664614463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664631873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664645363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664658293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664672943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664686243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664699183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664712583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664725713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664737323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664750293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664763483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664780733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664794203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664807343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664824213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.664838593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667375273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667423223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667438003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667452833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667468163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667482133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667495543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667509613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667523993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667537293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667550723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667565563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667578973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667592403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667671063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667700053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667711493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667729613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667742773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667754513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667767373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667780043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667794413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667806483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667818233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667831233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667843243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667855133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667866303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667879093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.667890513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.686638123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.686685303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.687359473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.693471723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.693521573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.693962863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.698396193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.698429783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.698887583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:16.699294163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.699337983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.699360083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.699381643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.699402903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.700181073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.705643403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.713634403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.713675503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.713736333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.713972593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.714844253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.714894213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:16.714915093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.714932693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.715443043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:16.718511463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.450767Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.718568203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":4,"elapsed":"19.22068ms"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.724512113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.724553353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.724571513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.725628503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.729050933Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.729101943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.729121883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.729709653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.733629143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.740645903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.740759523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.740777013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.740801323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:16.740819553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.740836903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.741084623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.743934263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.743991083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.744010423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.744533503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.751882193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.751908803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.751923793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.755085332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.759298402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.769185552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.769237632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.769256622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.769748582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.774990822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.777415312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(6)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792683872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792743252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792759462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792778062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792791882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792805082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792818902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792834062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792846032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792858342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792874202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792889822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792949652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792963182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792976072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.792993882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793006022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793019742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793030982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793045182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793068522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793084262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793097392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793111002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793127262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793145592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793157212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793168662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793182612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793195902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793235002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793248642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793266192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793278782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793293082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793307002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793320702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793336472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793353422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793367032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793408282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793423472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793437472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793452832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793467792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793732092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.793984832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794002422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794018152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794032942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794047622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794062072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794075422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794088382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794100582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794113242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794126462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794140682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794154862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794171562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794206272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794221752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794259612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794273532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794321812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794334802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794349062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794362422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794375842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794389632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794402582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794414182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794426992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794439392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794451042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794463362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.794477472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.808536142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.808695682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.809224932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.812287242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.812322842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.812546382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.816710702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.816800782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.818963502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.822743492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.822816762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:16.822837102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.822853362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.823398702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.826707452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.826753582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.826772702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.827297542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.833107472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.833157802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.833176302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.833788242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.836465862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.843574012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.843676682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.843703712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:16.843723102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.843739452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.844029392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.846716702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.846756222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.846773612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.847345822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.850266872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.850315982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.850334152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.851543792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.856034722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.864164182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.864228482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.864249132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.865409342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:16.868874052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(7)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.873100242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.873144132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.873239842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.873422962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":6,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:16.873659602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.877873162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"aad95388-a79c-40b6-afb7-ac5a1f14ab81"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:16.877964642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.877983062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.878216992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.878237512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.883435492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.883490152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.887708112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.887759912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.891990892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.892045102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b679a32b-fe49-4f14-9180-8d97339adcb7\"))","node_id":"0","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.895401402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.895434252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.899658582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b679a32b-fe49-4f14-9180-8d97339adcb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:16.899713202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.899736162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.900303232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.904565432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b679a32b-fe49-4f14-9180-8d97339adcb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:16.910320722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b679a32b-fe49-4f14-9180-8d97339adcb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:16.910374282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b679a32b-fe49-4f14-9180-8d97339adcb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:16.910394212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b679a32b-fe49-4f14-9180-8d97339adcb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:16.910412612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b679a32b-fe49-4f14-9180-8d97339adcb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:16.919316692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b679a32b-fe49-4f14-9180-8d97339adcb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:16.919445222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.919469362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.922808462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.922862412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.925521272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.925589152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.926087362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.929094322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.929167402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:4\"))","node_id":"2","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.931327662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.931390232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.933694822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.933748562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.934155882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.937221252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.937294512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.937317422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.937337222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.937808982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.941773882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.944191362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.944249032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.944283372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.944525092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.947432502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.947481552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"b679a32b-fe49-4f14-9180-8d97339adcb7\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:16.944177Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:16.944177Z\")})","node_id":"3","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.950326372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.950386122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.953162632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"b679a32b-fe49-4f14-9180-8d97339adcb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.953212922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.953274472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.953582322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.955474112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.955555292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.955610262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.955636332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.955658332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.955962672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.956727312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.956834442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.957038312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.958531512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.961115622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.961165962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.961187192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.961496332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.962434172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.962486632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.962656682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.964690262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"NoSitrep\"","iteration":2,"elapsed":"9.17605ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.964788902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.964829862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:16.964858322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.964883522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.966068742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:16.966936522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.967290162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.967321262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.969275572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.970441412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.970488442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.970515312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.970537272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.971267052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.972103082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.972249042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.972711572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.972946482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.975440202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:16.977372942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.978016942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.978071972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.978099722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.978325202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.982102512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.990941542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.991022282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:16.991059872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:16.991087752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.991112892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.991319112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.994357572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.994412262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.994440092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.995007412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:16.998991942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:16.999062612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.999092072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:16.999558642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"sitrep GC completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.003477782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.003624222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"36.66746ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.004187302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.010420222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.010568902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.010596352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.010839482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:17.017889092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.017943742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"b679a32b-fe49-4f14-9180-8d97339adcb7\"), \"state_generation\": Number(7), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.021583982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.021620622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.024267182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.024358022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.024731832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.027400872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.027457542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.028152892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.033527102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.033591362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.034084592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.036271292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.036339642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.036370462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.036399582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.036711832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.039742672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.039805242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.039834212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.040480782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.043399082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.043457162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.043485632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.043851592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:17.048511962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:17.048570372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.048780552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.048841592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.048964142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:17.049749222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:17.049803792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:17.049825882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.054790452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.054855682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.054883982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.055074762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:17.056250192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:17.056786732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:17.057578282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.057626412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.057655302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.057682112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.058027472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:17.059034612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:17.059424762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:17.059461232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:17.059482112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.060035982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:17.060085042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:17.061204902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.061249362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.061276792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.061720452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:17.062627522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:17.062659542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.064409222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.064462782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.064489982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.064827682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.067731992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.072378032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.074138652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.074185362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.077532662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.077578602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.081285372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.081344342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.084813652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.084862192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.087464452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.087505312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.093796322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.093853322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.096204992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.096243972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.098797532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.098852262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.101610452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.101642132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.104520492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.104552402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.107132492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.107177032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.109456462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.109528002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.112021102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.112072442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.116821852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.116880432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.119718972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.119774062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.125509232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.125544502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.128445292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.128534992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.131350142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.131421612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.134182892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.134220312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.136716542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.136771072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.141801372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.141862592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.145371752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.145423752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.147675922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.147713382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"7","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.149807112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.149979752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.150002882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.152394122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.152444482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.154471172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.154507462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.158796612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.158840792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.161223762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.161273732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.163325052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.163373772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.165206162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.165246332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.167319652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.167370252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.169114292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.169155962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.171257502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.171300572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.173442952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.173484572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.175668502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.175707032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.178326322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.178376452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.183537252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.183590722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.186212212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.186253122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.190889702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.190934272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.194388742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.194426482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.199492262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.199570312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.203594732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.203646692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.207266022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.207304872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.210015262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.210060922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.213542972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.213592732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.216581172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.216623322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.219305522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.219342992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.221949772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.222060482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.224800192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.224886602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.227384752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.227435972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.229260072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.229313342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.231601722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.238358132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.238429512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.240837262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.240863782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.243476772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"b679a32b-fe49-4f14-9180-8d97339adcb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.243518382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.243548112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.244053082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:17.248135862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.248230002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.248274112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.248306172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.248827582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.249576972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.249632942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.251898862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.251944082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.252643422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.252685042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.252707752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.253179222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.255047732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.255098372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.255744962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.255778102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.256115722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"7.86665ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.257425942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.257477452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.259922302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.259952992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.260431222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.262609502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.262656932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.264771802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.264829172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.267116582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.267143462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.270301032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.270330532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.272442822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.272471622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.274785182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.274842422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.278929812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_1\"","result":"failure","saga_name":"instance-start","saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.279108912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","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-04T21:07:17.279207272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"aad95388-a79c-40b6-afb7-ac5a1f14ab81","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: aad95388-a79c-40b6-afb7-ac5a1f14ab81, saga_log: SagaLog { saga_id: aad95388-a79c-40b6-afb7-ac5a1f14ab81, 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-04T21:07:17.279432412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279450722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279465162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279479772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279494112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279510482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279523062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279537222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279551512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279566472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279580392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279592592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279605202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279617712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279632602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279646772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279658712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279672832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279684602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279702162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279716542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279728532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279763152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279777662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279792042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279806612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279943782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279957142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279970892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279983472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.279994812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280008342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280020852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280033672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280045842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280056972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280070302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280081042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280165212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280199342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280235032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280249892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280264262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280277782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280290942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280305982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280318182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280329102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280341012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280352442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280363912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280374872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280386182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280397712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280408952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280420152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280431482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280442982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280454412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280465492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280476292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280487342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280498722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280510272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280521252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280531912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280542772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280553592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280564802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280575672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280586782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280597722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280609202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280620812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280633522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280645682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.280656942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.294794442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.294825692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.295322992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.297372452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.297393472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.297963832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.300066932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.300091332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.300558822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.302487672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.302550522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.302573412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.302592112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.303105592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.305488992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.305538902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.305557192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.306177012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.310849672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.310897342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.310917842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.311314602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.313763412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.319353742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.319409662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.319427482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.319452362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.319471852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.319488292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.319861442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.322431972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.322484842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.322504012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.322903622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.325885352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.325971192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.325992762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.326380182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.329082662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.336622852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.336695182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.336716422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.337333522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.339716852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.344361522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(8)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353206682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353455342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353501362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353516132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353529352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353543402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353555962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353569172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353580952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353593942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353607142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353620162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353633952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353648192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353688122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353700872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353715142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353728542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353741382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353783582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353797332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353811072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353823392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353836942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353849422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353870202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353883862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353912342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353924592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353937762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353950822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353964182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353977762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.353991202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354002862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354016412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354032342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354044952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354057002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354150972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354165032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354177832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354192012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354204252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354215902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354229902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354242672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354255122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354268592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354281312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354292972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354304522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354316192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354328402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354340582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354352932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354364992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354376872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354392032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354407062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354419672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354433092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354444802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354456942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354468602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354480212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354492762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354504832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354517872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354530372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354542012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354555002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354567642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354580642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354592412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354606882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.354620842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.371829802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.371881442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.372403252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.374788252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.374845822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.375242142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.376859112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.376882522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.377328692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.379071892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.379101272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.379120902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.379138862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.379578302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.381618002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.381654922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.381676272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.384316392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.389084262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.389115702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.389132802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.390153722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.395334082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.400945702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.400984452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.401078582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.401096902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.401113882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.401511912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.404461012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.404521172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.404542692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.404864932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.407485592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.407550042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.407570252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.408070832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.415670692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.420945622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.421000312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.421019312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.425205142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:17.428194531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(8)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.430764141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.430803041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.430826211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.431410431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":8,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:17.431589861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.434767861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.434954141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.434986001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.435006481Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.435023331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.438792981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.438909241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.443455001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.443540711Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.447435951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.447485541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7\"))","node_id":"0","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.459378311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.459432601Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.465488101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:17.465545931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.465605421Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.466495221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.472673121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:17.480677281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:17.480719351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:17.480825261Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:17.480914521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:17.486661041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:17.486828111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.486852541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.489927691Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.489998691Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.496898371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.496971581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.497361871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:17.500385651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.500474751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:5\"))","node_id":"2","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.502771871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.502806521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.507739561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.507843911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.508547831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.511617311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.511709471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.511732221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.511753341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.512408961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.514323161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.517136951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.517176801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.517212841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.517462821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:17.520431391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.520475141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:17.517137Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:17.517137Z\")})","node_id":"3","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.523257271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.523350401Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.525848741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.525914861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.525970291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.526379221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.528439471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.528509671Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.528713341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.530849991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.530929851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.531325191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.533072811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.533164931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.533207471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.533235281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.533469841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.535603001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.535663371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.535693351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.535998381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.538229821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.538296251Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.538335951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.538845951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.541244221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.549404201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.549460031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.549495941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.549522411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.549572501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.549943241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.554143631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.554188991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.554215451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.554838831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.559802461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.559871971Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.559898571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.561488821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.563854541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.569104631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.569191641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.569221181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.569370151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:17.576095571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.576150051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7\"), \"state_generation\": Number(9), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.579604501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.579663381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.585039361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.585106341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.585679481Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.588255821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.588311581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.588786561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.591283181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.591337201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.591748081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.594127291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.594206281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.594233931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.594260261Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.594749181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.597315331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.597414801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.597478481Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.597965671Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.603140591Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.603214551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.603243701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.603654721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.610708911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.619010601Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.619088041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.619113761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.619363061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.620476231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.620549651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.620577931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.620602771Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.621048741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.623516551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.623577881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.623606991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.624011051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.626452041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.626513121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.626540851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.626864131Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.629205881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.634006381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.635522271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.635610441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.638806881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.638838161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.641733591Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.641780761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.644477281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.644519331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.647172721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.647216661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.650297651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.650343031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.659323361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.659367821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.662304291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.662351341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.664693081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.664722871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.669818791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.669878991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.673340571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.673390541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.682457951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.682494221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.689065001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.689149111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.693685991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.693738911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.697659451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.697688551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.701315921Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.701353581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.703980041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.704005851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.706123381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.706158201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.710579431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.710609051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.713158951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.713212511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.717147961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.717179451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"8","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.721918001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.722033471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.726976481Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.727057701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.729527401Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.729578501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.732799071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.732828721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.739037221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.739095991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.741994901Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.742051221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.745086541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.745148951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.750292961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.750333851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.752722711Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.752774441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.75510607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.75514845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.76039116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.76044285Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.76346931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.76351149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.76576413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.76581374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.76900103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.76905516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.77465272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.77469236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.77817978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.7782279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.78102436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.78106551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.78353531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.78356114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.78613985Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.78617332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.79454433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.79470684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.7976394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.79767212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.80153253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.80161904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.80472935Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.80476035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.80860109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.80864712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.81131236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.81134214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.81603929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.81615118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.81870289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.81874014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.82111501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.82115949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.82345843Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.82348353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.82628758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.82633507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.82952804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.83345881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.83349517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.84054894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.8405871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.84333505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"3ea01070-e1fa-4a9d-b2b1-7e0e2f3dadb7","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.84337234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.84343422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.84389935Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:17.84723532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.8473366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.84737761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.84739951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.84880144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.84983996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.84989374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.85373903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.85379317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.85466961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.85472571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.85474955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.85537522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.85748071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.85753644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.8587823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.8588226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.85887176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"11.52384ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.85982517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.85988222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.8632569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.86334717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.86442641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.86833692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.86837159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.87216185Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.87220497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.87480557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.87485279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.87922649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.87926005Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.88232386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.88237426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.88573596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.88578875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.89012805Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_2\"","result":"failure","saga_name":"instance-start","saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.89043184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","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-04T21:07:17.89056646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4, saga_log: SagaLog { saga_id: 94f1cbfe-ec51-4ad8-9df1-bdc4c4eafaa4, 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-04T21:07:17.89094383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.8909707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89098314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89121242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89125167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89126838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89132459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89136638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89138121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89139557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89143091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89144389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89145801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89147296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89148609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89149982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.8915149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89153059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89154424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89155758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89157456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89159993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89161366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89162957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89164497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.8916609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89167561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89168961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89170593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.8917235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89173865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89175262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89176603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89177996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89180281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89181695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89183194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89184521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89185882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89187314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89188674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89190263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.8919168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89193282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89195714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89197134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89200192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89201521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89202843Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89204225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89205634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89207017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89208381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89210685Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89212358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89214083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89215672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89217143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89218763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89220115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89221573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89222969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89224569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89226633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89227901Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89229292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89230553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89231844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89233128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89234675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89236044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89237578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89239058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89240386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89241599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89242968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.89244154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.90865607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.90871197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.909306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.91721368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.91727046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.91789479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.92010673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.9201477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.92081426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.92231888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.9224148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.92246309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.92248734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.92318184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.9257012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.92572806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.92574402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.92616152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.92838857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.92843921Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.92846081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.92878312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.93127012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.93875555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9388176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.9388659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.93889252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:17.93891371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.93893194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.93930734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.94182379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.94195203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.94199475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.94216908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.94485832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:17.944911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.94493173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.94557882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.94865633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:17.95347357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:17.95350678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.95365482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:17.95381561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9564537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.96319693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(10)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98057892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98063774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9806525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98066605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98067908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98069159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98070376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9807316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98074455Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98075728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98077073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98078329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9807955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98081027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98082371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98083866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98085237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98086607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9808805Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98089262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98090501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98091815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98093495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98094867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98096117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98097416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98098833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98100087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9810139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9810263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98103799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98105002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98106259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98107665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9810889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9811032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98111695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98113045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98116609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98118075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98119676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98121034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98123379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98124739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98126082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98127426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98128685Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98129831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98131001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98132254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98133649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9813491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98136242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9813753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98138688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98139868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98141066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98142234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98143373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98144538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98145689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98146869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98148139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98149351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98150516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98151871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98153187Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98154449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98155777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98157335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98158724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98160043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98161299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98162534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.9816388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98165057Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:17.98166443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.01352175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.013573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.01458841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.01815605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.01821241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.01883294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.02127966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.02132871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.02262255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.02540343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.02546521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.02548929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.02550709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.02617159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.0319956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.03217019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.03219671Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.03353199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.03754852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.03759156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.03761105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.04021766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.0435291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.05726871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.05732645Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.05735177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.05737133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.05738723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.05771349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:18.05905848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:18.05910967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.05973822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.05978338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.0598006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:18.0601645Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:18.06021576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.06328874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:18.06402249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:18.06405411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:18.06407389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:18.064178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.06424778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.06426729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.06475866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:18.06567725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:18.0663533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.06646753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.0669805Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:18.06733395Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"e6916d49-3150-4336-bb8a-0a46d761d73e","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:18.06737303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"e6916d49-3150-4336-bb8a-0a46d761d73e","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:18.06783712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e6916d49-3150-4336-bb8a-0a46d761d73e","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:18.06803313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e6916d49-3150-4336-bb8a-0a46d761d73e","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:18.06809086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e6916d49-3150-4336-bb8a-0a46d761d73e","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.06896059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:18.06900976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:18.07018944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.07023268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.07025255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.07083979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:18.07218145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"e6916d49-3150-4336-bb8a-0a46d761d73e","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":4400,"response_code":200} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.07223655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:18.07226232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","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-04T21:07:18.07239637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e6916d49-3150-4336-bb8a-0a46d761d73e\", \"content-length\": \"405\", \"date\": \"Thu, 04 Jun 2026 21:07:18 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.07253541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:18.0728627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"c1c1d2a0-54e3-4ac1-848d-8926f89ff7eb","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:18.07291315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"c1c1d2a0-54e3-4ac1-848d-8926f89ff7eb","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:18.07307647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"c1c1d2a0-54e3-4ac1-848d-8926f89ff7eb","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:18.07316984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"c1c1d2a0-54e3-4ac1-848d-8926f89ff7eb","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:18.07362552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"c1c1d2a0-54e3-4ac1-848d-8926f89ff7eb","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.07432537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.08227042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.08231923Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.0823359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.0827027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:18.08607989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"c1c1d2a0-54e3-4ac1-848d-8926f89ff7eb","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":13055,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.0862879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"c1c1d2a0-54e3-4ac1-848d-8926f89ff7eb\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07:18 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-04T21:07:18.08635631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.08637996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.08639625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"refetched instance info from db","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.08736246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(9)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.09171302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.09176489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.09179346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.09209587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":10,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:18.09226632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.09606466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fe28aee9-1b63-4900-ad5f-889f5721a151"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.0962338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.09631996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.09673709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.09677267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.1035753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.10362857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.10777749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.10782316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.11274651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.11279885Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"9cd9737a-7140-4b7f-8bf0-3c2d12d85011\"))","node_id":"0","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.11850316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.11855288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.1244038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9cd9737a-7140-4b7f-8bf0-3c2d12d85011","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.12443865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.1244592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.12517023Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.12848786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9cd9737a-7140-4b7f-8bf0-3c2d12d85011","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.13652301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9cd9737a-7140-4b7f-8bf0-3c2d12d85011","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.13659038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9cd9737a-7140-4b7f-8bf0-3c2d12d85011","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.13661161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9cd9737a-7140-4b7f-8bf0-3c2d12d85011","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.13663041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9cd9737a-7140-4b7f-8bf0-3c2d12d85011","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.14311035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9cd9737a-7140-4b7f-8bf0-3c2d12d85011","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.1431914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.14321365Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.14682166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.14690696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.15288782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.15295668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.15393009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:18.15947099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.1595209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:6\"))","node_id":"2","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.16048313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.16375423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.16383653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.17016538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.17022065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.17111542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.17487962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.1749342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.17495785Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.17499531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.1753412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.18447382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.18759326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.18763409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.19075296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.19098785Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:18.19461381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.19466775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"9cd9737a-7140-4b7f-8bf0-3c2d12d85011\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:18.187564Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:18.187564Z\")})","node_id":"3","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.19847353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.19850623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.20109677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"9cd9737a-7140-4b7f-8bf0-3c2d12d85011","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.201191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.20124925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.20260918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.20695783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.20699071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.20765914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.20971013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.20978669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.21040917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.21268521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.21274966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.21277668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.2128013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.21389516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.21646954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.21657701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.21662909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.2171828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.22054626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.22059222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.22061977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.22173237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.22477563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.22960621Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.22974634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.22978653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.22988973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.2299306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.23022031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.23308157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.23312163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.23317426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.23346305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.23595205Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.2360433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.23607412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.23644955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.23964363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.24514528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.24522599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.24525327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.24544192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:18.25163428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.25166925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"9cd9737a-7140-4b7f-8bf0-3c2d12d85011\"), \"state_generation\": Number(11), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.25455514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.25458911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.25732667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.25740862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.25780259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.26045017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.26051475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.26097642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.26283738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.26288966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.26322401Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.26510859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.26517077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.26519787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.26522257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.26577579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.26785905Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.26791461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.26794235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.26848208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.27104927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.27110311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.27113103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.27148011Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.27461529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.27993411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.28002544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.28005115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.28023656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.28151181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.28155338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.28157883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.28160256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.28193774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.28451263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.28471688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.28480797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.28586937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.28944723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.28954192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.28956947Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.29026278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.29373915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.30046829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.3024477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.30253935Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.30607429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.30612587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.31315786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.31321356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.31875023Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.31879956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.32226119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.32230653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.32531226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.32534312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.32878501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.32883761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.33131951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.33137337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.33535269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.33540691Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.33789355Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.33792143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.34062855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.3406819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.34301378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.34306244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.34623221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.34628305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.35128753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.35133342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.35381179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.35384291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.35634858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.35639827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.35913392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.35919366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.36152918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.36156007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.36390626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.36397607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"9","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.3665161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.36655353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.36911853Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.36916298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.37112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.37116615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.37677249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.37682381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.37952335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.37956527Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.38211307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.38216999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.38512531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.38517472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.38739592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.38742763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.38915082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.38919812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.3910509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.39109541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.39362388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.39366567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.39572191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.39581218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.39800077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.39806127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.40063758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.40068234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.40581549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.40588007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.4109397Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.41097516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.4135242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.41357088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.41731218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.41735809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.42167651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.42170412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.428095659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.428140399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.433426699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.433470789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.436186639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.436261859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.439523619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.439599209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.442751829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.442792699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.445208399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.445232679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.448168139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.448217479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.451124879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.451155909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.453624659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.453650979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.456202869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.456276889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.458843369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.458887859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.461695969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.461723929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.464247519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.464294149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.466734829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.471332989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.471390819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.473979349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.474083929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.476613899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"9cd9737a-7140-4b7f-8bf0-3c2d12d85011","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.476664719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.476694279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.477211699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:18.480464429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.480525939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.480580879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.480608249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.481162159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.481841749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.481924869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.483935169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.483981579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.484016439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.484505409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.485369919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.485406679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.490016309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.490074969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.490693079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.490773169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.490794669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"10.22048ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.493854189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.493896579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.496127409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.496175719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.496497349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.498238049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.498285959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.500786649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.500836029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.503110229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.503165849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.506974909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.507159169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.509401209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.509454069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.511913089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.511964439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.516923499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_3\"","result":"failure","saga_name":"instance-start","saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.517049129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","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-04T21:07:18.517262429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe28aee9-1b63-4900-ad5f-889f5721a151","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: fe28aee9-1b63-4900-ad5f-889f5721a151, saga_log: SagaLog { saga_id: fe28aee9-1b63-4900-ad5f-889f5721a151, 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-04T21:07:18.517430749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517474199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517503289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517518309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517536589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517563719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517579069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517593059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517606869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517672159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517692089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517706649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517720119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517735119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517749319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517760959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517774399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517791809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517826489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517844009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517864409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517877759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517895139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517908209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517928659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517944229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517959469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517976929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.517990629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518022889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518036499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518050289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518066499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518091519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518105789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518123409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518141909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518157059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518171169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518184139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518199329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518212649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518224599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518237079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518250319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518263679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518276929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518292459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518306419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518319409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518332049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518431939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518445889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518459349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518472379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518484379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518496479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518509419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518523199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518534699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518547419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518559509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518571179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518585799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518599179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518641749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518654599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518681559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518698339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518711569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518726479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518742619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518755299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518768219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518782389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518797269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.518809629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.538415309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.538467689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.539033699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.541306309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.541374509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.541802079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.543490909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.543537729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.544164939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.546131589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.546187459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.546585049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.546648679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.547941379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.550982239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.551028969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.551047239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.551545999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.554625489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.554690989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.554709739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.555146589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.557672239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.564199669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.564243769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.564258289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.564280419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.564297449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.564312439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.564612839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.567058069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.567104999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.567124489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.567488889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.569679969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.569727059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.569758269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.570068639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.572468459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.578500539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.578557339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.578599659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.578828849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.581311759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.585128649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(12)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592600059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592625659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592637849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592649339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592661049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592673999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592807369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592854499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592867399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592879359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592891069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592902559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592913949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592925919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592941039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592954179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592966569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592978259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.592990609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593002999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593014239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593033719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593045549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593057679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593069279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593081149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593093299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593318179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593355469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593368719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593381239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593393249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593404839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593417539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593430509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593442129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593454319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593465899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593481409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593494809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593507029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593518219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593529249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593540189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593552069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593564489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593576069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593587099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593598979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593611479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593622679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593650479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593662239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593674409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593686909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593697919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593710939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593722919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593734649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593746129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593757039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593767969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593779059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593790059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593802029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593813709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593824739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593838459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593855509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593866269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593878109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593889269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593899799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593910699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593922619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593934429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.593945629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.606073349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.606107409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.606690819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.611498899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.611545259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.612272299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.614260189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.614319519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.614927049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.616782569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.616968729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.617004109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.617022519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.617460219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.620336039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.620384959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.620407899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.620845379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.623696689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.623724129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.623744589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.624073989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.626385639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.630977489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.631039129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.631066309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.631086469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.631103959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.631402649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.636268589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.636315519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.636333839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.637179679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.639989339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.640205419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.640235899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.640758729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.643526719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.652074549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.652132699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.652150399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.652397499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:18.654976939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(10)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.657968749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.658009949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.658032179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.658413349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":12,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:18.658596579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.664569859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"434875b7-9960-4df1-bf84-3668a822ad3b"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.664625809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.664643859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.664663479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.664680639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.667536029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.667583559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.672104339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.672159279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.674682959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.674740359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"bb034dcd-2dce-4e84-a93e-15cd7b26248c\"))","node_id":"0","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.679444719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.679513949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.683707869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"bb034dcd-2dce-4e84-a93e-15cd7b26248c","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.683758469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.683779379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.684151219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.691633569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"bb034dcd-2dce-4e84-a93e-15cd7b26248c","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.696576649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"bb034dcd-2dce-4e84-a93e-15cd7b26248c","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.696642069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"bb034dcd-2dce-4e84-a93e-15cd7b26248c","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.696663709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"bb034dcd-2dce-4e84-a93e-15cd7b26248c","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.696680819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"bb034dcd-2dce-4e84-a93e-15cd7b26248c","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.702115509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"bb034dcd-2dce-4e84-a93e-15cd7b26248c","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:18.702291379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.702358239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.705069879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.705132279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.710565579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.710651079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.711137879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:18.713685719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.713735229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:7\"))","node_id":"2","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.716851239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.716879689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.719615089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.719673589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.720044589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.722186169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.722254369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.722278459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.722299319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.723045579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.725038719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.728253589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.728312309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.728343479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.728908049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:18.733019549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.733059839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"bb034dcd-2dce-4e84-a93e-15cd7b26248c\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:18.728239Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:18.728239Z\")})","node_id":"3","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.737390789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.737507269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.743474319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"bb034dcd-2dce-4e84-a93e-15cd7b26248c","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.743593179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.743644209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.744526249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.748234019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.748476589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.748513709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.751953729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.752015089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.753317679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.756255448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.756322828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.756349878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.756375078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.756971308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.760027068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.760091058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.760121348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.761120718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.764128228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.764187058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.764212728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.764774518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.770764488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.780341568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.780425128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.780463398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.780492208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.780517918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.780683908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.785321798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.785398888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.785426658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.786269048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.788857348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.788912958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.788938878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.789374788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.792004548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.796590328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.796662598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.796689108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.797697188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:18.804324538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.804377658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"bb034dcd-2dce-4e84-a93e-15cd7b26248c\"), \"state_generation\": Number(13), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.806886938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.806933508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.809456828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.809514668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.809937518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.812079558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.812122198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.812632108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.814375258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.814434758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.814901018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.816762558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.816810878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.816838858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.816864518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.817191408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.819420408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.819490618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.819519658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.819779828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.823139588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.823199738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.823225098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.823506778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.825815258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.831339118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.831431908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.831460788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.831557598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.832885798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.832953218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:18.832982258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.833010488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.833779998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.836469848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.836530018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.836557218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.837183598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:18.840003568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.840081538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.840107638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.840534728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.843497738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.848094358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:18.849724248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.849776838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.854340068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.854369078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.856916138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.856964998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.859128218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.859177428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.864157718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.864210588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.867200718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.867256588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.869894608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.869951618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.872030528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.872057158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.874316848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.874364708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.876443558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.876479678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.878853758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.878943028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.880566768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.880598038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.882384068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.882431118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.884399478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.884442248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.886826648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.886968728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.889009328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.889054308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.891199698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.891244778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"10","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.893262938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:18.893305978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.896807048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.896837298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.899318498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.899395438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.901066028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.901111798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.902732408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.902778898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.904713838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.904756788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.907089658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.907130558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.909237928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.909274928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.911139268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.911205238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.912926198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.912966998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.914771838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.914819828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.917050168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.917106078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.918969018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.919031868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.921226968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.921274148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.923161808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.923209078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.926916948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.926968028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.929332148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.929379718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.931682938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.931731228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.934376858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.934419458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.936817858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.936869478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.942133218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.942163538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.947769258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.947815298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.953265678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.953301198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.956144428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.956172478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.961941028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.962008428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.965430348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.965504898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.969026788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.969074908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.971605448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.971643508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.974623038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.974678038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.978085488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.978137088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.981372928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.981456588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.983700288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.983750878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.986140508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.986195578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.990001038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.991065368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:18.993957688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:18.997489378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:18.997541618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.000521118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.000792898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:19.003291518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"bb034dcd-2dce-4e84-a93e-15cd7b26248c","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.003320788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.003351668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.003822448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:19.006823898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.006880748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.006948568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.007002998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.007490078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.007925398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.007951708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.011957438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.012001148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:19.013057408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.013136688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.013161268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.014396048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.017254588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.017281288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:19.018001608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.018321928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.018775268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"11.4554ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.021642998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.021694238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:19.024321798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.024374588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.024659988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.026367528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.026390278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.029144638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.029216028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.034490398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.034514898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.037227078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.037257768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.041477838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.041534218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:19.046593668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.046642778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:19.050451758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_4\"","result":"failure","saga_name":"instance-start","saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:19.050517408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","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-04T21:07:19.050566228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"434875b7-9960-4df1-bf84-3668a822ad3b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 434875b7-9960-4df1-bf84-3668a822ad3b, saga_log: SagaLog { saga_id: 434875b7-9960-4df1-bf84-3668a822ad3b, 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-04T21:07:19.050793718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.050810248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.050823428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.050836968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.050851678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.050863658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.050877308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.050890508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.050902218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.050913988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.050929268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.050993318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051008678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051025048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051038688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051052158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051064248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051077918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051128968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051145058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051159028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051174478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051191058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051204288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051217618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051230138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051242288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051255858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051269278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051288308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051301538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051318908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051334948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051349638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051366188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051379238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051393688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051408898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051422768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051436198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051449678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051462638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051497508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051515308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051531008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051544398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051557688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051601238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051616158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051887218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051907618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051920138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051931478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051957748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051971358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.051985318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052000378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052018258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052033128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052047138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052060788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052073818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052088508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052141988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052167478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052180878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052194078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052206938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052220358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052235378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052255128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052267298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052281878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052294598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052310768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052326028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.052340158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.070038598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.070222168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.071097018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:19.071840418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:19.071896928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.072255648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.072304458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.072449728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:19.073362848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:19.073403858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:19.075265648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.075313838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.075966758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:19.077279428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:19.078221338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.079030758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:19.079988078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:19.080041238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:19.080077238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:19.081558148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.081608178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.082036918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:19.085231338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:19.085288418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:19.086250478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.086313858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.086334788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.086352488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.086788198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.090766018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.090858948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.090920658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.091506488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:19.094650468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:19.094682418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.096602488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.096647828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.096665998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.098091468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.102681618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.108747738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.108806948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.108822848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.108846328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.108863328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.108878488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.109242148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.112130808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.112164248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.112180318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.112587858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.116282138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.116344898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.116377898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.116502868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.118750538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.122638638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.122693548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.122710558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.122926628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.124868478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.127116158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(14)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.132855368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.132903058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.132915998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.132927968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.132940298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.132952298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.132964398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.132975868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.132988468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.132999778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133011278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133023228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133034578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133046068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133057528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133069138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133080778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133092268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133103888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133115728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133127068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133138418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133149698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133160998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133172258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133185398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133197058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133208498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133220008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133231608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133242728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133254068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133265468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133276788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133288018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133299218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133311208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133322918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133334008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133345588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133356978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133368378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133379718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133391768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133402748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133414328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133426388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133438538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133449518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133492618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133531798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133545198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133557468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133569958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133582298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133593988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133605868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133616978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133628718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133640058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133651318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133662318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133673828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133685718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133696908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133710358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133721558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133732538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133745878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133757148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133770828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133782378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133793408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133804858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133816168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133827998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.133838948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.146080748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.146109278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.146537198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.149282548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.149320968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.149696788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.151160028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.151202998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.151636338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.153416758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.153473198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.153533518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.153553678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.154641738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.156864228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.156897038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.156913878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.157354278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.159660688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.159687828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.159727788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.159966438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.163923148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.169738328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.169795288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.169824538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.169855038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.169874968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.170131718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.172681848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.172734578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.172754058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.173244618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:19.174168108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.176732128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.176776418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.176793918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.177183708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.179640178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.184555638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.184607138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.184625998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.184816968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:19.188024748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(11)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.191994448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.192039658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.192063058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.192302418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":14,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:19.192528928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.196113618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"008984c0-180a-4910-bcb2-8b597b6e7100"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.196172918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.196214978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.196235208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.196251948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.198933658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.198997558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.201912728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.201945488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.204484198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.204559288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"53088b23-0166-4e79-a4d3-fbdb7a75fa04\"))","node_id":"0","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.207874318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.207926558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.210827258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"53088b23-0166-4e79-a4d3-fbdb7a75fa04","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.210878188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.210899698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.211346918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.214653028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"53088b23-0166-4e79-a4d3-fbdb7a75fa04","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.219987158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"53088b23-0166-4e79-a4d3-fbdb7a75fa04","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.220072728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"53088b23-0166-4e79-a4d3-fbdb7a75fa04","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.220093188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"53088b23-0166-4e79-a4d3-fbdb7a75fa04","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.220111428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"53088b23-0166-4e79-a4d3-fbdb7a75fa04","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.225276288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"53088b23-0166-4e79-a4d3-fbdb7a75fa04","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.225400708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.225421908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.227593768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.227624788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.230066798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.230125858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.230655528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:19.232855458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.232886278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:8\"))","node_id":"2","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.235240338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.235271118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.237442908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.237498898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.237910538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.239766688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.239807278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.239841248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.239861648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.240216018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.241699428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.243946598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.243987378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.244041558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.244196338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:19.246439878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.246484768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"53088b23-0166-4e79-a4d3-fbdb7a75fa04\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:19.243940Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:19.243940Z\")})","node_id":"3","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.248333818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.248381018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.250053758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"53088b23-0166-4e79-a4d3-fbdb7a75fa04","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.250095408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.250150158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.250433848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.252003918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.252062008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.252470168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.254082158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.254142048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.254439198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.255967138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.256015678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.256043848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.256071938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.256446598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.258558848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.258621498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.258652318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.258862568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.260745188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.260799608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.260826328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.261050988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.263173458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.269700078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.269771718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.269879878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.269909168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.269935398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.270043078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.273373738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.273418338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.273718118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.273837828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.277149578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.277213888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.277242658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.277512458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.281256498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.285975558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.286048858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.286074598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.286265588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:19.298427118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.298484068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"53088b23-0166-4e79-a4d3-fbdb7a75fa04\"), \"state_generation\": Number(15), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.303630938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.303684398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.306980468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.307050038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.307498758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.309612678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.309673288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.310293588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.312643478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.312688608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.313174818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.314994718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.315107268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.315138508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.315166618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.315532968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.318431368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.318484828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.318512378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.319143968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.321631888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.321769178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.321797088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.322027998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.324553968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.329204618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.329283568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.329316578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.329479428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.330760498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.330813468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.330839678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.330866848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.331186658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.333408498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.333509388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.333539778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.333788938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.336120188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.336182218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.336215308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.336446598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.338542948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.343751598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.345502348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.345570028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.348188998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.348234698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.350437308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.350470128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.352908828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.352957088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.355338038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.355396258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.357697428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.357765978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.360352998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.360405628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.362701748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.362761698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.365029798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.365079128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.367633848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.367685218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.371524448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.371590098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.375568588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.375620098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.380317258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.380371268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.384086948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.384180348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.386865818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.386945088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"11","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.390170258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.390233648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.394727158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.394768728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.397712228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.397771478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.407199178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.407240058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.413045298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.413145978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.416619188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.416665758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.420306088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.420491358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.424177758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.424240448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.427213797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.427262577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.430899787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.430947457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.434585767Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.434641747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.438146427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.438216477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.440913087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.440948247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.443432717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.443494677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.445977127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.446017037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.448919027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.448956107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.451396677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.451451787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.454634117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.454674117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.458020607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.458081977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.460234057Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.460285997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.462561757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.462610147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.465223697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.465256587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.467860547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.467939717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.470518567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.470571687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.472995137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.473047467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.475054157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.475092887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.476940247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.476986307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.480011377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.480035597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.484052327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.484105427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.486435237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.486483747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.490305087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.490339147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.494152427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.494317867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.497728407Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.497792317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.500211697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.500251267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.503467787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.503517027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.507867727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.507913867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.511324647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.515553717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.515629807Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.518565857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.518626647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.521249997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"53088b23-0166-4e79-a4d3-fbdb7a75fa04","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.521304217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.521335527Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.521763617Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:19.526375467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.526534627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.526580387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.526623447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.527073477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.527726067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.527754427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.530746467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.530874457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.530911967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.531403567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.532500777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.532544797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.534802757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.534853067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.534919257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"8.41939ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.535076787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.535119687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.537224927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.537272117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.539584757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.539689157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.540150887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.542092557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.542127887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.544189467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.544225827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.546305197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.546354317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.548627587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.548671657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.553351077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.553407167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.555547597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.555600557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.558725967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_5\"","result":"failure","saga_name":"instance-start","saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.558803347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","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-04T21:07:19.558908517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"008984c0-180a-4910-bcb2-8b597b6e7100","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 008984c0-180a-4910-bcb2-8b597b6e7100, saga_log: SagaLog { saga_id: 008984c0-180a-4910-bcb2-8b597b6e7100, 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-04T21:07:19.559143687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559170447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559182447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559194747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559206937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559218497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559230127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559242517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559254487Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559266707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559277977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559289147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559301217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559312977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559324577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559338867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559351437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559363797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559375737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559388357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559399907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559411157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559423407Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559434977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559447487Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559459087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559470487Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559516347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559560357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559572417Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559584417Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559595827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559607387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559619227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559630567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559641507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559656007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559667957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559679227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559691497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559702797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559713307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559723737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559734877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559745477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559756837Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559767387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559778027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559788697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559799867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559815877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559828357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559839027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559851447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559862237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559872577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559882987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559894897Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559906097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559917247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559928817Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559939487Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559949907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559960597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559971287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559981827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.559992127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.560002387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.560014107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.560025337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.560036107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.560047377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.560059337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.560069747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.560080537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.560091217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.560102447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.571931897Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.571968507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.572502147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.574430367Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.574500687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.574956607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.576810517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.576870577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.577611047Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.579612157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.579670157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.579690187Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.579705537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.580052567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.582075157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.582127787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.582145497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.582848577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.585038327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.585084307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.585104277Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.585439027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.587996647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.592530307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.592572357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.592586087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.592608377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.592625097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.592640177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.592872457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.594915177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.594968787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.594987657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.595232117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.597563117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.597608597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.597629907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.598058657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.600939507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.609673537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.609718797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.609734317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.610090877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.612732567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.620271697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(16)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631002647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631054387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631071647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631083917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631292507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631311257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631325527Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631339567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631422257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631438117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631451597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631464987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631480327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631496297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631508957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631523607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631539057Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631562967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631576377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631589707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631608607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631621977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631634067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631647547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631743597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631757767Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631770377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631827027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631932877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631948097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631969937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631981777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.631993377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632006107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632018427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632029857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632041797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632053457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632064707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632186067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632202777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632216767Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632228677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632240667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632253737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632265447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632276937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632288507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632300257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632313097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632324937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632336747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632347767Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632359247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632370987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632382467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632393597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632404617Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632435637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632448837Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632461907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632475027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632486867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632499027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632511717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632522857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632534307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632545547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632556647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632568567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632580297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632591497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632602577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632614197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632651687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632663727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.632675167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.646850957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.646897787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.647349407Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.649723387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.649787187Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.650125847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.651853887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.651904067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.652377447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.654007167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.654056777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.654077317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.654094877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.654428667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.656600227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.657250397Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.657296547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.659412607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.661588027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.661624777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.661641417Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.662255937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.664661847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.670074937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.670130507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.670154117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.670172027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.670187057Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.672216987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.674688037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.674714757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.674731347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.675364827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.681530377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.681575057Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.681592217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.681957457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.685949187Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.689738387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.689789357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.689808207Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.689999917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:19.692773597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(12)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.694798447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.694842757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.694866197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.695164877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":16,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:19.695332837Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.699433307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"7b29445d-71de-4a94-b869-c124ee1d9fb7"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.699475757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.699493367Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.700686557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.700712797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.707432617Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.707487107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.711774197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.711815037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.715903197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.715953107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"83b51857-f616-4425-a494-57ad02f2018e\"))","node_id":"0","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.718806507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.718851457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.721328447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"83b51857-f616-4425-a494-57ad02f2018e","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.721375327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.721399627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.721926647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.724681377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"83b51857-f616-4425-a494-57ad02f2018e","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.729263547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"83b51857-f616-4425-a494-57ad02f2018e","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.729293337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"83b51857-f616-4425-a494-57ad02f2018e","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.729314357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"83b51857-f616-4425-a494-57ad02f2018e","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.729331927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"83b51857-f616-4425-a494-57ad02f2018e","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.735079637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"83b51857-f616-4425-a494-57ad02f2018e","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:19.735196087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.735256597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.737750437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.737829957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.742017467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.742082887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.742454367Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:19.745097127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.745143767Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:9\"))","node_id":"2","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.747451147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.747489067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.749463257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.749524367Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.749925947Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.751896187Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.751949067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.751972237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.751992137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.752536737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.754160387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.756567646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.756614116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.756641506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.756886296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:19.759375736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.759432756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"83b51857-f616-4425-a494-57ad02f2018e\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:19.756559Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:19.756559Z\")})","node_id":"3","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.761237406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.761285986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.762885776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"83b51857-f616-4425-a494-57ad02f2018e","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.762938696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.762972306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.763310756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.765425526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.765549276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.765859176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.767269696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.767328786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.767753736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.769240596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.769298776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.769325376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.769352926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.769748336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.771763926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.771921016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.771978386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.772390276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.774876526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.774917056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.774942816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.775387546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.777903156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.782818066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.782882426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.782927656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.782956046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.782981336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.783324816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.785886856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.785943286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.785971526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.786326246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.788502516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.788571586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.788597956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.788951566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.793365026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.798142636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.798221936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.798250216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.798397366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:19.805391156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.805443546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"83b51857-f616-4425-a494-57ad02f2018e\"), \"state_generation\": Number(17), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.809559556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.809628126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.813185766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.813244196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.815623316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.817899466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.817951136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.818426296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.820782356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.820868536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.821402736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.823570306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.823643156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.823701756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.823741846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.824231236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.827124016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.827185576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.827214966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.827689926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.830606196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.830663416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.830693346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.831196716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.834656896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.839589276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.839659296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.839682906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.839893756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.841109436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.841184766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:19.841243566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.841268996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.841987486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.844778856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.844836286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.844863066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.845534956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:19.848181436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.848232536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.848256606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.848598106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.851110296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.855172026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:19.856792236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.856837216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.859843036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.859888646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.862221696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.862259666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.864144676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.864171046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.866785656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.866807486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.869580026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.869624306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.871563836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.871606606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.873434866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.873500006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.875563926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.875590406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.877781816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.877823716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.879957326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.879991806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.882015196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.882084036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.884304736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.884350186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"12","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.886666356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:19.886726146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.890036186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.890079396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.892269336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.892315316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.894662016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.894709866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.897090276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.897142636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.900079466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.900125316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.902385816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.902430836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.907001646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.907044836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.909333166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.909368226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.911885386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.911947576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.914702166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.914815986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.916898086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.916945596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.919220486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.919273826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.921425786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.921459806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.923698726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.923797726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.926007766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.926345316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.929227966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.929273436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.931966456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.932007176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.934373996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.934408096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.936334826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.936384866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.938425936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.938465826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.941245806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.941311426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.944041586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.944087836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.946311006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.946365646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.948130366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.948177256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.950012986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.950054676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.952141776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.952182256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.953739676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.953785926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.955482406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.955521676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.957148566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.957191116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.959206916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.959252326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.961082326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.961107396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.963026726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.963050636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.964729836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.964783376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.966342206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.966382006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:19.968184446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.968225206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:19.968790206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:19.969153516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.000582256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","zone_id":"b2860509-35ad-4395-bfee-8c1ad2330001 (omicron_zone)","sled_agent_url":"http://[::1]:10123"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.000641586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.000942596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.001081196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.039357366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","zone_id":"d87c7e62-16f6-4d93-9b90-c358d2c1def5 (omicron_zone)"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.039412186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"internal_dns_url":"http://[::1]:61753","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:61753/config","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.039800426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:61753","component":"http","kind":"dns","component":"internal_dns_server","remote_addr":"[::1]:37305"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.040174226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"GET","req_id":"9de889dc-bf58-4789-a623-67ed669675c3","remote_addr":"[::1]:37305","local_addr":"[::1]:61753","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-04T21:07:20.040230036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"GET","req_id":"9de889dc-bf58-4789-a623-67ed669675c3","remote_addr":"[::1]:37305","local_addr":"[::1]:61753","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-04T21:07:20.040743416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/config","method":"GET","req_id":"9de889dc-bf58-4789-a623-67ed669675c3","remote_addr":"[::1]:37305","local_addr":"[::1]:61753","component":"http","kind":"dns","component":"internal_dns_server","latency_us":560,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.041021426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"internal_dns_url":"http://[::1]:61753","background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:61753/config\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"9de889dc-bf58-4789-a623-67ed669675c3\", \"content-length\": \"3478\", \"date\": \"Thu, 04 Jun 2026 21:07:20 GMT\"} })"} {"msg":"finished collection from DNS server","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.041108336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","zone_id":"d87c7e62-16f6-4d93-9b90-c358d2c1def5 (omicron_zone)"} {"msg":"finished collection from internal DNS servers","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.041156536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.041173546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.041289466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.041315046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.041367736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.041402396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.041787686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.042650656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.042690156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.043959316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.047349046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.047647106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.047672466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.047986266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.048970006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.049124796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.051510456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.055121266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.055168096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.057403626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.057439426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.059662596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"83b51857-f616-4425-a494-57ad02f2018e","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.059694386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.059723736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.060089326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:20.062999396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.063048336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.063091436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.063113806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.063442036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.063930976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.063977096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.064625956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.065014156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:20.065371106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a2a66e23-f448-4424-877c-94ef7ce0fe3f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:20.065418846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a2a66e23-f448-4424-877c-94ef7ce0fe3f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:20.065588076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a2a66e23-f448-4424-877c-94ef7ce0fe3f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:20.065627866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a2a66e23-f448-4424-877c-94ef7ce0fe3f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:20.065889816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a2a66e23-f448-4424-877c-94ef7ce0fe3f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:20.066562176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.066605676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.067037926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.067064886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.067085656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.067364096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.068728596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"a2a66e23-f448-4424-877c-94ef7ce0fe3f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":3338,"response_code":200} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.068843606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.068896076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.069741536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a2a66e23-f448-4424-877c-94ef7ce0fe3f\", \"content-length\": \"405\", \"date\": \"Thu, 04 Jun 2026 21:07:20 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.069841006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:20.070052636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"f545b35e-f649-4d0c-8351-1b79c6616aa5","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:20.070081346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"f545b35e-f649-4d0c-8351-1b79c6616aa5","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:20.070196896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"f545b35e-f649-4d0c-8351-1b79c6616aa5","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:20.070227946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"f545b35e-f649-4d0c-8351-1b79c6616aa5","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:20.070738056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"f545b35e-f649-4d0c-8351-1b79c6616aa5","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:20.071481266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.071525306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.072158966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:20.072194646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.072312836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.072331856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.072524846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:20.073069756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:20.073115206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:20.073286756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"f545b35e-f649-4d0c-8351-1b79c6616aa5","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":3230,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.073378566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.073401996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.073717536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.074455436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f545b35e-f649-4d0c-8351-1b79c6616aa5\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07:20 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-04T21:07:20.074502696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.074549876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.074570366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.075445686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:20.075807196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:20.075831276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:20.075858706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:20.075950216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.075971226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.076764016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:20.077147136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:20.079448806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.079492586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.082068646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:20.082099836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:20.083497776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.083529706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.086744106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:20.086776016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.087914736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.088005466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.089716626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.089764866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.091506216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.091547386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.094670186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_6\"","result":"failure","saga_name":"instance-start","saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.094746266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","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-04T21:07:20.094875406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"7b29445d-71de-4a94-b869-c124ee1d9fb7","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 7b29445d-71de-4a94-b869-c124ee1d9fb7, saga_log: SagaLog { saga_id: 7b29445d-71de-4a94-b869-c124ee1d9fb7, 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-04T21:07:20.095077296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095092426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095104136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095116656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095128926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095140566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095152716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095164896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095176516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095187906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095210186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095222326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095234916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095248206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095260116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095273646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095287016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095299636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095311676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095322666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095341426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095353836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095366296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095379906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095393376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095408496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095421276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095437756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095453856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095466976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095493896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095509156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095523066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095538636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095552426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095629116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095661646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095677306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095691106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095706526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095721996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095735736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095749686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095763556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095777466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095790656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095802556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095815756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095831116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095843666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095856626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095868426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095880186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095893606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095905896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095917746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095930676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095944036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.095956026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096006106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096063666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096077296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096090356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096103836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096116116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096157876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096170716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096219246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096231246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096242346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096253416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096276776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096289816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096301626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096313946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096324986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.096335976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.107606206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.107641836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.108127356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.110319326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.110364916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.112645206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.115047316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.115089536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.115525416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.117228786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.117278976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:20.117297996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.117313256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.117831896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.119971966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.120009926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.120070076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.120333506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.122640286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.122739216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.122758016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.123187676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.126098676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.131093836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.131153436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.131169146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.131223386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:20.131265116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.131282166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.131507206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.133737646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.133796416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.133813856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.134157266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.137993526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.138038296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.138056286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.138519296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.143018726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.147569076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.147625646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.147643916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.147846556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.150120666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.152505646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(18)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158098216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158163396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158177116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158190166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158202686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158215586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158226606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158238026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158250076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158262126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158273316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158284326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158296936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158308156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158318966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158329886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158341136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158354426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158365376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158377066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158388486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158400776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158413446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158424806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158436226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158447336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158459376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158497976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158510996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158521996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158533996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158546286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158557836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158569006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158580136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158591476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158602746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158637176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158648506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158660186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158671556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158683056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158696766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158707906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158868566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158916416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158930326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158941726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158953086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158965326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158977506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.158988376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159000836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159012406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159025346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159036556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159047636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159059346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159071186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159082506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159093636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159104516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159115816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159132886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159145066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159155976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159181236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159193406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159204646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159215396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159226246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159238386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159250286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159261296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159271636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159282426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.159293156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.174165426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.174201026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.174628366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:20.175273066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.175326486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.175346416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"112.27837ms"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:20.175487256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.176766376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.176820486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.177243606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.178789756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.178829136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.179325016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.180801546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.180850006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:20.180871586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.180888066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.181211656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.183195696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.183225346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.183241026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.183674816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 inventory collection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.185628146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba"} {"msg":"inventory collection complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.185665256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","time_started":"2026-06-04 21:07:16.155739 UTC","collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.185823406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_collection","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"collection_id\":\"43d786cf-bac4-4b77-838d-c3e5f37324ba\",\"time_done\":\"2026-06-04 21:07:20.041197 UTC\",\"time_started\":\"2026-06-04 21:07:16.155739 UTC\"}","iteration":3,"elapsed":"4.150043012s"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.185913816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":4,"reason":"Dependency"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.185955636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.185999926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.186021716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.186041326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.186464096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.187256766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.187284366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.187299776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.187624866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.189027436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.192209706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.192284786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.192305646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.192546836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.193257156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.198672706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.198744766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.198769266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:20.198787146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.198805796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.199156756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.200394756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.200445766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.200876456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.201578266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.201610866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.201639296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.202082116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.204349656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.204395246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.204415086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.204886076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.207247976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.214253696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.214305996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.214322006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.214559016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:20.217437226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(13)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.222226946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.222285446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.222308066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.222693636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":18,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:20.222935906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.226054376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2a280369-7baa-40f3-9bee-909e043909f0"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.226142086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.226161226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.226231006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.226249586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.229175006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.229234316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.236714956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.236774846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.239502486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.239550876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"9846b9fe-b635-4046-bdd4-1b3f15ef4268\"))","node_id":"0","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.242347266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.242380586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.245474186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9846b9fe-b635-4046-bdd4-1b3f15ef4268","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:20.245507406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.245530206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.245957756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.248788326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9846b9fe-b635-4046-bdd4-1b3f15ef4268","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:20.253025926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9846b9fe-b635-4046-bdd4-1b3f15ef4268","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:20.253072336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9846b9fe-b635-4046-bdd4-1b3f15ef4268","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:20.253092636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9846b9fe-b635-4046-bdd4-1b3f15ef4268","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:20.253110506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9846b9fe-b635-4046-bdd4-1b3f15ef4268","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:20.258821616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"9846b9fe-b635-4046-bdd4-1b3f15ef4268","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:20.259092106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.259119676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.261631396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"Loaded\":{\"collection_id\":\"43d786cf-bac4-4b77-838d-c3e5f37324ba\",\"time_loaded\":\"2026-06-04T21:07:20.185930616Z\",\"time_started\":\"2026-06-04T21:07:16.155739Z\"}}","iteration":4,"elapsed":"75.67591ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.261776006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"fm_analysis","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-04T21:07:20.262129286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba","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-04T21:07:20.262491496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba","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-04T21:07:20.262524856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba","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-04T21:07:20.262548446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba","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-04T21:07:20.262567546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba","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-04T21:07:20.264613576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_rendezvous","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-04T21:07:20.264940346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.265000706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.265026726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.265067596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.265084326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.265574016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":5,"reason":"Dependency"} {"msg":"blueprint planning disabled, doing nothing","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.265598396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.265612486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_planner","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"Disabled\"","iteration":5,"elapsed":"28.94µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.265635886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"physical_disk_adoption","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":3,"reason":"Dependency"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.265653366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"30.22µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.265672116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":4,"reason":"Dependency"} {"msg":"multicast group reconciler activating","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.265718006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.265745376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.265760926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.268061286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.268385706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.269520366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18307","req_id":"24f46593-37b7-4cf5-bb06-8d525145e1a5","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 54 76 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 Tv..........._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-04T21:07:20.269589646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18307","req_id":"24f46593-37b7-4cf5-bb06-8d525145e1a5","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 21622,\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-04T21:07:20.269683996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.269699546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.269716706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18307","req_id":"24f46593-37b7-4cf5-bb06-8d525145e1a5","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: 64395, 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-04T21:07:20.270060996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba","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-04T21:07:20.273255036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba","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-04T21:07:20.273306156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba","background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"building sitrep 2b63fe5b-0987-448d-8b43-d1a66decd0ec (sitrep)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.273365776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"inv_collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba (collection)","parent_sitrep_id":"None","sitrep_id":"2b63fe5b-0987-448d-8b43-d1a66decd0ec (sitrep)","parent_sitrep_id":"None","inv_collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba","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-04T21:07:20.273720626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"parent_sitrep_id":"None","inv_collection_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba","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-04T21:07:20.274492266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"fm_analysis","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"inv_collection_id\":\"43d786cf-bac4-4b77-838d-c3e5f37324ba\",\"known_classes\":[],\"outcome\":{\"RanAnalysis\":{\"analysis_status\":{\"end_time\":\"2026-06-04T21:07:20.273384366Z\",\"outcome\":{\"Error\":\"FM analysis is not yet implemented\"},\"report\":{\"cases\":[],\"comment\":\"\",\"sitrep_id\":\"2b63fe5b-0987-448d-8b43-d1a66decd0ec\"},\"start_time\":\"2026-06-04T21:07:20.273257536Z\"},\"prep_status\":{\"errors\":[],\"report\":{\"closed_cases_copied_forward\":{},\"inv_id\":\"43d786cf-bac4-4b77-838d-c3e5f37324ba\",\"new_ereport_ids\":[],\"open_cases\":{},\"parent_inv_id\":null,\"parent_sitrep_id\":null}}}},\"parent_sitrep_id\":null}","iteration":3,"elapsed":"11.81746ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.274567726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.282358256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.282412686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.282435616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.282459586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.282479946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.282763566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.284303946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.284353696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.284655526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.285756146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1107, tv_nsec: 747641389 } })","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-04T21:07:20.285799206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.286151266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:35357","req_id":"4f861967-3d69-49cf-8370-2e6aeda64129","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 5d ac 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-04T21:07:20.286210396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:35357","req_id":"4f861967-3d69-49cf-8370-2e6aeda64129","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 23980,\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-04T21:07:20.286357096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.286408296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:35357","req_id":"4f861967-3d69-49cf-8370-2e6aeda64129","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-04T21:07:20.286485606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.288689366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.289033646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.289060766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.289079306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.289707146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.289748056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:a\"))","node_id":"2","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.342538256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.345439066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.345497646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.345520896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.345571446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.345589746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.347966116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.348028256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.354640356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.354687586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.354719946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.356426576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.361512036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.361574776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.361597706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.361622476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.361642896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.361681796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.367616856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.372134106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.372186546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.372292056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.372628486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.373426296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.373517686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.373540236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.373559336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.373817686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.376370626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","background_task":"multicast_reconciler","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"26cf41f6-0da4-483b-8b12-2d8c74975e5c\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:20 GMT\"} })"} {"msg":"searching for multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.376589486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.376609976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.376642036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.377540656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ensured all Crucible datasets present in inventory have database records","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.378355526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.378416886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.378442306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.378463426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.378527756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.378886636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.379612046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.382032916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.382088306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.382121856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.382222116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:20.382949136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.383007886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.383116756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.383144036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.383242236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.383937566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.385722946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.385756326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.385806646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.385828356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.385853306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.385981246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"member state reconciliation completed","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.387967076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.388010266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.388027526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.388048696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.388411346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.389132606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.397057876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.397135726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.397156506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.397468696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"all LocalStorage datasets reconciled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.401758916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.401949476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.401975486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.401999806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.402024736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.402579736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.407095236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.416268566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.416343906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.416366446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.416390726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.416414086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.416647366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.419740526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.421822426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.421912976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.421938276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.422093046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"all LocalStorageUnencrypted datasets reconciled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.429019795Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.429117975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"blueprint_rendezvous","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"blueprint_id\":\"d2af2e4d-5629-488c-9cd9-9734b471d829\",\"inventory_collection_id\":\"43d786cf-bac4-4b77-838d-c3e5f37324ba\",\"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":3,"elapsed":"164.917029ms"} {"msg":"multicast group member complete deletion finished","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.434416575Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.434668475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.434720635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.434745315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.434953555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"searching for multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.439516915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.439566415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.439597015Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.440403385Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"found multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.442959855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.443093335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.443119055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.443145645Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.443456475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"found multicast groups","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.448909835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.448950445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.449157415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.449236615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":4,"elapsed":"183.515429ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.452643565Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.452770445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"9846b9fe-b635-4046-bdd4-1b3f15ef4268\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:20.381932Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:20.381932Z\")})","node_id":"3","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.457754785Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.457848315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.462314125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"9846b9fe-b635-4046-bdd4-1b3f15ef4268","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.462385855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.462443545Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.463217255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.465551065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.466122275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.466988575Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.471231535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.471306245Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.471945435Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.474336195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.474431175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:20.474472745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.474612115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.474837345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.479380145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.479433405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.479461165Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.479939125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.483699425Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.483874135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.483902575Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.484556745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.490799285Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.495511525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.495600895Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.495641095Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:20.495669545Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.495694345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.495872465Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.499107615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.499225945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.499308845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.499931135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.504641465Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.504692995Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.504720735Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.505469745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.512308815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.518164315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.518249085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.518282865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.518363845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:20.527356755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.527400005Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"9846b9fe-b635-4046-bdd4-1b3f15ef4268\"), \"state_generation\": Number(19), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.531850145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.531884065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.535278565Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.535336115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.535762935Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.538666185Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.538726525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.539444005Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.542956745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.543025215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.543876835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.548262495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.548368315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:20.548395745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.548419795Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.548933945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.552074875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.552119225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.552144475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.552487125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.555286635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.555335095Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.555362135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.555678745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.558271415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.564659825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.564734265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.564761425Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.565005195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.567495155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.567557665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:20.567897635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.567925775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.568049945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.572234055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.572455965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.572496975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.572727875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.576183535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.576233385Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.576260315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.576754715Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.582151535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.586477815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.588850895Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.588920715Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.595279235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.595330285Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.602104705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.602160065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.605283505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.605335935Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.607933995Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.607971845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.611974335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.612146755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.615774695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.616007875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.618792495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.618838725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.622367815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.622417675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.624671335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.624709055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.629923665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.629990045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"13","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.635131255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.635196265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.638649785Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.638700165Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.641581015Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.641625075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.645416805Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.645553085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.648849445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.648942915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.652451135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.652537345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.657029225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.657099895Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.660811555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.660871595Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.665466505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.665516995Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.668912745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.669136835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.673189265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.673246385Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.681476455Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.681507365Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.690085435Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.690169285Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.697646105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.697705725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.703674335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.703709935Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.712580935Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.712638985Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.718406145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.718435135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.725609855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.725657075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.730832115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.730891815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.733635875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.733707875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.736513405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.736577655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.739534525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.739565915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.742490585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.742540725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.745533945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.745573885Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.750024765Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.750075525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.753536755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.753569155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.756836824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.756895164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.760990834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.761028604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.764957824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.764998554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.768763014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.768839404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.775053744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.775103784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.782670374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.782730314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.786861664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.786913514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.791892414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.791933914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.796229094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.796280324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.802856374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.802934144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.808144204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.808231184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.812431934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.812499244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.818682464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.818754614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.823322984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.823363094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.829328624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.834847514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.834901574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.839698774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.839760204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.844817924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"9846b9fe-b635-4046-bdd4-1b3f15ef4268","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.844860924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.844892434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.846031064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:20.851145024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.851260174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.851448524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.851517004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.852180544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.852944804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.852971384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.857018844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.857090334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.857168324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.858540104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.860340314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.860375904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.868029364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.868087704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.869266204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.869344964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.869366224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"17.80215ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.871924614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.871991104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.875488204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.875786244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.876644154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.881757244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.881816864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.893581724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.893644714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.897619834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.897717894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.903704124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.904312874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.908818894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.908865204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.913122184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.913176194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.921310984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_7\"","result":"failure","saga_name":"instance-start","saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.921398674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","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-04T21:07:20.921541024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"2a280369-7baa-40f3-9bee-909e043909f0","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 2a280369-7baa-40f3-9bee-909e043909f0, saga_log: SagaLog { saga_id: 2a280369-7baa-40f3-9bee-909e043909f0, 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-04T21:07:20.921980734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922088904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922108804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922124164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922138724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922153834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922166604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922182184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922195644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922222844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922236224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922248024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922260474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922273614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922288384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922303064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922315924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922328834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922345194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922359754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922371854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922385414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922404274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922422644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922438054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922461724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922478394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922491474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922509604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922524774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922540294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922552154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922565174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922580634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922593754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922607204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922620464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922633204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922644514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922656064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922670834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922683714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922707544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922718854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922731044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922742404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922801144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922828174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922857434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922871114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922884604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922902544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922917184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922930484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922947224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922959144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922974424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.922999804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923013394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923027134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923041864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923054814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923068274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923079704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923090824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923103464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923114704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923126204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923137654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923148614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923160524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923171484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923182764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923195044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923206434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923222824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.923236024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.938044314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.938146504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.938668364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.941299194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.941367854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.943480574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.947690344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.947753244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.948329314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.951374664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.951430644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:20.951451414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.951474234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.951890394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.957208544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.957246164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.957300644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.958252744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.961091904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.961138484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.961156954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.961575044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.966774334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.972717014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.972791794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.972809024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.972836444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:20.972866994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.972883684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.973185004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.977051134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.977104154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.977162314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.977646104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.980683424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:20.980723224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.980740244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.981294804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.984971624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:20.990884264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:20.990940924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.990959404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:20.991246264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.993844454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:20.996602104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(20)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.002514804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:21.002572964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:21.003240734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"81a3cca6-c2b0-421f-ac31-5d2ac2c16b00","remote_addr":"127.0.0.1:51638","local_addr":"127.0.0.1:37127","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-04T21:07:21.009823494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"81a3cca6-c2b0-421f-ac31-5d2ac2c16b00","remote_addr":"127.0.0.1:51638","local_addr":"127.0.0.1:37127","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":6587,"response_code":200} {"msg":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.010364754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:21.017768854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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":14,"n_results":5} {"msg":"forwarded results to main collection loop","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.017844274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:21.017863974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:21.018476244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":15} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.018508384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":15} {"msg":"unrolling 15 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.018529554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:21.027454764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:21.027511314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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') FORMAT Native"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.030431934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":5} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.036704314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037653454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037706234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037758734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037776154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037790264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037804404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037817094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037872174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037884794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037898914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037911504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037923794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.037989554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038003514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038063614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038103904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038126754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038140404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038156354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038188494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038213924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038226344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038243274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038256304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038268124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038280954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038292864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038304864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038316254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038327774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038339084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038353264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038366644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038381464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038397814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038411684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038423804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038436874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038687474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038710644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038724074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038737244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038750644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038765394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038778374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038790124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038801704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038814594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038826814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038839434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038852124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038892454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038906364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038919444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038932084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038944814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038956824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038969624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038982914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.038995024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039007704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039019264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039032254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039044794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039056914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039069314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039080664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039136494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039150764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039164674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039183324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039194304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039206464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039219034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039230514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039242214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.039252964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.056516884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.056571934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.057255204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:21.060648844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:21.060706074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:21.060727924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.060746064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.061801534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.065069934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.065126564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.065566794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:21.066242544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:21.066328094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_columns":4,"n_rows":14,"sql":"INSERT INTO oximeter.fields_uuid FORMAT Native"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.067641404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.067692144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:21.067711164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.067726544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.068080344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:21.068954634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"fields_uuid","n_rows":14} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.068982634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.070651084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.070700664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.070719014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.071114904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:21.071950214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:21.071981454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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.measurements_i64 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-04T21:07:21.072790614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:21.072922934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:21.074149384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.074233294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.074256814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.074433514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:21.074810084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","table_name":"measurements_i64","n_rows":4} {"msg":"successfully inserted samples","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.074876674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.074960224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","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-04T21:07:21.075111584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:21.075472784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:21.075521864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:21.075541004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:21.077305384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.082026664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.082072564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.082094534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:21.082110674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.082124824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.082411374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.085257684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.085642144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.085690814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.085883534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.088901714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.088944004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.088965644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.089198874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.092099594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.098197324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.098255764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.098275984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.098583274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:21.102787724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(14)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.105092864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.105152624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.105209854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.105474834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":20,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:21.105860794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.110555734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a3ca4b48-6267-4587-8810-d547bbe672ee"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.110587264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.110607264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.110704484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.110723474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.113245494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.113279834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.115666864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.115690164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.118059064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.118110844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"565828a4-7942-46ab-a96b-a6f3cdcc5b5a\"))","node_id":"0","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.119289814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.119342234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.120753674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.120795194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.123375134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"565828a4-7942-46ab-a96b-a6f3cdcc5b5a","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.123420694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.123442304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.123861114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.126562264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"565828a4-7942-46ab-a96b-a6f3cdcc5b5a","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.131333834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"565828a4-7942-46ab-a96b-a6f3cdcc5b5a","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.131417934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"565828a4-7942-46ab-a96b-a6f3cdcc5b5a","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.131437674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"565828a4-7942-46ab-a96b-a6f3cdcc5b5a","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.131454584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"565828a4-7942-46ab-a96b-a6f3cdcc5b5a","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.140511124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"565828a4-7942-46ab-a96b-a6f3cdcc5b5a","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.140662184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.140695494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.144791884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.144845324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.147717844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.147785444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.148173544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:21.152903824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.153006694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:b\"))","node_id":"2","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.155714034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.155777404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.162338614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.162427624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.162981294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.169023054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.169081684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.169105244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.169124414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.169846074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.174593724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.177231064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.177324774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.177360684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.177631574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:21.181212074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.181255364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"565828a4-7942-46ab-a96b-a6f3cdcc5b5a\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:21.177197Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:21.177197Z\")})","node_id":"3","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.184595674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.184639974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.188329184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"565828a4-7942-46ab-a96b-a6f3cdcc5b5a","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.188422194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.188451384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.188919044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.191481164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.191609554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.192618284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.194358104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.194410634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.199073104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.201502384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.201581054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:21.201607474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.201632144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.202172894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.205688934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.205755214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.205781454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.206882044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.209509634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.209564694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.209590594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.210157694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.213434734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.218665014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.218725174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.218759364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:21.218789464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.218814894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.219026224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:21.220405044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.221964634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.222040654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.222068414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.225056314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.226951974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.227015344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.227197764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.227433124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.230685844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.235627684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.235695444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.235720254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.235929884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:21.249341774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.249386234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"565828a4-7942-46ab-a96b-a6f3cdcc5b5a\"), \"state_generation\": Number(21), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.252445664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.252476304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.256563764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.256626674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.260074544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.262310484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.262359344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.264087094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.266943194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.266994644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.270739684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.273392134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.273506704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:21.273537424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.273562514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.274385854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.277602884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.277690594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.277721714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.277878564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.280667904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.280735304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.280765054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.281108224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.284558034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.290090974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.290183644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.290210864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.290667454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.292519854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.292608044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:21.292638554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.292664214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.292742504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.295822154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.295895234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.295924034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.297032964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.299758564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.299828764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.299859784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.300375494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.305490494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.314306034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.316928814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.316973044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.322187754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.322262254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.328240874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.328379784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.332181604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.332218034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.337048314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.337105594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.342236224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.342271174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.355000754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.355055974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.358321114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.358373844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.362547864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.362602384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"14","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.366133284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.366190574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.371168434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.371218684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.377457914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.377539444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.395336034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.395419854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.399241104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.399291684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.403637714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.403716154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.408395434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.408453634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.414525354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.414590074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.421031684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.421077274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.425254104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.425299114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.428132683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.428187823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.431076423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.431108743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.437290413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.437340233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.439771713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.439816103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.442819243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.442890093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.445518613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.445571873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.448518483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.448572153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.455283873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.455368063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.459693563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.459743273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.463871223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.463924893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.467503413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.467541633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.469803233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.469853373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.472850873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.472895543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.475649873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.475693053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.478069713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.478104373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.480451643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.480505453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.486346763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.486480933Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.489790863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.489863073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.494498093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.494549203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.497624973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.497671833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.500210083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.500258313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.503911273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.503952583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.510432553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.510479083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.515686533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.515742743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.519175993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.519265713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.521643383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.521692023Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.523872353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.523913463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.528370793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.528426183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.532226333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.532282923Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.535977943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.536086833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.538622643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.538665313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.543562353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.543612873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.545901933Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.552138573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.552195653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.554455753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.554501643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.556370133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"565828a4-7942-46ab-a96b-a6f3cdcc5b5a","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.556415723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.556445793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.556819813Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:21.559769153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.559817063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.559887863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.559910543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.560352253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.560863853Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.560891363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.562787733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.562838763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.563480823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.563517663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.563541233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.563820173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.567139413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.567197913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.568020903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.568063363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.568181263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"8.26918ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.570633053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.570678673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.575970093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.576074073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.576914383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.579838603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.579869973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.583333743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.583376733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.590694363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.590756403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.600501693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.600561283Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.606136213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.606167543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.611350523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.611442683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.617945853Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_8\"","result":"failure","saga_name":"instance-start","saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.618075573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","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-04T21:07:21.618215493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a3ca4b48-6267-4587-8810-d547bbe672ee","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: a3ca4b48-6267-4587-8810-d547bbe672ee, saga_log: SagaLog { saga_id: a3ca4b48-6267-4587-8810-d547bbe672ee, 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-04T21:07:21.618483863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618507403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618520193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618532703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618566763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618582483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618595313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618606933Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618618123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618630313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618641783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618659573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618673543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618685663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618698833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618711443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618724033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618735573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618746783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618758793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618770203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618782003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618794373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618807153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618819313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618831433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618844413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618930043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618946243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618959263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618971073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618982863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.618995193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619007433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619018663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619030353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619044823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619056393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619069293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619082193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619093523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619105843Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619118773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619130213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619142123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619154943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619167093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619179533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619191113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619239383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619253223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619264953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619277253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619290113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619302493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619314753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619327203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619339273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619350403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619361963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619374173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619386783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619399623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619411683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619424363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619436783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619448603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619459923Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619472423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619484773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619497753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619509933Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619523453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619535503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619547063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619580233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.619593043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.641294313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.641352353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.641776373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.646297993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.646395443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.647121463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.652362913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.652422023Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.653095713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.658065663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.658124493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:21.658187213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.658205313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.661861523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.665988973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.666043573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.666064803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.666463943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.669212883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.669386823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.669440583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.673635003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.683711373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.696196083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.696240223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.696254573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.696277483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:21.696294613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.696309733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.696577413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:21.701592013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.701655543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.701677143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.701697343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.701716093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.702685573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.713165183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.713219383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.713237473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.713677823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.714414723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.718111693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.718145503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.718165213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.718425713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.725529813Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.450767Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.725581773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":5,"elapsed":"24.01655ms"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.725734433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.725756133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.725790883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.726366343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.730032873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.737756533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.737848113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.737867423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.738190423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.743187453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.750280113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(22)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.761439852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.761471302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.761486902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.761501642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.761721302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.761962722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762074972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762098642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762112312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762129372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762146152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762160062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762174682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762187772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762200642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762223542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762237252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762250882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762267622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762281162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762294432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762308372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762320592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762334112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762350472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762365162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762381872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762895262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762922052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762940872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762954972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762968472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762983362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.762998532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763011532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763024462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763036382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763047482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763059622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763071972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763087542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763099822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763115272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763127102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763138802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763150212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763161492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763172772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763185842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763199112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763211452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763222442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763234172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763246062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763257122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763268732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763280122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763292922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763305422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763318712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763330812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763343292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763354902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763367612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763379362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763391532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763404782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763417602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763429192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763443382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763456832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763469772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763482132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763493792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763505022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763516182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.763540032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.781144582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.781204582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.782745012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.787596152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.787660432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.788673322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.791471052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.791500122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.792795742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.795798452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.795869832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:21.795891122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.795906452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.796348602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.799595652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.799649972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.799666862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.800412472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.803718232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.803764962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.803782492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.804405572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.808375612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.823091842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.823161542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.823191882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:21.823213542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.823229402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.823467582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.827852942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.827893642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.827993382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.828433022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.831862142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.831905162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.831922562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.832986802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.837183272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.845929312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.845990532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.846010532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.846411012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:21.851744402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(15)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.859299442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.859463642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:21.859527832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:21.860771662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":22,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:21.860979042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.873393262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0f31d9ec-f099-4e82-8415-d131846df902"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:21.875005052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:21.875100162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:21.875498462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.875546122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.879777892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.879869002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.883735362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.883783472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.886831202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.887581812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"28976826-a0e6-4c81-b3a6-29f3f53b3ec6\"))","node_id":"0","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.890388212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.890438362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:21.898705492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"28976826-a0e6-4c81-b3a6-29f3f53b3ec6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.898760072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.898781562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.899337562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.904805492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"28976826-a0e6-4c81-b3a6-29f3f53b3ec6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.911958442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"28976826-a0e6-4c81-b3a6-29f3f53b3ec6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.912025112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"28976826-a0e6-4c81-b3a6-29f3f53b3ec6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.912044472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"28976826-a0e6-4c81-b3a6-29f3f53b3ec6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.912063692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"28976826-a0e6-4c81-b3a6-29f3f53b3ec6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.919094892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"28976826-a0e6-4c81-b3a6-29f3f53b3ec6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:21.919544252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.919579232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.923394812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.923466692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:21.927504862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.927569952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.928082742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:21.931907592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.931947552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:c\"))","node_id":"2","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.939516432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.939552352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:21.943133262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.943184962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.943801002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.946479892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.946537182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.946559332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.946577312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.947352012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.950116512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.956097662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.956281072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.956347612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.956897562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:21.960637172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.961047532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"28976826-a0e6-4c81-b3a6-29f3f53b3ec6\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:21.956241Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:21.956241Z\")})","node_id":"3","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.970852292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:21.970922112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:21.974433682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"28976826-a0e6-4c81-b3a6-29f3f53b3ec6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.974476332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.974505482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.975272192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.977783732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.977855222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.978202182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.980678832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.980755592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.982908052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.985719702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:21.985835732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:21.985888412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.985916162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.986513492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.989984682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:21.990028982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.990054962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.990446252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:21.994041752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:21.994086202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.994111472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.994847112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:21.999163772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.007805132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.007942702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.007979412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:22.008003792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.008028032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.009268772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.013135552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.013337082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.013367042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.014306172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.017862682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.018352032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.018402272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.018673832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.023213032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.031055612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.031177242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.031207092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.031238162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:22.041702482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.041776722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"28976826-a0e6-4c81-b3a6-29f3f53b3ec6\"), \"state_generation\": Number(23), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.046676652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.046721142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.050082242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.050158722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.050438422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.053277752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.053359792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.053791692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.056843772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.056927492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.058211202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.061155722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.061276432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:22.061306782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.061334622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.061993762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:22.065270652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.065794822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:22.066782802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"b8e503e9-b032-4b86-a128-771f4a2bfc76","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:22.066817772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"b8e503e9-b032-4b86-a128-771f4a2bfc76","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.066927662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.066965542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.066993332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.067409282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.068269542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b8e503e9-b032-4b86-a128-771f4a2bfc76","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:22.068320322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b8e503e9-b032-4b86-a128-771f4a2bfc76","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:22.068634432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b8e503e9-b032-4b86-a128-771f4a2bfc76","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.072747982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:22.072984032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.073316592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"batch interval expired, but no samples to insert","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.073375962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter"} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.074082662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:22.075291462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:22.075325032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:22.075699962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"b8e503e9-b032-4b86-a128-771f4a2bfc76","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":8857,"response_code":200} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.076161192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.076260842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.076369362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.077296442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:22.079061602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:22.079597922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.080121602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"b8e503e9-b032-4b86-a128-771f4a2bfc76\", \"content-length\": \"405\", \"date\": \"Thu, 04 Jun 2026 21:07:22 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.080257162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:22.081560022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"e9f714bb-ad0a-46a1-b36b-0f83e6628b00","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:22.081601462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"e9f714bb-ad0a-46a1-b36b-0f83e6628b00","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:22.081784362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e9f714bb-ad0a-46a1-b36b-0f83e6628b00","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:22.081841182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e9f714bb-ad0a-46a1-b36b-0f83e6628b00","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:22.083109512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"e9f714bb-ad0a-46a1-b36b-0f83e6628b00","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.084296322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:22.085062012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:22.085098312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:22.085119932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:22.085140382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.091097542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.091171402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.091212502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.092241442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:22.097207582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:22.097261012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:22.097921192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.097989922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:22.098039272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.098236672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.098789612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:22.100451172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"e9f714bb-ad0a-46a1-b36b-0f83e6628b00","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":18974,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.101340352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e9f714bb-ad0a-46a1-b36b-0f83e6628b00\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07:22 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-04T21:07:22.101472012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.101497742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.101518112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.102618602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:22.102647412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.103904162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.103944752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.103971482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.104796572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.109501222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.109568912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.109597242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.110202182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.113833832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.118951052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.122314942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.122352252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.130990182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.131049042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.136274202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.136318772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.142211482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.142257322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.147258392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.147318132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.152061702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.152100972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.155889852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.156019182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"15","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.162286802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.162343272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.166371672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.166437932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.169819872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.169891082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.174346082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.174398942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.179320052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.179378182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.183355912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.183445882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.190308872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.190474232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.199362952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.199436932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.205461522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.205517502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.211006412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.211041802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.216880602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.216950402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.230234422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.230284692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.238206342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.238281552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.246543352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.246610172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.251132752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.251200842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.261417762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.261470882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.266532642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.266587162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.271478112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.271536842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.275386272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.275442012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.278670922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.278737482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.285345922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.285416032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.289172682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.292129382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.298787212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.298828062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.302458282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.302503632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.308538002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.308603532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.311294592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.311351212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.315885782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.315929192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.318867682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.318914312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.322836032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.322891092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.325598632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.325658062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.332272862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.332326802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.335989362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.336062012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.340081652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.340182812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.344908712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.344975162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.347545342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.347593492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.350823032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.350986462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.354600592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.354666742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.357879792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.357916652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.363705462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.363750362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.366738922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.366780922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.370448792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.370514332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.373690412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.373739162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.376337812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.376364822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.379897352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.379961242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.383861922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.388702102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.388753912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.394398802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.394446672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.399813652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"28976826-a0e6-4c81-b3a6-29f3f53b3ec6","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.399864422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.399903992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.400338562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:22.406162492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.406285392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.406337752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.406364232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.407558932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.408317072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.408353882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.411992762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.412032662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.412956952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.413089242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.413115322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.413462142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.415879412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.415931472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.418062892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.418110112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.418130182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"11.85261ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.419935722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.420243152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.423445342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.423489892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.423975052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.426297831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.426358381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.429364791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.429434311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.432713771Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.432794871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.436691151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.436757451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.439764241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.439812331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.447036881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.447069121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.451899931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_9\"","result":"failure","saga_name":"instance-start","saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.452095181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","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-04T21:07:22.452121811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"0f31d9ec-f099-4e82-8415-d131846df902","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 0f31d9ec-f099-4e82-8415-d131846df902, saga_log: SagaLog { saga_id: 0f31d9ec-f099-4e82-8415-d131846df902, 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-04T21:07:22.452414231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452444361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452460621Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452474711Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452488391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452502241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452518121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452530511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452545911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452566351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452583561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452597041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452612511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452631091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452643781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452656331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452668311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452682421Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452719941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452733251Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452746371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452761961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452774441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452787031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452800091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452813141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452825251Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.452920541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453012961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453079171Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453093191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453107091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453125351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453138631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453151551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453166311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453179831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453192981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453205291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453220261Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453237021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453250731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453262791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453275301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453287811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453299891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453311881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453328751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453342961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453358061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453371031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453383041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453397651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453409851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453424111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453437631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453450121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453462071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453499111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453538441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453552411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453566301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453590271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453606911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453620641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453633521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453646881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453660691Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453674251Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453692161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453708341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453902191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453930521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453944841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453960281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453974461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.453988291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.468558041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.468604301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.469597741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.472151021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.472192451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.472900591Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.475488891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.475670281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.476648171Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.478975081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.479032511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:22.479053711Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.479071591Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.479704361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.482086881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.482147321Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.482170971Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.482511211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.484943961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.484997051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.485023291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.488005581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.490643151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.494976221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.495033361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.495053391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.495079001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:22.495101311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.495144211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.495307331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.499098491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.499163031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.499183771Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.499322171Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.502424511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.502474951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.502494741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.503136751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.507608431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.515512291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.515570641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.515589231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.515859311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.520234981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.523618931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(24)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.539979521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540103601Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540117531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540131081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540143601Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540156601Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540170701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540184571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540210371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540223801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540237061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540250311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540262431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540275951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540288221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540300111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540442821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540489491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540503521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540515251Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540558911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540571301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540582871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540596921Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540610191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540622131Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540634001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540646401Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540658361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540669041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540682941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540695201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540733701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540747841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540760361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540772921Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540787781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540800141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540812941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540829151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540841771Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540854791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540868561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540880771Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540891721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540905641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540918001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540930571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540942071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540953961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540965101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540975861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.540988211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541000491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541012031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541023451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541035801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541048121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541076521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541089371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541100681Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541114831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541127371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541138611Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541149341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541162021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541174331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541185791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541196891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541208171Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541219221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541230821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541242441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541254171Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541264781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541278291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.541290901Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.556494571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.556546931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.557193641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.559386911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.559746581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.560439641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.562660501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.562686651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.563441301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.565579561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.565609541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:22.565683671Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.565701371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.566420031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.569654301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.569716021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.569735701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.570188771Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.577582881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.577627331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.577645781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.578113491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.581057411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.585714681Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.585758251Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.585782701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:22.585802571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.585826121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.586162441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.590440671Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.590481811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.590540261Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.591242091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.594601011Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.594646591Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.594666491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.595117431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.597835111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.604307891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.604360471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.604379181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.604659911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:22.610880071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(16)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.614816881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.614876151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.614901071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.615165371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":24,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:22.615355311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.618936991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6d7b9824-71a8-4707-8aec-3e9302237aec"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.618986201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.619003701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.619085751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.619104101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.622529471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.622582171Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.628722551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.628781001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.633999551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.634029861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d\"))","node_id":"0","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.640910701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.640942141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.644936801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:22.644976261Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.645031301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.645559361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.649698571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:22.656156961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:22.656213951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:22.656236781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:22.656257701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:22.662219241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:22.663080801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.663128491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.668275521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.668415341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.671314041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.671380141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.671854881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:22.675784891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.675837271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:d\"))","node_id":"2","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.687112021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.687175061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.694096581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.694154531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.694555961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.699966271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.700926701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.700968951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.700987411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.702301341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.705790751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.709193171Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.709230261Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.709258611Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.709635731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:22.721500231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.721548881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:22.709193Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:22.709193Z\")})","node_id":"3","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.726839541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.726887331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.730654141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.730853861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.730898981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.731451961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.735089201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.735141931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.736041961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.743106801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.743160751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.744097431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.749640551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.749717931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:22.749747351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.749772381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.750476751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.754027731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.754115461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.754296231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.75503302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.75833148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.75839818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.75842664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.75887698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.76431521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.7712769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.77135633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.77139388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:22.77142035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.77144505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.77361551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.77893323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.77900868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.77903745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.77944172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.7833287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.7833672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.78339391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.78408294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.78677783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.79122468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.79128282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.7913083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.79151033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:22.79846054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.79850832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d\"), \"state_generation\": Number(25), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.8034862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.80356233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.80879627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.80885755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.80924889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.8118136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.81186037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.81232945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.81492423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.81496075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.81547838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.81735325Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.81744116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:22.81747103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.81749918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.8177008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.81982611Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.81987092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.81989788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.82045464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.82309059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.82317154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.82320443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.82345102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.82560445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.82986453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.82993505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.82996308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.83011208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.83103727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.8310989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:22.83113055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.83115903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.83134336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.83342733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.83349364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.8335204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.83374819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:22.83620045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.83625071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.8362793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.83667432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.83905151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.84373152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:22.84520362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.84525101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.84766295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.8477082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.85256509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.85263099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.85582646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.85585878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.85854708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.85862358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"16","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:22.863107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:22.86316735Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.86715827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.86721047Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.87067506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.87076101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.87539375Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.87547896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.87868405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.87873145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.88204828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.88210293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.88537045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.88543601Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.88832178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.88837621Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.89046293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.89051083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.89247133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.89252084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.89518769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.89522579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.89861299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.89865809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.90111044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.90114532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.90563804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.90570045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.91071633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.91079875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.91333768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.91338142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.91699498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.9170598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.91988527Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.9199884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.923011Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.92305886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.92598927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.92608642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.92833453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.92840304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.93130272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.93134724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.93442539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.93447957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.93771105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.937761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.94045537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.94050882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.94489524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.94499517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.9476648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.94770829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.95193719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.95197603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.95427824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.9543315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.95638213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.95643336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.95856346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.95859269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.9615207Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.96157959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.96475748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.96481132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.96736605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.96741276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.97103081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.97108544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.97355727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.97360721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.97695773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.97700448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.98268411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.98270983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.98638309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.98645129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.99039705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.99044682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:22.99524531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:22.99529024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.01345148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.01368326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.01724093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.01730311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.02388773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.02393984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.02650215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.02654838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.03033708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.03040897Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:23.03364308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.0421896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.04224343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.04491436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.04498248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:23.04746157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"b97d4b3e-63e9-4cec-ba6f-ff394a8f570d","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.04760788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.04968415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.05027512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:23.05390848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.05398368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.05402467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.05404911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.05503896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.05676071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.05686615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:23.05957544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.05965483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.05967987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.06009906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.06141927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.06146351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:23.06515694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.06521717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.07031683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"16.27094ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.07062671Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.07065932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:23.07305717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:23.07310869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.07390898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.07411513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.07413488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:23.07480761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:23.07486986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.07704843Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:23.07761419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:23.07884866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:23.07888015Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:23.07945035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.07948054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:23.08870555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:23.09175706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:23.09395791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:23.09401338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:23.09422256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.0942496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.09887173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.10097735Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:23.1010201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.10378413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.10403384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.10728813Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.10733825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.10972411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.10976911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.11285301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.11288294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.11860878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.1186617Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:23.1226939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12274332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:23.12855298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_10\"","result":"failure","saga_name":"instance-start","saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:23.12864741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","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-04T21:07:23.12907031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"6d7b9824-71a8-4707-8aec-3e9302237aec","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 6d7b9824-71a8-4707-8aec-3e9302237aec, saga_log: SagaLog { saga_id: 6d7b9824-71a8-4707-8aec-3e9302237aec, 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-04T21:07:23.1295425Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12956118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12957353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.1295859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12959831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12960981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12962123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12963222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12964527Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.1296572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12967101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12968317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.1296954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12970875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12971983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12973199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12974464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12975663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12983614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12984714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12985784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12986815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12987855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12989034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12990224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12991332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.12992726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13004476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13006207Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13007523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13008695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13009733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.1301077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13011823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13012836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13013861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13014961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13015983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13017034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13018061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13049523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13053173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13054618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13056061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.1305756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13058925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13060385Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13064258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13065657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13067607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13068898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13070489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13071859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13073152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13075699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13077111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13078681Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13080416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13081879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13083159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13084389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13086127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13095118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13096769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13098022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13099291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13101878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13103115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13104392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13105615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13107571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13109052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13113221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13124778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13127516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13128857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.13130109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.15434891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.15438859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.1548485Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.15814921Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.15817939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.16109017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.16525793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.16530928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.16577746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.16880278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.16885003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:23.16893804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.1689558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.17004982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:23.17432215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.17710879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.17790399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.17797907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.179403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.18354827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.18359698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.1836191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.18418819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.18803247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.19439816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.19445191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.19446596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.19448615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:23.19450147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.1945158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.19493394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.20138314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.20143811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.2014969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.20211812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.20779398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.20784467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.20786144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.20892854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.21142087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.22124077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.22129844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.22132843Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.2222694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.22552404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.22778467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(26)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24014172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24033944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24038583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.2403991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24041471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24042784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24043979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24045174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24046238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24047433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24048502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24049597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24050744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24051867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24059177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.2406055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.2406182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24063006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24064434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24065695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24067017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24068133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24069194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24070379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.2407142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24072611Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24073667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24085759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24087549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.2408889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24090116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24091296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24092547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24093697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24094834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24096051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24097262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24098351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24099558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24100895Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24102113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24103273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24104363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24105508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24106868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24108063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24109215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24164799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24168267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24169916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.241713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24174699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.2417609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24177416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24178829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24180071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24181799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24183058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24184084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24185148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.2418644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24187658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24188888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24190161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24191557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24192845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24194061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24195313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24196883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24198072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24199475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24200851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24202204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24203307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24204472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24205591Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.24206581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.25673098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.25675893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.25751623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.26053915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.26058783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.26109222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.26473475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.26477394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.26580371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.26946105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.26951749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:23.26953695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.26955431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.27005226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.27460455Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.27584013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.27919699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.27994016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.2837184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.28380306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.28382246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.28623292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.28975088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.2963935Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.29655649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.29661973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:23.29663896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.29665483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.29695529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.30071136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.30074646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.30076214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.30133672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.30911581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.309648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.30967587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.30982103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.31582317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.3222901Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.32236787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.32238638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.32258469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:23.32586146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(17)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.33013484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.33041556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.33047255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.33073865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":26,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:23.33143211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.33462835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.33467869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.33471546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.33473744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.33475459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.33877504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.33882462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.34370969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.34376335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.34753452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.3476021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"62bbe6bc-c588-421b-9133-841bf9a730cf\"))","node_id":"0","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.35673421Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.35682899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.35994046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"62bbe6bc-c588-421b-9133-841bf9a730cf","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:23.35997653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.3599982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.36048673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.36694148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"62bbe6bc-c588-421b-9133-841bf9a730cf","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:23.37865227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"62bbe6bc-c588-421b-9133-841bf9a730cf","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:23.37872104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"62bbe6bc-c588-421b-9133-841bf9a730cf","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:23.37873932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"62bbe6bc-c588-421b-9133-841bf9a730cf","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:23.37875596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"62bbe6bc-c588-421b-9133-841bf9a730cf","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:23.38388759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"62bbe6bc-c588-421b-9133-841bf9a730cf","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:23.38400658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.38407581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.38695834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.38700051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.39270335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.39277107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.39279563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:23.39767751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.39772297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:e\"))","node_id":"2","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.40423857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.4042912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.40720151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.40724274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.40797426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.41083483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.41087974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.41090193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.41092137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.4122412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.41628882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.42211026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.42214878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.42217509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.42261172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:23.427407409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.427453469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"62bbe6bc-c588-421b-9133-841bf9a730cf\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:23.422092Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:23.422092Z\")})","node_id":"3","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.434222229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.434270539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.438716649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"62bbe6bc-c588-421b-9133-841bf9a730cf","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.438810669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.438847099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.439442679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.443027099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.443096339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.443516609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.448690989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.448756079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.449447889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.453019369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.453090069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:23.453119249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.453143789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.453924259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.457094309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.457149889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.457176349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.458203229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.461711759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.461769109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.461795919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.462206999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.465231309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.470062459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.470149709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.470189889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:23.470216719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.470244349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.470420529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.475816319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.475886749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.475919929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.476337139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.479581249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.479652979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.479682509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.480520249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.483148329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.488733219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.488867299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.488894619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.488917249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:23.499193499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.499253009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"62bbe6bc-c588-421b-9133-841bf9a730cf\"), \"state_generation\": Number(27), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.514422109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.514483009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.525569019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.525692099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.526657839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.532850309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.532911309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.533769099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.538515129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.538587049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.539144129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.543388859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.543472019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:23.543499469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.543525669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.543670259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.546377889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.546437949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.546493479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.546765889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.552245099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.552302419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.552327689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.552637849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.556685719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.563064019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.563156949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.563183589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.563493999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.564765629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.564845849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:23.564873739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.564904629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.566237739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.576511959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.576587809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.576621759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.577762839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.581026039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.581085329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.581117359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.581700459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.585944099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.594903209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.597378219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.597514699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.601849459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.601913969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.605232909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.605323119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"17","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.609173269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.609230449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.614429279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.614579239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.618305949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.618379959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.623247829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.623361709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.626888049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.626983979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.630159119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.630221429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.634916509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.635007599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.638627539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.638680259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.642141579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.642204529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.644923529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.644974609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.648606739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.648661679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.651382369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.651439639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.654192749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.654289349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.656668739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.656733219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.659297209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.659366409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.664898009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.664931919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.668254919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.668300419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.670888459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.670946329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.673733779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.673784389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.679288569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.679326019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.685066629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.685125779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.688262979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.688315959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.693717669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.693778529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.697948369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.697985579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.701559169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.701613869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.705589889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.705658079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.709912369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.709990649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.717511749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.717566159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.723088369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.723144739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.726429599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.726494009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.729983099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.730033219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.738165699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.738230309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.747282769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.747358489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.754387769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.754460979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.757783208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.757846038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.761872858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.761917898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.767242588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.767276438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.770715248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.770754638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.775889298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.775960618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.780946308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.781035348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.784463128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.784547438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.789765258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.789890778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.795123838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.795195268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.799026638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.799089998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.803239328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.803327918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.806538498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.806631608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.811849608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.811889558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.817457188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.817523128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.821467198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.826336088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.826397328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.829684138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.829735638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.834847378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"62bbe6bc-c588-421b-9133-841bf9a730cf","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.834914698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.834946538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.835458698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:23.841206788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.841386488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.841436098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.841468138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.842955458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.843663258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.843751188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.846832248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.846906258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.847630618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.847672568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.847696018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.848172838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.852562938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.852620618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.852644998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"11.22886ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.852720988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.852740088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.855183548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.855215288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.857826118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.857879188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.858473848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.862964928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.862998258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.866491958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.866527068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.870175808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.870235388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.877615328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.877676448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.881224258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.881296038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.889394488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.889448658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.902202338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_local_storage_11\"","result":"failure","saga_name":"instance-start","saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.902355908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","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-04T21:07:23.903806658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"b940fe6c-fe8f-4723-899a-9e3dfa17e7ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: b940fe6c-fe8f-4723-899a-9e3dfa17e7ad, saga_log: SagaLog { saga_id: b940fe6c-fe8f-4723-899a-9e3dfa17e7ad, 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-04T21:07:23.904115528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904136698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904149998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904161558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904173728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904186268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904197848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904209948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904226368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904237868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904249398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904260968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904272418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904284358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904295788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904307188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904318678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904330108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904342438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904358868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904370148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904381618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904393308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904404418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904416138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904427828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904439448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904495138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904509568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904520978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904532398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904544728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904556378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904568168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904579688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904591148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904604598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904621578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904633168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904646178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904658768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904670448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904682128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904693428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904706658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904718358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904729608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904747138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904758388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904769758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904781218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904792618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904804128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904815548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904826628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904838118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904849038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904860018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904877178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904888508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904900018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904911588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904922838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904934248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904945708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904956908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904968278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904979428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.904990698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.905006458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.905018478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.905029758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.905040708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.905051838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.905063378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.905074908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.905086068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.934318688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.934381958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.935391618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.938116868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.938165518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.938626778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.941521378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.941751188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.942172508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.949391988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.949570188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:23.949595248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.949616858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.951874558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.954637108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.954707598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.954726498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.955220728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.959972638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.960027928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.960126818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.960830198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.964882248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.976715458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:23.976777688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.976794018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.976876538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:23.976899648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.976916818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.977635498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.980960008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.981002208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.981024438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.981486988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.984291708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:23.984343368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.984362918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.984872038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.988512498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:23.995124058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:23.995175748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.995193078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:23.995556568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.000651578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.006376178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(28)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024052608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024094468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024106138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024118088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024129008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024140848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024151608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024162548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024191388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024203458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024219418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024230218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024241088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024274098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024284948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024296588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024308078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024320518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024330958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024346748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024357188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024368348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024378998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024398738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024409578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024420568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024431278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024520798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024534838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024545338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024556318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024567098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024577728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024590808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024607838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024618508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024631048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024641568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024652228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024662798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024673688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024685408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024695908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024706238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024716598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024732538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024743168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024753968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024764708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024775188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024785488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024796328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024807088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024817828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024846208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024863538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024873898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024884358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024894648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024905438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024915948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024926548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024938868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024950488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024960828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024972348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.024990858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.025003438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.025021638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.025034108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.025044828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.025057418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.025068588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.025080408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.025091098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.025101758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.025112458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.047206128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.047261488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.047759928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.050102518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.050139628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.052371298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.054867958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.054923788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.055500378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.060968578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.061031008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:24.061051338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.061068688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.061616648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:24.064195658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.064582548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:24.065414248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"5929a0fb-9a3d-4dbd-ad55-cb696cfb21ed","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:24.065619098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"5929a0fb-9a3d-4dbd-ad55-cb696cfb21ed","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:24.065644328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"5929a0fb-9a3d-4dbd-ad55-cb696cfb21ed","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:24.065685448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"5929a0fb-9a3d-4dbd-ad55-cb696cfb21ed","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:24.066536488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"5929a0fb-9a3d-4dbd-ad55-cb696cfb21ed","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:24.067478638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.067571508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.067623888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.068300368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:24.071419378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"5929a0fb-9a3d-4dbd-ad55-cb696cfb21ed","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":6112,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.071976188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5929a0fb-9a3d-4dbd-ad55-cb696cfb21ed\", \"content-length\": \"405\", \"date\": \"Thu, 04 Jun 2026 21:07:24 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.072207988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:24.072510978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0ef3f22d-43c9-4dd7-94d1-27c5d791ae5c","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:24.072650738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0ef3f22d-43c9-4dd7-94d1-27c5d791ae5c","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.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-04T21:07:24.072691888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:24.073264008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0ef3f22d-43c9-4dd7-94d1-27c5d791ae5c","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:24.073450168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0ef3f22d-43c9-4dd7-94d1-27c5d791ae5c","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:24.073992378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"0ef3f22d-43c9-4dd7-94d1-27c5d791ae5c","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.074783248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.074976138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.075018158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.075285458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:24.076277408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:24.076312368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:24.076589718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.076615668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.076650008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.077065798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:24.078633638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"0ef3f22d-43c9-4dd7-94d1-27c5d791ae5c","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":6132,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.079361938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0ef3f22d-43c9-4dd7-94d1-27c5d791ae5c\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07:24 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-04T21:07:24.080433678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.080467218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.080483628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.080511388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:24.080981968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:24.081059428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:24.081079798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.081567818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:24.082070098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:24.083373218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.093947288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.094015238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.094047928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:24.094068168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.094083298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.094652938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:24.095477768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:24.095517198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:24.098617668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.098727198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.099703358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.102032748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:24.102977558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:24.103042448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.105418798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.105451408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.105473868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.105955808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.108625498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.119170238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.119241158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.119259048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.119613268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:24.122412688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(18)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.124902388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"label":"DpdEnsure","node_name":"dpd_ensure"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.124963668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.124986918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.125262418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":28,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:24.125463738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.128786638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.128840748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.128858028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.128877198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.128892858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.133359268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.133428918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.136627288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.136675298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.141424008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.141465078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"e456ba67-97cd-4a45-829e-4c351ce0ae58\"))","node_id":"0","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.144268168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.144337678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.148584608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"e456ba67-97cd-4a45-829e-4c351ce0ae58","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.148633488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.148653348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.149565138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.153434178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"e456ba67-97cd-4a45-829e-4c351ce0ae58","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.161080158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"e456ba67-97cd-4a45-829e-4c351ce0ae58","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.161223398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"e456ba67-97cd-4a45-829e-4c351ce0ae58","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.161248118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"e456ba67-97cd-4a45-829e-4c351ce0ae58","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.161266268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"e456ba67-97cd-4a45-829e-4c351ce0ae58","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.168310898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"e456ba67-97cd-4a45-829e-4c351ce0ae58","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.168450228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.168477418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.172530668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.172560918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.177555028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.177953518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.177998948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.178439188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:24.186133428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.188262918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:f\"))","node_id":"2","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.194245548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.194392138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.202154728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.202225318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.202810948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.205503438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.205556738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.205577288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.205594998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.206231318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.208657408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.211968898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.212035768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.212074168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.212331878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:24.219622898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.219695708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"e456ba67-97cd-4a45-829e-4c351ce0ae58\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:24.211945Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:24.211945Z\")})","node_id":"3","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.226479688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.226519948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.229666878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"e456ba67-97cd-4a45-829e-4c351ce0ae58","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.229730348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.229766918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.230300468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.236880908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.236958548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.237466428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.239823318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.239881938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.240488908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.245182998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.245260908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:24.245289948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.245315978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.245661828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.251578778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.251763558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.251807728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.252039038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.255337028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.255400938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.255426998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.255862398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.260127588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.268643708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.268837998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.268874128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:24.268954198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.268981088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.269117988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.274528168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.274730108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.274761578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.275842878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.279511928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.279645688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.279932838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.280093388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.287311998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.296459628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.296531898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.296554938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.297036418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:24.311207918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.311268618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"e456ba67-97cd-4a45-829e-4c351ce0ae58\"), \"state_generation\": Number(29), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.314292448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.314339968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.318239578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.318322778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.319121578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.323195588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.323268948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.324532968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.326570228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.326657428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.328004478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.333815748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.333897728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:24.333942728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.333969468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.334590348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.338037188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.338139118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.339349758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.341141218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.345623458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.345682578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.345714468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.347963898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.351982818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.356825248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.356900858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.356926478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.357127378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.358319628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.358400268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:24.358434248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.358459698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.358891138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.361954488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.362039808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.362067158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.362726008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.368814408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.368871668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.368896838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.369380528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.372212638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.384315598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.386258498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.386305568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.389592558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.389648218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.392275948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.392315148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.394667238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.394721008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.397535868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.397587648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.404810578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.404860898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.407869308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.407922738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.410467588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.410525418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.417748868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.417788618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.421103338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.421156128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.423697928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.423741518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.426666227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.426721967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.431287977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.431343747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.437707917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.437764597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.444038577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.444096667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.452338177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.452396727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.456592777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.456678037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.467391327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.467444647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.471719627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.471777297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.476270967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.476327087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.491302007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.491364177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.496105297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.496173647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.501029657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.501182277Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.505388497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.505429677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.509156037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.509209287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.534354657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.534416647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"18","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.537811717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.537872327Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"18","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.542080857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.542157507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.547746567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.547800567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.551044937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.551095707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.554007137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.554050697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.557217997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.557269557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.562522937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.562590767Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.566605957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.566655637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.569474757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.569540927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.572047997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.572107127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.575662257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.575712887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.581338647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.581393257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.587506517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.587565427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.591838457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.591907777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.594649157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.594709297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.599353077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.599607647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.602365557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.602418947Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.605313017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.605349827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.608336207Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.608374197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.613235627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.613311437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.616025027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.616088567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.619669557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.619753767Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.622835947Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.622889497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.628265397Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.628308307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.635719397Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.635781037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.640065867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.640096867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.643758607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.643810757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.648124457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.648175947Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.652624957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.652692267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.657324517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.662362087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.662396347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.665706787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.665761787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.670303827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"e456ba67-97cd-4a45-829e-4c351ce0ae58","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.670359387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.670385457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.670808017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:24.674025377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.674104307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.674290567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.674339087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.674805937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.675435127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.675461977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.681204017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.681317027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.681341267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.681812957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.682920347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.682947487Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.688665147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.688705057Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.689483967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.689514257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.689604437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"15.46043ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.695547907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.695602697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.701699847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.701778367Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.702317077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.707042827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.707089657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.709746467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.709809997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.712596467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.712664387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.715859027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.716059847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.720000747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.720386157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.724642857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.724688577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.730280537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"dpd_ensure\"","result":"failure","saga_name":"instance-start","saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.730384607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","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-04T21:07:24.730571087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"85cfe8ba-8ff9-40e3-a6e2-f21f5260699e","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 85cfe8ba-8ff9-40e3-a6e2-f21f5260699e, saga_log: SagaLog { saga_id: 85cfe8ba-8ff9-40e3-a6e2-f21f5260699e, 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-04T21:07:24.730859987Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.730899117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.730912997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.730928477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.730942117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.730956257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.730970177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.730988127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731001507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731014007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731028477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731041907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731054927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731069697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731082927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731101407Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731123117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731135077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731147137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731160267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731173087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731185117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731197597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731209357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731221227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731234487Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731259377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731866467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731902187Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731914667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731926557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731938867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731950457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731962697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731974537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.731986017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732000237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732015917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732034267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732049207Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732062857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732076547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732092007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732104337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732118027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732130837Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732144017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732160637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732174417Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732188637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732201807Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732214907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732233127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732245357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732256927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732270347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732288317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732301707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732313957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732326337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732339717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732351877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732364507Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732376347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732388807Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732406677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732420387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732435797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732450197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732462037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732495447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732508797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732520497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732537967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732552267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732564627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.732575917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.757645876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.757702146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.758262566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.761613856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.761662766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.762869676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.766453916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.766513356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.766966986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.769043366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.769095486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:24.769121896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.769137696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.770060556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.774753996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.774807656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.774830596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.775287616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.778257086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.778290476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.778308646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.779089736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.782036276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.789302556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.789363786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.789378446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.789400656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:24.789420916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.789435966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.789701396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.796748426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.796815876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.796913786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.797544066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.800547346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.800623326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.800641296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.801213386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.806713286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.820127316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.820196586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.820217406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.821394306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.824647726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.827897516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(30)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841326896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841370296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841382366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841393466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841409376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841420406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841430816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841441156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841452226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841462766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841473196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841483546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841493936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841504416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841515096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841530996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841541556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841551956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841562436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841572726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841583246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841593826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841604226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841614846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841625386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841635836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841646236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841954396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841972406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841982896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.841993626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842003966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842014266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842025026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842040426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842050886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842061296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842071276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842081736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842092056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842102576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842112996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842123486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842133646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842143906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842154236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842169226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842202366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842212956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842223496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842233736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842244026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842254196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842264666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.842275086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843709456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843731536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843743356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843755166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843765856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843776706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843787116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843797686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843808096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843823696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843834076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843844346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843854706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843865176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843875726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843886226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843896426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843906536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843917046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843927556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843961056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.843973736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.871007246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.871070256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.872156226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.874408736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.874458246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.874980476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.880645926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.880701176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.881152176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.884324996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.884395826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:24.884414566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.884429906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.885093216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.888607146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.888662956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.888681576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.889439976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.892510486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.892548016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.892564886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.893244376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.896731596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.905824336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.905990986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.906060936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:24.906078426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.906098706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.906660106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.911373946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.911464996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.911508756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.912880756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.916362596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.916414356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.916432576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.917088146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.920093026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.926156816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:24.926223626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.926242776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.926582776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:24.930762116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(19)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.936907586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"label":"V2PEnsure","node_name":"v2p_ensure"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.936950056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:24.936977086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:24.937308856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":30,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:24.937497376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:24.944339316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4e520b11-cea7-49da-96b4-18daff40b64b"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:24.944391136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:24.944408496Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:24.944425996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.944442326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.948895356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.949184376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.953679606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.953724726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.958948656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.959066686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"7bcc4c10-d6cc-491b-821c-4226eb5190de\"))","node_id":"0","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.961935216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.962003846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:24.965160256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"7bcc4c10-d6cc-491b-821c-4226eb5190de","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.965205566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.965228586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.965835466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.970466296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"7bcc4c10-d6cc-491b-821c-4226eb5190de","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.975603296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"7bcc4c10-d6cc-491b-821c-4226eb5190de","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.975660216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"7bcc4c10-d6cc-491b-821c-4226eb5190de","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.975679296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"7bcc4c10-d6cc-491b-821c-4226eb5190de","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.975697006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"7bcc4c10-d6cc-491b-821c-4226eb5190de","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.985288166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"7bcc4c10-d6cc-491b-821c-4226eb5190de","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:24.985453836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.985478036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.988575446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.988599286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:24.992386036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.992454966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:24.993051256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:24.998794616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:24.998879956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:10\"))","node_id":"2","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.004148186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.004208436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.008868276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.008923616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.009586856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.012081226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.012177676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.012203506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.012223146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.012816226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.015508886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.020565886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.020817856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.020915546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.020943366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:25.025920846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.025987306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"7bcc4c10-d6cc-491b-821c-4226eb5190de\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:25.020501Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:25.020501Z\")})","node_id":"3","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.029498646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.029565606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.033064296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"7bcc4c10-d6cc-491b-821c-4226eb5190de","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.033181716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.033214796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.034393286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.038807096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.038880796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.040157396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.044603026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.044676226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.045521856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.050733466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.050828686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:25.050866986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.050891226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.052460946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.055849836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.055948306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.056013986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.056634976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.060153316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.060262066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.060296056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.060769256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.064604906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.071816546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.073228676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.073347476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:25.073407226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.073436226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.074253416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:25.075325556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:25.075370156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.075517836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.075541776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.075736166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:25.077109546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:25.077157836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:25.081166756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:25.081924556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:25.082296686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.082351966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.082747186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.083372816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:25.084565166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:25.085234376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:25.085283816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:25.085304566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.087048206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:25.087095136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:25.089273206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:25.089342886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.089522606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.089569126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.089638476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.090194276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.095721366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.102187626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.102284186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.102319066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.104584996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:25.120136936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.120197286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"7bcc4c10-d6cc-491b-821c-4226eb5190de\"), \"state_generation\": Number(31), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.126708426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.126776176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.130618226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.130726266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.132922336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.136522276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.136604516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.137180596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.140578646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.140768266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.141973966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.146292276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.146360936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:25.146395826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.146424586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.148370376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.153683946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.153767606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.153813996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.154350536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.159774596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.161715626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.161775406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.162562926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.170059216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.177765906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.177875816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.177908426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.178204036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:25.179400396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.180161276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.180240336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:25.180269706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.180295146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.181241306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.188761406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.188879826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.188908246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.189289076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.192878636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.193001646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.193030526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.193484716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.199918166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.206963756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.209068726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.209133746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.213870446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.213933186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.217394536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.217444126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.221168276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.221223206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.225288916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.225327786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.231820066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.231877226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.235214166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.235251936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.242346676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.242523386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.246419026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.246493036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.250120676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.250178176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.258471676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.258658606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.262229186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.262286536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.266555186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.266620086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.270455296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.270515436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.273589706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.273634566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.278423276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.278495876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.282132636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.282191876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.288820786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.288880846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.294228796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.294287856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.297257606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.297311946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.300677176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.300725746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.304341286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.304397916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.307410656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.307467246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.310149366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.310201366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.313976476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.314019256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.316897406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.316956036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"18","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.323600956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.327156086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.327204186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.327882726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.332817296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.332896086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.332959556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.333003776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.333521556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.338784726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.343325036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.343386516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.343410676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.343442156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.344485326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.347659426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.347705146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.348158386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.350654586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.350723926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.350949956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.353014896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.353080476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:25.353106206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.353134466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.353503176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.356343646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.356403636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.356430616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.357092066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.360188956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.360241346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.360268266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.362781296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.367218186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.374192286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.374351976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.374400016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:25.374425786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.374450106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.374907906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.381950356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.382102276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.382156876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.382978966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.392549816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.392596456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.392620406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.397000336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.404377006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.411346256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.411437136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.411464886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.411688116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:25.417166576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.417215086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.417314356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.418201946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.425906796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.426180685Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.426679235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.433008635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.433039115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.433059335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.433076505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.434558125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.436581985Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.438370665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.438447585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.438491575Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.439622935Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.449439025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.450489295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:13056","req_id":"86b76ac4-2d34-48d8-8cb7-b0fc1dd30466","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: a8 1b 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-04T21:07:25.450565105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:13056","req_id":"86b76ac4-2d34-48d8-8cb7-b0fc1dd30466","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 43035,\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-04T21:07:25.450738175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.450826135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.450988335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:13056","req_id":"86b76ac4-2d34-48d8-8cb7-b0fc1dd30466","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: 64395, 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-04T21:07:25.451370725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1112, tv_nsec: 913250798 } })","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-04T21:07:25.451409655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.451655945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:38598","req_id":"3fcfc2a2-f874-4147-8b91-7cdb3e44b2b0","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 44 67 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e Dg..........-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-04T21:07:25.451726445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:38598","req_id":"3fcfc2a2-f874-4147-8b91-7cdb3e44b2b0","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 17511,\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-04T21:07:25.451847155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.451861635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:38598","req_id":"3fcfc2a2-f874-4147-8b91-7cdb3e44b2b0","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-04T21:07:25.515599545Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.517235945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"fc772cb2-1a58-41d2-8b7d-6e7636ee0e11\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:25 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.518701585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.518765295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.522253075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:25.544529265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.544607025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.544627285Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.547811985Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.547862225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"19","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.550212695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.550265355Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"19","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.553048875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.553097535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.556564485Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.556749135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"18","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.561245235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.561419735Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.561945845Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.562636455Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.566731615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.566787635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.568391465Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.571615125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.571657625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.572268625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.574869135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.574925855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:25.574955505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.575001345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.575417075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.586585225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.586662795Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.586689035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.590088295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.592896775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.592964265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.592991955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.593327205Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.597512895Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.603439265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.603511275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.603535015Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.603559085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.603765255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.611685055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.611737615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.612332055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.618869735Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.618978365Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.619652665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.639939685Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.639979345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.639997955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.640015975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.640555255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.645148305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.648367425Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.648471025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.648494585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.648633655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.652599405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.653185865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:45729","req_id":"da62d98e-fbee-4525-9e24-51d620d55dc3","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 75 a1 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 u............_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-04T21:07:25.653232255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:45729","req_id":"da62d98e-fbee-4525-9e24-51d620d55dc3","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 30113,\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-04T21:07:25.653457655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.653559555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.653606655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:45729","req_id":"da62d98e-fbee-4525-9e24-51d620d55dc3","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: 64395, 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-04T21:07:25.653925035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1113, tv_nsec: 115810708 } })","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-04T21:07:25.653974995Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.654368295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:38949","req_id":"23ccc3e4-b6e0-40ce-ab77-318c691a0fbb","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: ac 76 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .v..........-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-04T21:07:25.654435265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:38949","req_id":"23ccc3e4-b6e0-40ce-ab77-318c691a0fbb","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 44150,\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-04T21:07:25.654541815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.654555735Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:38949","req_id":"23ccc3e4-b6e0-40ce-ab77-318c691a0fbb","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-04T21:07:25.716544495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.719011945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"2d4e8f23-10dc-41d4-859f-b56668135a66\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:25 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.719493515Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.719521135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"18","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.729874525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.729935435Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.742246885Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.742306205Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.748599405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.748647445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.753572675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.753648475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.756604224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.756652724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.762698054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.762753724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.770318004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.770366984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.779064584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.779125504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.783423374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.783486974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.793998024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.794119974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.796862564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.796920094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.800966714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.801028044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.804241594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.804292654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.807430854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.807483864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.811391364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.811438554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.814068354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.814138784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.818646104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.818696984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.821825584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.821871514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.826575044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.826639174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.833259554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.833318624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.837205754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.837265954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.842782624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.842816244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.845515104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.845567854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.848300934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.848350724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.852358274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.852404424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.855679884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.855734034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.858104564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.858153584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.860730894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.865759164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.865812624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.868355164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.868386314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.875133884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"7bcc4c10-d6cc-491b-821c-4226eb5190de","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.875197594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.875230294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.875666814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:25.879217514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.879433334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.879478594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.879615884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.880051364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.885348684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.885401014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.887988484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.888124494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.888152044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.888634434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.889463754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.889498944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.894403264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.894434954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.895181044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.895226454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.895307404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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.99041ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.903206194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.903255534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.907781494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.907839654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.908454794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.912685364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.912736274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.916946264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.916999604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.919917984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.919964974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.929756764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.929823274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.932672634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.932849294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.934940414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.934997444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.940624134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"v2p_ensure\"","result":"failure","saga_name":"instance-start","saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.940720274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","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-04T21:07:25.940835614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"4e520b11-cea7-49da-96b4-18daff40b64b","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 4e520b11-cea7-49da-96b4-18daff40b64b, saga_log: SagaLog { saga_id: 4e520b11-cea7-49da-96b4-18daff40b64b, 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-04T21:07:25.941104084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941124604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941146094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941157614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941169444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941212314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941235954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941248874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941273224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941286024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941298264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941309484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941321184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941332854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941344454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941355364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941366374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941378084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941388994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941400234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941412184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941423584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941441014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941453634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941466104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941477594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941490044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941626164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941640204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941651044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941673274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941685934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941697024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941709034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941720174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941742924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941755154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941766904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941783854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941800474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941811954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941824384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941836364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941847364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941858914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941869894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941881224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941893184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941903904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941915574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941926544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941938104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941949544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941961174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941971854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.941983834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942262384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942325734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942339834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942350634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942362414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942373164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942384594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942395164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942405484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942418584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942429784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942441344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942451864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942461874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942472004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942483244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942493784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942505384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942516754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942527194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.942538184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.956269594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.956323934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.956916734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.959041944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.959090974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.959598824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.961212554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.961260944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.961632864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.964200124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.964415864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:25.964458884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.964477004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.965115824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.967668134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.967703244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.967721194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.968274184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.971115144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.971156904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.971174674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.971634174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.974179434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.983958814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:25.984019184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.984035444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:25.984059034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:25.984076974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.984091934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.984351974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.987559684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:25.987611904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.987644674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.988023514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.990899174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:25.990927824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.990946704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.991882314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:25.994680394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.010782634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.010850814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.010890324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.011170714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.013847004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.020564634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(32)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035813354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035859554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035873894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035886024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035897534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035910864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035922944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035934044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035945944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035957904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035969414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035980874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.035991744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036002784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036014044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036026064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036037374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036048994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036059794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036070764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036081744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036119614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036141534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036208964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036222444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036234274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036245994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036257274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036268254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036279624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036290484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036301604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036313024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036324114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036334894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036345834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036356994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036369804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036381224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036393874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036405574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036421294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036434144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036445384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036458034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036468954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036479734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036490764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036501414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036512404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036523724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036536624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036547654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036558964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036573474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036585644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036596154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036607454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036620074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036630784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036641704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036654434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036665544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036678154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036688814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036701234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036723294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036735694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036746404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036758994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036770184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036781774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036793214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036803924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036815084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036826344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.036837854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.053079484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.053112854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.053582094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.055757264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.055829324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.056295974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.060872184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.060908904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.066661904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:26.067646594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.068063164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:26.068493484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"db82f557-d551-4620-ad9c-3b5b819efde7","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:26.068521194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"db82f557-d551-4620-ad9c-3b5b819efde7","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:26.068721854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"db82f557-d551-4620-ad9c-3b5b819efde7","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:26.068773044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"db82f557-d551-4620-ad9c-3b5b819efde7","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:26.069304054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"db82f557-d551-4620-ad9c-3b5b819efde7","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:26.070188264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.070253284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:26.070271954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.070286414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.071032644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:26.074458814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:26.074506324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.074689634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.074719864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.074890014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:26.075951304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:26.075985534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:26.076277464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"db82f557-d551-4620-ad9c-3b5b819efde7","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":7794,"response_code":200} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.076437754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.079351074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.079401854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.081245704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:26.082602184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"db82f557-d551-4620-ad9c-3b5b819efde7\", \"content-length\": \"405\", \"date\": \"Thu, 04 Jun 2026 21:07:26 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.082945304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.085527944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:26.086216084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.086359944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"db8c47ad-b671-464c-9f04-7039ebfb078f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:26.086398994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"db8c47ad-b671-464c-9f04-7039ebfb078f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:26.086755144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"db8c47ad-b671-464c-9f04-7039ebfb078f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:26.086838644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"db8c47ad-b671-464c-9f04-7039ebfb078f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:26.088333854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"db8c47ad-b671-464c-9f04-7039ebfb078f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.089606114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:26.090182084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:26.090220074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:26.090237674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.092585824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:26.092695844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.092962094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"db8c47ad-b671-464c-9f04-7039ebfb078f","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":6600,"response_code":200} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.093086694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.093108654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.093131284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.093720994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:26.094620714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"db8c47ad-b671-464c-9f04-7039ebfb078f\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07:26 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-04T21:07:26.094685694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.094704874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.094721474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.096323024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:26.096398774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","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-04T21:07:26.097154784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.106243294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.106304654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.106330364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:26.106348764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.106363824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.107277164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.112688934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.112745704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.112764124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.113374064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.117163234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.117330644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.117350454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.117530734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.123876924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.130598794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.130680644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.130778404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.130993974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:26.134895584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(20)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.138938644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"label":"EnsureRegistered","node_name":"ensure_registered"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.138973724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.138994134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.141783854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"1797189c-795a-4c97-baa8-433168726049","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":32,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:26.141978004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"1797189c-795a-4c97-baa8-433168726049"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.145692044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1797189c-795a-4c97-baa8-433168726049"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.145800064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.145896354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.145917584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.145932814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.149220014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.149263354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.151855954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.151898094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.155972014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.156024644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"57c400af-e888-4a34-b662-a394e19895b5\"))","node_id":"0","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.159854284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.159900184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.162909604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"57c400af-e888-4a34-b662-a394e19895b5","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:26.163015494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.163038224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.163365384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.167094804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"57c400af-e888-4a34-b662-a394e19895b5","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:26.173050574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"57c400af-e888-4a34-b662-a394e19895b5","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:26.173181344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"57c400af-e888-4a34-b662-a394e19895b5","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:26.173222324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"57c400af-e888-4a34-b662-a394e19895b5","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:26.173239144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"57c400af-e888-4a34-b662-a394e19895b5","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","query":"sled_reservation","component":"InstanceAllocator","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","local_storage_required":false} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:26.176425904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"reservation succeeded!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.179675084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"57c400af-e888-4a34-b662-a394e19895b5","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:26.179865074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.179900724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.182754684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.182803564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.187076134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.187129814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.188177914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:26.191069184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.191138334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:11\"))","node_id":"2","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.193689614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.193714834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.196544844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.196595764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.197099604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.199211574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.199266344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.199289454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.199308514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.199775044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.202264454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.207220784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.207276574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.207304454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.207608584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:26.211255854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.211347574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"57c400af-e888-4a34-b662-a394e19895b5\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:26.207210Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:26.207210Z\")})","node_id":"3","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.214965004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.215069574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.218115114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"57c400af-e888-4a34-b662-a394e19895b5","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.218165074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.218193794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.218849234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.225877384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.225915154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.226600084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.230203754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.230293044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.230790644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.232706154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.232752624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:26.232778734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.232804784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.233348754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.236022294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.236086634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.236115114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.236541904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.241155444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.241378064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.241484134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.242006094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.244633704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.249820864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.249898424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.249948364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:26.249975764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.250009744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.250215984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.252710324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.252775144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.252802164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.253159344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.255984274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.256056154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.256087694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.256851704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.260818454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.268706984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.268757234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.268782384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.269112694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:26.277917684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.278209134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"57c400af-e888-4a34-b662-a394e19895b5\"), \"state_generation\": Number(33), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.281775714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.281838014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.284310534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.284421374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.284832004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.286890214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.286990384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.287454234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.289198344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.289252814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.289761834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.291751564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.291816294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:26.291845134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.291870224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.292219294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.295285204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.295342444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.295369754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.297284394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.301849314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.301922384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.301950994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.302495924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.307402204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.322449514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.322528064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.322555174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.325744574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.329753694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.329840974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:26.329869054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.329893414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.330225044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.335224224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.335287584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.335499274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.337245094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.341177784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.341238504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.341300834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.342687894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.345556654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.356870064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.359064544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.359127634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.362500614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.362546914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.366118004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.366169754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.368599014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.368667934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.374479064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.374541174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.377887014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.377928094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.381230204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.381283994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.383890744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.384115374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.387015764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.387062904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.390222164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.390264484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.393370964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.393417104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.398528334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.398579024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.403841424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.403886824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.406356244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.406735704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.410389174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.410447174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.412862254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.412914474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.417590044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.417741394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.420030114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.420062894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.422950414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.423004794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.430949183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.431004013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.434627743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.434674463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.440387263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.440429113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.444098083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.444166103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.446790303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.446845033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.449590383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.449633703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.452275703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.452314613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"18","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.457654443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.457735063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.457757493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.458423533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.460896013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.461017713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.461043273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.461061883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.461704033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.463523953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.465984473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.466048493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.466067693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.466098243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.466260273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.468253703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.468356153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.468776253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.471016963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.471073233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.471966643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.473969983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.474044693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:26.474072613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.474097743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.474452743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.479420293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.479473783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.479501873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.479848483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.485651543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.485728603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.485756973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.488183743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.493102033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.502849453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.502956113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.502993233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:26.503021093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.503045833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.503423713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.506301773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.506347413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.506371553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.507066353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.509816683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.509887463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.509916453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.510135983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.512847003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.518943903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.519042623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.519121613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.519281623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:26.522717513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.522761093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.522790043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.523570153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.526951873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.527035363Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.527589163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.530860653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.530900293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.530921163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.530942623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.533287783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.534184873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.536133523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.536208673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.536231523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.536554773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.541078773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.545324863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:62139","req_id":"ed33acb5-a655-43f6-b0b3-056512562112","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: b2 dc 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-04T21:07:26.545572073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:62139","req_id":"ed33acb5-a655-43f6-b0b3-056512562112","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 45788,\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-04T21:07:26.546759343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.546797083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.546812463Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:62139","req_id":"ed33acb5-a655-43f6-b0b3-056512562112","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: 64395, 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-04T21:07:26.546847673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1114, tv_nsec: 6503386 } })","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-04T21:07:26.546884353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.546921423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:29364","req_id":"b50a7805-e3af-4600-aa8a-94bf8dddb65e","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 02 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-04T21:07:26.546947473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:29364","req_id":"b50a7805-e3af-4600-aa8a-94bf8dddb65e","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 644,\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-04T21:07:26.547045513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.547061873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:29364","req_id":"b50a7805-e3af-4600-aa8a-94bf8dddb65e","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-04T21:07:26.593005553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.594181513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8ab7e9e3-e59c-45b0-b9ac-aeaabc4b571e\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:26 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.594525343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.594586353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.596856703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:26.610393793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.610451533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.610471493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.614176053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.614229253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"19","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.617836893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.618056353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.618263723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.619489073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.620332673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.620373283Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"19","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.623702053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.623750913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"20","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.629605443Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.629687653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"20","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.630653613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.630706263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.633127103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"update for saga cached state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.634895623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"1797189c-795a-4c97-baa8-433168726049"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.634939513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.638455053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.638495143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"19","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.642129143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.642175773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"19","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.648099543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.648238593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"18","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.655778813Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.655817373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.655843323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.656388013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.658795753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.658849303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.659275503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.662409833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.662478323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.663912153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.667312383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.667400253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:26.667434353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.667458983Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.667967473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.671339573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.671392333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.671418853Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.671739243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.674602283Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.674670543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.674698203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.675141893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.684265193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.698748193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:26.698836373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.698854343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.698880803Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.700173423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.702409993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.702555133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.702652833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.702677413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.703397563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.704631283Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.704666513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.704687233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.704707893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.704727093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.705067943Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.705803253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.705849243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.707079723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.708419223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.710882813Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.710930673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.710951113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.710971473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.710989873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.711347013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.712794603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.718823033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.718878063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.718896963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.719536023Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.720607583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.720659193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.720930643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.721927193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.728429653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.728535733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.728583033Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.728765383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"reconfigurator config load complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.730244643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.450767Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.730304613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":6,"elapsed":"25.63001ms"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.794793262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.795494392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.795556622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.795579612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.795600172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.796734282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.798686772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:57009"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.799187392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"24e98a3c-f41a-4b47-bde5-5a7bb2098444","remote_addr":"[::1]:57009","local_addr":"[::1]:43004","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-04T21:07:26.799230882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"24e98a3c-f41a-4b47-bde5-5a7bb2098444","remote_addr":"[::1]:57009","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.802563302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"24e98a3c-f41a-4b47-bde5-5a7bb2098444","remote_addr":"[::1]:57009","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":3284,"response_code":200} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.802798642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.804871562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.804927542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.804947382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.805345052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.806688292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"24e98a3c-f41a-4b47-bde5-5a7bb2098444\", \"content-length\": \"2\", \"date\": \"Thu, 04 Jun 2026 21:07:26 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.806787432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.806808572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.806825472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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(9083252) }]","sled":"SimGimlet00"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.806937332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p","method":"PUT"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.807389762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"PUT","req_id":"21417380-48f4-4328-9527-fabac721342c","remote_addr":"[::1]:57009","local_addr":"[::1]:43004","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-04T21:07:26.807441372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"PUT","req_id":"21417380-48f4-4328-9527-fabac721342c","remote_addr":"[::1]:57009","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.808866532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"PUT","req_id":"21417380-48f4-4328-9527-fabac721342c","remote_addr":"[::1]:57009","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":1480,"response_code":204} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.809044192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.809743422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p\", status: 204, headers: {\"x-request-id\": \"21417380-48f4-4328-9527-fabac721342c\", \"date\": \"Thu, 04 Jun 2026 21:07:26 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.809856412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":2,"elapsed":"193.003479ms"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.809881202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.809975262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.809997652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.810500982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.811484872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:21117","req_id":"c9b4aeae-c2be-41c8-b5f3-263144541a38","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 79 1f 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 y............_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-04T21:07:26.811559242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:21117","req_id":"c9b4aeae-c2be-41c8-b5f3-263144541a38","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 31007,\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-04T21:07:26.811757732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.811837722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.811874652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:21117","req_id":"c9b4aeae-c2be-41c8-b5f3-263144541a38","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: 64395, 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-04T21:07:26.813089632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1114, tv_nsec: 274972245 } })","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-04T21:07:26.813286342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.820614202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5951","req_id":"789f5a23-88b4-4b1e-a932-82577bff3e8e","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 09 d9 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-04T21:07:26.820683842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5951","req_id":"789f5a23-88b4-4b1e-a932-82577bff3e8e","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 2521,\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-04T21:07:26.820923052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.820944862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5951","req_id":"789f5a23-88b4-4b1e-a932-82577bff3e8e","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.821391032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.821443942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.823720582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.878850222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.881703112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ae01980e-d000-4ee7-affc-8e15e944d6e4\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:26 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.882369532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.882413082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"18","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.885484742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.885536422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.886860652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.886918032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.886942092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.886961652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.887557472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.890081312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.892734112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.894729582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.894786082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.894810662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.894830622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.895157952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.895791092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.895840472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:26.898255532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.901252172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.901298742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.901321162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.901734842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.903469552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.903521492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.907272772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.907308732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","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-04T21:07:26.960410382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.962440422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:42527"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:26.963801202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"983c1dd4-8c54-4411-973e-a33fbcf5279d","remote_addr":"[::1]:42527","local_addr":"[::1]:43004","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-04T21:07:26.963836782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"983c1dd4-8c54-4411-973e-a33fbcf5279d","remote_addr":"[::1]:42527","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.964425222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"983c1dd4-8c54-4411-973e-a33fbcf5279d","remote_addr":"[::1]:42527","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":629,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.964779142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"983c1dd4-8c54-4411-973e-a33fbcf5279d\", \"content-length\": \"102\", \"date\": \"Thu, 04 Jun 2026 21:07:26 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.964975882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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(9083252) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:26.965000072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.965021312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.966178602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":3,"elapsed":"156.13274ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.967061482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.967104702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.972221262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.972300182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.975994912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.976044392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.982191162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.982239452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.987575382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.987626392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.991103202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.991142602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.994792972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.994848612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:26.998094572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:26.998191522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.001659622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.001714232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.007987452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.011253582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.015458012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.015526202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.022592362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.022644302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.027796672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.027851242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.030967062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.031008322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.034470302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.034521682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.037609922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.037663842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.040827562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.040878522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.043707362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.043749452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.046152102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.046192782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.048871722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.048968862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.050960472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.051030992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.053257212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.053307002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.057386602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.057437732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:27.062256502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.065978562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.066029442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.068647552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.068748892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:27.071278282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"57c400af-e888-4a34-b662-a394e19895b5","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.071347962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.071381102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.071750562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:27.072433202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:27.072501962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.072688802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.072714012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.072878882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:27.073685492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:27.073768082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.074865332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:27.075344492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:27.075384252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:27.075403432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.076153352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:27.076921612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"start saga unwound; instance may reincarnate","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.077087502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1797189c-795a-4c97-baa8-433168726049","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.077144572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.077198482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.077220962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.077680242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.080023462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.080049092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:27.083731062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:27.083778652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"no more instances in need of reincarnation","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.083841742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.084019182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.084052802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.084712502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.085873782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.085934862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:27.088053212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:27.088085312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.088491392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.088533172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:27.090540902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.090599982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.090618282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"13.41714ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.093060292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.093106452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:27.096281862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.096319742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.096801172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.101353152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.101411542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.104670762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.104725612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.107398792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.107450202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.110352062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.110401192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"1797189c-795a-4c97-baa8-433168726049","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.112935962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.112988782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:27.115186842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"1797189c-795a-4c97-baa8-433168726049"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.115237182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:27.118890842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_registered\"","result":"failure","saga_name":"instance-start","saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:27.118990932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1797189c-795a-4c97-baa8-433168726049","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-04T21:07:27.119107872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1797189c-795a-4c97-baa8-433168726049","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 1797189c-795a-4c97-baa8-433168726049, saga_log: SagaLog { saga_id: 1797189c-795a-4c97-baa8-433168726049, 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-04T21:07:27.119303282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119317522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119329542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119351872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119363532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119375072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119386512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119397782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119408942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119420202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119431962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119443162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119454322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119467382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119480312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119492442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119505182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119517592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119529042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119540692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119552422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119563802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119575322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119587082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119598462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119610202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119621262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119738782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119762142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119773552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119785032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119796062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119807222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119819002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119830202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119841332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119852832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119864692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119875732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119887132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119898532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119909952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119920992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119932352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119943872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119955232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119966662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119977652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.119989262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120000392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120011912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120023142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120034832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120046452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120057442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120068942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120079832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120114892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120126252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120138152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120149502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120160972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120172302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120183622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120194792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120206262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120217352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120228922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120240032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120251102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120262952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120274202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120285062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120296292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120307362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120318732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.120330042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.138482202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.138534212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.139166932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.141625362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.141674362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.142387092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.144643782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.144679792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.145226662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.146925082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.146963682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.147015742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.147070752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.147793832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.150527772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.150616202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.150638862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.151129422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.153792672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.153823432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.153841102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.154310572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.158215782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.163092212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.163152482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.163170152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.163194522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.163227352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.163242332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.163504232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.166133162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.166184192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.166202262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.166654302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.169506772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.169563722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.169582702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.170059062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.172742732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.179572232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.179634842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.179654312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.179884162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:27.180743512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.185253702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.187787082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(34)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.196989442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197038372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197051932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197067062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197081042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197095212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197106592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197119322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197131572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197144152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197157432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197169332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197180612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197193262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197207322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197219712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197230942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197242422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197254212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197267632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197278772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197290162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197302252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197315382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197327572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197339392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197350922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197362732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197374272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197385922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197409942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197426192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197439282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197451092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197462162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197473452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197485222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197496452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197507442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197520772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197532192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197551842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197602082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197626082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197638852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197651022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197664362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197677852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197693042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197707312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197720622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197732532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197747142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197762592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197775312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197792582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197804292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197815622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197832062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197844512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197858692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197871602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197882942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197894272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197906842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197919642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197932592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197948082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.197961092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.198049192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.198062792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.198075612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.198088232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.198099622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.198115482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.198138402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.199375002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.216510682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.216581902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.216973322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.219677502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.219716832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.220368622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.222494972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.222539782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.223036732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.225597622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.225670532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.225696322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.225733092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.226168312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.229018622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.229045592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.229061962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.229497832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.232875172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.232927732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.232948082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.233209272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.237643392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.241813902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.241870112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.241893952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.241910542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.241925412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.242118422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.244501822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.244532572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.244549122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.245092652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.249727662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.249775532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.249799222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.250215922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.253176842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.260016472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.260072362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.260088032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.260611672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:27.263106812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(21)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.266030342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.266070102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.266089712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.266544982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":34,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:27.266749952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.269987432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1de3c4f1-0bb3-4c28-a970-041d3fb082da"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.270042772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.270061322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.270079602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.270096852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.272523132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.272815792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.275081952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.275124582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.279208492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.279256162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"5f524f7c-86aa-4559-9e2c-afa3948a72a2\"))","node_id":"0","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.281569712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.281594952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.286771412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"5f524f7c-86aa-4559-9e2c-afa3948a72a2","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:27.286833812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.286856202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.287316462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.291792682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"5f524f7c-86aa-4559-9e2c-afa3948a72a2","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:27.298620372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"5f524f7c-86aa-4559-9e2c-afa3948a72a2","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:27.298674552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"5f524f7c-86aa-4559-9e2c-afa3948a72a2","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:27.298694612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"5f524f7c-86aa-4559-9e2c-afa3948a72a2","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:27.298713282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"5f524f7c-86aa-4559-9e2c-afa3948a72a2","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:27.303931562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"5f524f7c-86aa-4559-9e2c-afa3948a72a2","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:27.304124252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.304178612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.308726542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.308890142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.313475492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.313526042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.315345662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:27.318862102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.318913122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:12\"))","node_id":"2","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.322527742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.322559232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.333681112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.333721192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.334603932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.339153532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.339216992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.339252022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.339271172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.339736292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.342613672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.346400852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.346474892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.346510182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.346771922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:27.351094652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.351152052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"5f524f7c-86aa-4559-9e2c-afa3948a72a2\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:27.346401Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:27.346401Z\")})","node_id":"3","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.358223442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.358290172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.362429692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"5f524f7c-86aa-4559-9e2c-afa3948a72a2","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.362476662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.362505232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.363567092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.366138662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.366198272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.366760692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.369414742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.369471522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.370967522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.373170002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.373238832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.373266242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.373290712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.373605842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.376278242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.376340272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.376366842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.376632492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.379340782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.379434342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.379465752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.380195882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.383996092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.387923592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.387992752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.388026392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.388052542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.388075892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.388270212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.394914592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.394988272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.395018452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.395811482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.401223862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.401324792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.401352882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.402820682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.406108972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.411002372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.411145082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.411355752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.412117582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:27.422255672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.422305252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"5f524f7c-86aa-4559-9e2c-afa3948a72a2\"), \"state_generation\": Number(35), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.425942432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.426066682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.429277881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.429392111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.430127981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.432895911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.432937791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.433522531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.435383291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.435415751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.438770521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.444554871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.444737761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.444793631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.444821011Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.445478021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.449389071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.449642401Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.449707181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.450484521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.454244901Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.454295451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.454321981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.455227711Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.462304731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.469046941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.469148671Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.469188121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.469365501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.470678001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.470988551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.471046071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.471071211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.471480651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.476188081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.476241831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.476268741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.476752941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.483667751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.483903411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.483978871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.484591571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.488199491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.494263351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.495936661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.495986741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.501349401Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.501395981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.504749041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.504806291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.507675421Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.507728661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.511975451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.512053091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.517664841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.517731351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.522307941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.522369691Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.527316471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.527386011Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.532640021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.532684181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.536212261Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.536262601Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.539172221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.539214431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.542109701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.542163341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.545324691Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.545401211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.549215991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.549269851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.552754871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.552802551Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.558765521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.558828581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.561615421Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.561663991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.564594081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.564633501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.567301721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.567348271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.570892521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.570929101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.574917881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.575000031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.579868781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.579916101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.582496401Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.582546431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.585103501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.585154711Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.589094641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.589144631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.591626581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.591670881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"18","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.594995811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.595054831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.595076011Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.595560851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.598095361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.598191961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.598216951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.598235271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.599167471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.601489781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.604307431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.604343891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.604359051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.604385111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.604980311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.607528491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.607741931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.608165931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.610704791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.610756511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.611415471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.616100521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.616181521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.616209761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.616233321Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.616934001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.619569781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.619619211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.619643391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.620302381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.623776041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.623838231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.623865941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.624626221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.627468721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.632628721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.632702751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.632901961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.632932381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.632970001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.632992651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.637400451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.637471151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.637499491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.638296441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.641446011Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.641632661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.641708361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.642525701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.645560981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.652270121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.652372941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.652399281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.652635431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:27.657973871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.658025281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.658058921Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.658811341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.661636721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.661686911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.661794581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.665074081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.665130841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.665152511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.665170521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.665681301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.667889331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.669490341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.669533061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.669551361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.669757501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.673064571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.673642971Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4624","req_id":"4a747183-a6bd-4e58-ad38-e4994a210405","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 04 d7 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-04T21:07:27.673700581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4624","req_id":"4a747183-a6bd-4e58-ad38-e4994a210405","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 1239,\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-04T21:07:27.673768731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.673827611Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.673879641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4624","req_id":"4a747183-a6bd-4e58-ad38-e4994a210405","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: 64395, 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-04T21:07:27.674120881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1115, tv_nsec: 136044684 } })","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-04T21:07:27.674194791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.674679141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:6936","req_id":"06f24dae-f9c9-4b20-9883-962867edadf3","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 20 df 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-04T21:07:27.674719731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:6936","req_id":"06f24dae-f9c9-4b20-9883-962867edadf3","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 8415,\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-04T21:07:27.674927881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.674946061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:6936","req_id":"06f24dae-f9c9-4b20-9883-962867edadf3","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-04T21:07:27.712564971Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.717115601Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"85409d47-6008-4de8-8f5e-f982de6f436b\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:27 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.717390351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.717423581Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.717893701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:27.732190001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.732316801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.732335781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.735600441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.735660981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"19","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.739472421Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.739692791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.739726951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.740200061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.740805351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.740851731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"19","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.743864741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.743906521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"20","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.746533031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.746594561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.746625151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.747196281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.749620611Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.749722031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.750269311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.751217391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.751260911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.751728991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.753820821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.753874121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.754282781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.75616278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.75624105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.75629226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.75631759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.75698057Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.75771492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.75776655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.75780176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.75782145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.75824984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.75981486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.76243097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.76249383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.76251475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.76253626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.76255699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.76271423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.76377032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.76382379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.7638518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.76428247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.76569217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.76879709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.76884741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.76886876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.76951508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.77032332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.77038576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.77041429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.77086899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:27.80660281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.80715335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.81118459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.81128793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.81132129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.81134916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.81137271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.81159298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:27.81270827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:35570"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.81304838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"633999f4-5609-415d-b7d3-decf48dc4f30","remote_addr":"[::1]:35570","local_addr":"[::1]:43004","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-04T21:07:27.81309648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"633999f4-5609-415d-b7d3-decf48dc4f30","remote_addr":"[::1]:35570","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.81323699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"633999f4-5609-415d-b7d3-decf48dc4f30","remote_addr":"[::1]:35570","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":214,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.81347759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"633999f4-5609-415d-b7d3-decf48dc4f30\", \"content-length\": \"102\", \"date\": \"Thu, 04 Jun 2026 21:07:27 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.81361017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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(9083252) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:27.81363331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.81364967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:27.81379323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":4,"elapsed":"74.265999ms"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.81485602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.8148939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.81492027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.81539377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.81806296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.81811619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.81814432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.81852053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.82106195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.82785249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.82800235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.82804825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.82834247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.82988004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.82997401Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.83000137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.83003225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.83049805Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.83306693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.83313231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.83316064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.83685158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.83971413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.83978996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.83981762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.84049926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.84362356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.84978778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.85145097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.85149709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.85152146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.85154454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.85182111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.85504604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.85508864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.85511512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.85566321Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.85899861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.85909573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.85912357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.86084997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.86496977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.87089747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:27.87104294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.87107149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.87115439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.87468222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.87485268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.87546684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.87836861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.87844341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.87921844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.8846608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.88473113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.88550982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.88779827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.88784975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.88838931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.89059262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.89064488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.89123596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.89337981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:27.89344659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.89347509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.89350219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.8940159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.89677642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.89690215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.89697289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.89730555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.90007857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.90013794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.90016494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.90070952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.9030602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.90792371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:27.90801002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:27.90804733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.90807518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.90810316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.90829816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.91113919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.911229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.91126129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.91171342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.91435049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.91441721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.91444533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.91483675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.91850578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.92282637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:27.92290963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.92293598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.92312186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.9275347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.92759683Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.9279711Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.93045481Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.93053499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.93095461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.93364764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.93369623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.93433587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.93705834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:27.93722152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.93726814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.93729566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.93808371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.94081981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.94088825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.9409136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.94305034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.94616608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.94622607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.94625232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.94683215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.95051402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.95985168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:27.95993153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:27.95996614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:27.95999278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.96002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.96041341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.96462573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.96469678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.96472606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.96568227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:27.96857663Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.96863445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.96866217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.97254708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.97555828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:27.98139759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:27.98147352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.98155115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.98185776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:27.9882886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","subnet_networks":"{}","subnet_interfaces":"{}","vpc_interfaces":"{Name(\"default\"): [NetworkInterface { id: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), 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-04T21:07:27.98836835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_rules":"[ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), 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: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), primary: true, slot: 0 }], filter_hosts: Some({Vpc(Vni(9083252))}), filter_ports: None, filter_protocols: None, action: Allow, priority: VpcFirewallRulePriority(65534) }, ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), 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-04T21:07:27.98845337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.9884884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:27.98920133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.00358501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.0037075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.00468899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.00806003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.00835508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:28.0086233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.00869003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.00929621Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.01383975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.0139064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.01397829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.01435942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.01713886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.01717774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.0172053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.01820483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.02157381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.03123412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.03132166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.03134569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.03158812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:28.06431113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.06452809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:28.06522226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"10ae86da-df51-4a68-9008-0146b40eb770","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:28.06529941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"10ae86da-df51-4a68-9008-0146b40eb770","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:28.0653232Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"10ae86da-df51-4a68-9008-0146b40eb770","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:28.0653582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"10ae86da-df51-4a68-9008-0146b40eb770","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:28.0659684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"10ae86da-df51-4a68-9008-0146b40eb770","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.0731093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:28.07316028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.07318248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.07323523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.07341062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:28.07532874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:28.0756525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:28.07632547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"10ae86da-df51-4a68-9008-0146b40eb770","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":11042,"response_code":200} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.12535893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.12541862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.12697764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.12836836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:28.12902304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.12952567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"10ae86da-df51-4a68-9008-0146b40eb770\", \"content-length\": \"405\", \"date\": \"Thu, 04 Jun 2026 21:07:28 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.12964124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:28.13059461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"2cfefb22-7663-47f8-bb50-92fc0d445183","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:28.13066294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"2cfefb22-7663-47f8-bb50-92fc0d445183","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:28.13084898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2cfefb22-7663-47f8-bb50-92fc0d445183","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:28.13089267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2cfefb22-7663-47f8-bb50-92fc0d445183","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:28.13131773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"2cfefb22-7663-47f8-bb50-92fc0d445183","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.1319281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:28.13233775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:28.13236124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:28.1323789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:28.13254752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.13258123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.13259951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.13262133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.13294837Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.13373919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:28.13378366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.13490268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"2cfefb22-7663-47f8-bb50-92fc0d445183","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":4144,"response_code":200} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.1350041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.13792371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.13906674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:43004/vmms/5f524f7c-86aa-4559-9e2c-afa3948a72a2","method":"PUT"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.13955658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:38829"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.13975402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:28.13980916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","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-04T21:07:28.13997293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"2cfefb22-7663-47f8-bb50-92fc0d445183\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07:28 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-04T21:07:28.14005066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.14007125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.14008705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.14042541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/5f524f7c-86aa-4559-9e2c-afa3948a72a2","method":"PUT","req_id":"8fba73bf-795b-49d8-aa31-0a9b81145b2e","remote_addr":"[::1]:38829","local_addr":"[::1]:43004","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-04T21:07:28.14047407Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/5f524f7c-86aa-4559-9e2c-afa3948a72a2","method":"PUT","req_id":"8fba73bf-795b-49d8-aa31-0a9b81145b2e","remote_addr":"[::1]:38829","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"created","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.14526066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"5f524f7c-86aa-4559-9e2c-afa3948a72a2","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-04T21:07:28.137916110Z }, migration_in: None, migration_out: None }"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.1455538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/5f524f7c-86aa-4559-9e2c-afa3948a72a2","method":"PUT","req_id":"8fba73bf-795b-49d8-aa31-0a9b81145b2e","remote_addr":"[::1]:38829","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":5140,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.14609766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:43004/vmms/5f524f7c-86aa-4559-9e2c-afa3948a72a2\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8fba73bf-795b-49d8-aa31-0a9b81145b2e\", \"content-length\": \"131\", \"date\": \"Thu, 04 Jun 2026 21:07:28 GMT\"} })"} {"msg":"received new VMM runtime state from sled agent","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.14615862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.137916110Z }","propolis_id":"5f524f7c-86aa-4559-9e2c-afa3948a72a2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.14619582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.14622257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.14695389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:28.15372244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.15376926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(2), \"id\": String(\"5f524f7c-86aa-4559-9e2c-afa3948a72a2\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:27.346401Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:28.137916110Z\")})","node_id":"20","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.15635992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.15641044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"21","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.15900956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.15906811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"21","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.16227054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.16232537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.16751271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.16757349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"20","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.17279786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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":"5f524f7c-86aa-4559-9e2c-afa3948a72a2","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.17285697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.1729827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.17347382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:28.17464903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.17716425Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.17723754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.17804949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.18019439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.18027431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.18072881Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.1835133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.18357354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:28.18360002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.1836237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.1840252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.18963018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.19069916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.19075234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.19123792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.19450695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.19456289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.1945862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.19565433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.19980929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.20638114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.24404061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.2440968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.2444647Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.24821263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.24830944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.24836051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.24838186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.24881541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.25118416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.25418071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.25429962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:43004/vmms/5f524f7c-86aa-4559-9e2c-afa3948a72a2","method":"DELETE"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.25496262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:39970"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.25521626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/5f524f7c-86aa-4559-9e2c-afa3948a72a2","method":"DELETE","req_id":"f56e7d9c-c164-4b48-a666-58119b60d6dd","remote_addr":"[::1]:39970","local_addr":"[::1]:43004","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-04T21:07:28.25542751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/5f524f7c-86aa-4559-9e2c-afa3948a72a2","method":"DELETE","req_id":"f56e7d9c-c164-4b48-a666-58119b60d6dd","remote_addr":"[::1]:39970","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.25559203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/5f524f7c-86aa-4559-9e2c-afa3948a72a2","method":"DELETE","req_id":"f56e7d9c-c164-4b48-a666-58119b60d6dd","remote_addr":"[::1]:39970","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":338,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.25578267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:43004/vmms/5f524f7c-86aa-4559-9e2c-afa3948a72a2\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f56e7d9c-c164-4b48-a666-58119b60d6dd\", \"content-length\": \"149\", \"date\": \"Thu, 04 Jun 2026 21:07:28 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.25621058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.25627134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"20","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.25900129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.25905955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"19","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.2616299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.26166448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.26168299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.26197631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.26307047Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.26344493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"19","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.26599491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.26607915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"18","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.27038558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.27051573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.27054763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.27095824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.27216095Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.2722002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.27257317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.27618157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.27625349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.27668561Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.27873308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.27878542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.27930153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.28046745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.28050168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.28052321Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.28054281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.28097669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.28274267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.2829316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:28.28299957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.2830257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.28342668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.28424295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.28651495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.28656383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.28658518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.2866062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.28662514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.2871975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.28921787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.29166294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.29171586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.29173841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.29199461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.2927483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.2927989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.29282625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.29315112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:28.32930455Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.33075712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.33085757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.33088487Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.33090618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:28.33195478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:46644"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.33228284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"d46c92ef-e846-4e19-a01f-731263ca836b","remote_addr":"[::1]:46644","local_addr":"[::1]:43004","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-04T21:07:28.33233368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"d46c92ef-e846-4e19-a01f-731263ca836b","remote_addr":"[::1]:46644","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.33253589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"d46c92ef-e846-4e19-a01f-731263ca836b","remote_addr":"[::1]:46644","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":265,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.332775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d46c92ef-e846-4e19-a01f-731263ca836b\", \"content-length\": \"102\", \"date\": \"Thu, 04 Jun 2026 21:07:28 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.33289528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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(9083252) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.33292485Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.33294305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.3330303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":5,"elapsed":"71.58078ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.33378908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.3391982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.33928832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.33931339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.33934119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.33981436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.34282537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.34287857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.34380048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.34715249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.34728136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.34787944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.36004806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.36012161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.36014501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.36016511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.36095321Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.36812237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.37012313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.37017991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.37020063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.37072717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.37422981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.37497139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18672","req_id":"620482d7-e9dd-46a9-87ef-7a86ef43fb0a","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 66 e1 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 f............_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-04T21:07:28.37502814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18672","req_id":"620482d7-e9dd-46a9-87ef-7a86ef43fb0a","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 26337,\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-04T21:07:28.37531988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.37543416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.37548599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18672","req_id":"620482d7-e9dd-46a9-87ef-7a86ef43fb0a","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: 64395, 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-04T21:07:28.37595406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1115, tv_nsec: 837828023 } })","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-04T21:07:28.37600165Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.37671658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:50524","req_id":"6ae3befc-29c7-498b-b25a-0f3d373d69cf","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 0e 18 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-04T21:07:28.3767672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:50524","req_id":"6ae3befc-29c7-498b-b25a-0f3d373d69cf","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 3608,\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-04T21:07:28.37692418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.37697975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:50524","req_id":"6ae3befc-29c7-498b-b25a-0f3d373d69cf","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-04T21:07:28.41127204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.41222454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"4fec7305-4432-40cd-a3f1-62850706f81b\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:28 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.41264851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.41268412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"18","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.41683563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.41687911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.42037392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.42041419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.42451044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.42457056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.428212319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.428272279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.431226599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.431273999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.439239469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.439293499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.442234419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.442316229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.446928629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.447022179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.451502419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.451557739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.455826709Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.455875649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.464586649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.464629859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.470797589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.470844989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.474431599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.474509509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.477479579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.477564809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.480969269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.481076199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.487828769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.488090279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.493754439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.494223859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.498493239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.498566049Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.501902439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.501941979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.504401529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.504452309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.507500739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.507538259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.510286239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.510331819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.513154009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.513193689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.515902669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.516183739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.523443379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.523531179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.527089269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.527163139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.531413949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.531481959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.535064779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.539750429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.539808259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.548586149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.548619889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.551352159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"5f524f7c-86aa-4559-9e2c-afa3948a72a2","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.551393449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.551424719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.552523559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:28.559394789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.559488129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.559558219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.559582299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.560154809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.561044169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.561070169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.563685229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.563737519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.564363789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.564417429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.564441159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.564914499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.568962209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.568997839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.570369989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.570416429Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.570474219Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"10.95426ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.572459529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.572486779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.575336749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.575370849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.576111139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.579241099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.579295989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.586692949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.586753679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.595522789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.595585949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.598967299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.599027729Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.603318849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.603386109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.606246529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.606306979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.610790469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"multicast_sled_id\"","result":"failure","saga_name":"instance-start","saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.611112539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","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-04T21:07:28.611219839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"1de3c4f1-0bb3-4c28-a970-041d3fb082da","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: 1de3c4f1-0bb3-4c28-a970-041d3fb082da, saga_log: SagaLog { saga_id: 1de3c4f1-0bb3-4c28-a970-041d3fb082da, 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-04T21:07:28.611506489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611527119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611539489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611553489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611566299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611578259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611589929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611603239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611617039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611629019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611641659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611653819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611665399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611677499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611689379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611700929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611714449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611728129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611740459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611754389Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611765849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611779379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611791209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611804699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611817929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611829849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611844899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611942999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611956789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611969619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611981139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.611992819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612004629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612016749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612029659Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612042359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612054489Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612065539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612077689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612091449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612105169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612117179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612129669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612143069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612155649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612167549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612182119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612194479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612217939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612230699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612301949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612316649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612328359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612340399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612351959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612365829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612377919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612389229Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612400339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612412029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612425359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612438209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612450059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612461539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612473109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612486209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612498309Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612510959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612523029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612535139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612546629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612560579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612574609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612587459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612599099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612612439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.612637849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.628933269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.628981459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.629713059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.631704769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.631766649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.632242119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.634321119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.634367359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.635320589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.637258599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.637321259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:28.637366719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.637383109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.637799119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.641186529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.641243359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.641261759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.641655339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.648674209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.650267539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.650321499Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.651613889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.656067619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.669862379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.669996599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.670051109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.670131259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:28.670189109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.670231089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.670651119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.674862439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.674903669Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.674922209Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.675326679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.682936059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.682987129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.683007689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.683788539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.689855919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.695684279Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.695743609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.695760689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.696094849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.700096289Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.702071109Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(36)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.711881039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.711930329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.711946269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.711958929Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.711971199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.711983739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.711995029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712007869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712019579Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712030569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712041789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712053139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712064249Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712075649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712087169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712098409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712110199Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712121409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712132559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712143899Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712155369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712166949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712178919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712190369Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712202059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712213599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712225129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712268019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712280939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712292189Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712303609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712315299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712327159Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712338959Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712350419Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712361699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712372989Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712383919Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712395269Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712406449Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712417569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712429039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712440879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712451859Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712463379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712474819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712485979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712497059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712510559Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712523299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712534779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712546179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712557329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712569069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712580319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712591599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712602569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712614149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712625509Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712636649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712647879Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712659299Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712670689Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712681759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712692749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712703739Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712715069Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712726119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712737119Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712747799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712758799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712769769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712780869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712792329Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712803779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712815239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.712826589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.730977169Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.731028549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.731895569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.734545549Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.734587949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.735278439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.737035589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.737065779Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.738517639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.741104759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.741158909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:28.741328749Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.741375869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.746301079Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.749022179Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.749053969Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.749070939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.749535839Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.752360979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.752397769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.752413259Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.753145769Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.755940658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.762470128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.762541238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.762578288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:28.762598768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.762615848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.763013048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.765519348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.765564498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.765583468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.766336258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.769277878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.769305608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.769323588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.769790768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.772941808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.780835888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.780897878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.780917628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.781095998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:28.783916048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(22)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.786601558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"label":"AddVirtualResources","node_name":"virtual_resources"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.786656198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.786679058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.787033318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":36,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:28.787238198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.790865508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:28.790937118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.790954938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.791001428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.791019658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.794130758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.794197878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.800480488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.800531128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.803297918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.803342598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"c88247dd-f953-48d6-9088-7b553db63409\"))","node_id":"0","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.808093448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.808188848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.812133618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"c88247dd-f953-48d6-9088-7b553db63409","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:28.812178658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.812199118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.812741358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.816149488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"c88247dd-f953-48d6-9088-7b553db63409","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:28.821859538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"c88247dd-f953-48d6-9088-7b553db63409","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:28.821996088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"c88247dd-f953-48d6-9088-7b553db63409","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:28.822021928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"c88247dd-f953-48d6-9088-7b553db63409","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:28.822041588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"c88247dd-f953-48d6-9088-7b553db63409","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:28.829027058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"c88247dd-f953-48d6-9088-7b553db63409","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:28.829142828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.829165068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.831905518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.832008858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.834782998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.834877658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.835330408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:28.838040498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.838092308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:13\"))","node_id":"2","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.841110408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.841143568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.844277348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.844329358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.845087948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.847789648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.847871438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.847931388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.847952398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.848819268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.851732928Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.858659458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.858713428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.858746408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.859140408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:28.863915268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.863970088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"c88247dd-f953-48d6-9088-7b553db63409\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:28.858652Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:28.858652Z\")})","node_id":"3","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.869490568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.869568918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.872614178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"c88247dd-f953-48d6-9088-7b553db63409","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.872719128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.872756248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.873354728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.875917608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.876145588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.876644168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.882407538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.882468948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.883010388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.885170878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.885218768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:28.885246478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.885277268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.885844918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.889881728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.889937918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.889967338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.890572088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.893995798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.894048788Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.894078568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.894711018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.897893748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.904101278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.904333418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.904373108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:28.904400608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.904430898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.904600088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.909141838Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.909232738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.909282528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.909709918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.915248078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.915324618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.915350728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.915734388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.918624298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.924326418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.924440218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.924466698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.924656758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:28.931285298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.931375138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"c88247dd-f953-48d6-9088-7b553db63409\"), \"state_generation\": Number(37), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.933815528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.933866958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.937245718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.937316778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.939064218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.941890918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.942181738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.942321598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.944770598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.944825548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.945182188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.947237238Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.947326598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:28.947357048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.947389218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.947713418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.950404558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.950488128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.950516968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.951013068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.956186528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.956260678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.956295558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.956818488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.959985998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.970863758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.970945188Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.970970248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.971541728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.972802358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.972869118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:28.972896098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.972918858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.973134158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.977730948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.977826678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.978095148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.978670178Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:28.983280818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.983352298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.983400028Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.983827128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:28.991491018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:28.996639118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:28.998610498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:28.998696678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.004490278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.004589968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.008164268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.008226388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.010954388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.010998498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.017887978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.017942858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.021065888Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.021101918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.023600008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.023636068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.027177568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.027260668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.031053438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.031083108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.035400968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.035479738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.039472368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.039515388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.042443108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.042496258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.045515478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.045565538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.051256048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.051304428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.056611708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.056664358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.060742708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.060794448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.063851698Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.063900338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.068982768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.069030498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.072083018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.072138308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.072945598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:29.072988688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.073229678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.073287318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.073422168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:29.074241718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:29.074308138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:29.077471718Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.077536348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.079250288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:29.080096858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.080324848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:29.080786018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:29.080813708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:29.080832538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.082853288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:29.082998228Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:29.083520948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.083548408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.086546528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:29.086771918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.088221918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.088274338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.094939098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.094997798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.098188068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.098487508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.101958378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.102000378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.106268378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.106925088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"18","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.109913138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.109998368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.110029878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.110863018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.113922368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.113961408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.113981438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.114113848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.114460978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.118285068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.123801328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.123856058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.123873678Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.123917218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.124421348Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.131812088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.131916688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.132799818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.134970758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.135026768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.135539318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.139236668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.139311748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.139344338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.139369458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.139390628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.144106258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.144177548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.144202618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.147286478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.153788478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.153845038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.153868808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.157133828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.164519138Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.181322098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.181430058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.181490278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.181515768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.181542048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.182007878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:29.183536268Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.188651288Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.188708118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.188731948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.189170748Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.194066058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.194125808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.194171508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.194552498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.199013388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.211897778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.212015318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.212061088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.215489338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:29.221682938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.221745068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.221784688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.222789618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.225781958Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.226092968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.226934628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.232085868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.232156068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.232177728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.232209198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.232719728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.237656768Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.239790408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.239844078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.239888558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.240203048Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.243898328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.244940378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:65055","req_id":"94eed11f-e964-43d1-af3e-6e9fc7f5fbd3","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 51 86 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 Q............_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-04T21:07:29.245041818Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:65055","req_id":"94eed11f-e964-43d1-af3e-6e9fc7f5fbd3","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 20870,\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-04T21:07:29.245317368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.245436118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.245494898Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:65055","req_id":"94eed11f-e964-43d1-af3e-6e9fc7f5fbd3","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: 64395, 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-04T21:07:29.246066848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1116, tv_nsec: 707872131 } })","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-04T21:07:29.246102208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.247430558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:41296","req_id":"9c20a261-060b-4768-97af-c8190dcbbe34","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 6c 63 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e lc..........-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-04T21:07:29.247567778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:41296","req_id":"9c20a261-060b-4768-97af-c8190dcbbe34","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 27747,\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-04T21:07:29.247727418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.250641148Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:41296","req_id":"9c20a261-060b-4768-97af-c8190dcbbe34","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-04T21:07:29.297382258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.300123398Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e30f5e0f-2e8d-4038-a5d2-a698d0ac0f72\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:29 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.300522128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.300558758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.301225278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:29.320056308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.320322508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.320368858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.324176128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.324341368Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"19","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.329635058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.329961988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.329990278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.330315998Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.330853458Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.330896708Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"19","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.333933068Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.334002478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"20","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.339079328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.339142658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.339173158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.340217668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.340400808Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.340495878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.340521098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.342497758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.342561948Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.345267918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.345980438Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.346022488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.346050778Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.346070658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.346346578Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.348229518Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.348289358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.348603248Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.349027158Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.351562868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.351626408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.351653208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.351674728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.351693218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.351709108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.354609318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.354680308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.354713798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.354738508Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.355064388Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.355685628Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.359365828Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.359455278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.359477008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.359619848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.361656488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.362019308Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.362439968Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.362686098Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:29.407401108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:29.408145198Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:47584"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.408564618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"e96be8b2-a160-4e81-9b27-3f8b4d7a36f0","remote_addr":"[::1]:47584","local_addr":"[::1]:43004","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-04T21:07:29.408597738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"e96be8b2-a160-4e81-9b27-3f8b4d7a36f0","remote_addr":"[::1]:47584","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:29.408983428Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"e96be8b2-a160-4e81-9b27-3f8b4d7a36f0","remote_addr":"[::1]:47584","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":425,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.409564548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e96be8b2-a160-4e81-9b27-3f8b4d7a36f0\", \"content-length\": \"102\", \"date\": \"Thu, 04 Jun 2026 21:07:29 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:29.409623378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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(9083252) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:29.409647728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.409697978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.409726218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":6,"elapsed":"79.96861ms"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.409743018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.409779378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.409806328Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.410299208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.415307108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.425006858Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.425085058Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.425118918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.425145418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.425169298Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.425418668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.429858147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.429918277Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.429945457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.430286347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.435365037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.435430457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.435458217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.436046837Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.438988757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.443935877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.444098227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.444125817Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.444610847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.446710787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.446778237Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.446826547Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.446850997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.447273417Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.449920537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.449976977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.450003577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.450835937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.454963027Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.455023007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.455048107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.456300757Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.464005287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.468889807Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.470511467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.470579667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.470608737Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.470634377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.471320667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.474559297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.474595467Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.474621707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.475096957Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.477805317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.477858337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.477883847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.478440087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.481037707Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.486427407Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.486489247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.486514007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.486922917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.490252667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.490291657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.490830917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.493576257Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.493633337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.494140587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.496173277Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.496239417Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.496998887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.502887177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.502989457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.503526907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.506049437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.506147037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.506669627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.508830297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:29.508908717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.508936927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.508964017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.509533277Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.513299677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.513402637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.513433087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.513839147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.517167397Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.517225447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.517304847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.518160167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.523109107Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.530405197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:29.530472787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:29.530504927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.530528857Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.530551197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.530838397Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.535294117Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.535342607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.535369037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.536410387Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.541701497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.541782867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.541814017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.543527267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.547763147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.556492097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:29.556555557Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.556735947Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.557223307Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.560102667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.560163717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.560565587Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.562451287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.562512607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.562895437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.564770847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.564841997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.565152147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.567431197Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:29.567600637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.567782657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.567813997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.568217227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.571480337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.571512687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.571550777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.572103717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.576893137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.576939597Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.576965337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.577440167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.583531777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.592933247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:29.593023317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:29.593060427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.593087457Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.593113697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.593429167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.596629287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.596705717Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.596733907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.597394417Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.601996827Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.602065357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.602093537Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.602699927Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.606463677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.618113367Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:29.618447877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.618493067Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.618517627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:29.623421227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","subnet_networks":"{}","subnet_interfaces":"{}","vpc_interfaces":"{Name(\"default\"): [NetworkInterface { id: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), 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-04T21:07:29.623546047Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_rules":"[ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), 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: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), primary: true, slot: 0 }], filter_hosts: Some({Vpc(Vni(9083252))}), filter_ports: None, filter_protocols: None, action: Allow, priority: VpcFirewallRulePriority(65534) }, ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), 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-04T21:07:29.623605937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.623676917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.624077877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.628146517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.628215317Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.628821427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.636094917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.636168297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.636197447Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.636221517Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.637662297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.647391337Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.647445497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.647470667Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.648362167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.652661047Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.652735437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.652765947Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.653951267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.659319147Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.667851087Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.667949767Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.667978417Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.668241577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.712578677Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.712667657Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.713228037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.724362887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.724413477Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.724436837Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.724455997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.725313907Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.729429297Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.732528977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.733480797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:43004/vmms/c88247dd-f953-48d6-9088-7b553db63409","method":"PUT"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:29.734370917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:43152"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.734774287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/c88247dd-f953-48d6-9088-7b553db63409","method":"PUT","req_id":"3b919ed0-ef08-4857-9df7-4c31285c5b9e","remote_addr":"[::1]:43152","local_addr":"[::1]:43004","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-04T21:07:29.734931747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/c88247dd-f953-48d6-9088-7b553db63409","method":"PUT","req_id":"3b919ed0-ef08-4857-9df7-4c31285c5b9e","remote_addr":"[::1]:43152","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"created","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:29.740012137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"c88247dd-f953-48d6-9088-7b553db63409","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-04T21:07:29.732524087Z }, migration_in: None, migration_out: None }"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:29.740318777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/c88247dd-f953-48d6-9088-7b553db63409","method":"PUT","req_id":"3b919ed0-ef08-4857-9df7-4c31285c5b9e","remote_addr":"[::1]:43152","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":5650,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.741001007Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:43004/vmms/c88247dd-f953-48d6-9088-7b553db63409\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"3b919ed0-ef08-4857-9df7-4c31285c5b9e\", \"content-length\": \"131\", \"date\": \"Thu, 04 Jun 2026 21:07:29 GMT\"} })"} {"msg":"received new VMM runtime state from sled agent","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:29.741189807Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.732524087Z }","propolis_id":"c88247dd-f953-48d6-9088-7b553db63409"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.741230787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.741259217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.741944177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:29.757586246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.757657346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(2), \"id\": String(\"c88247dd-f953-48d6-9088-7b553db63409\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:28.858652Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:29.732524087Z\")})","node_id":"20","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.761654196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.761740056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"21","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.768523386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"multicast member lifecycle transition: updating sled_id","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.768586446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.768616606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.768671916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.769061626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:29.802890366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.802948906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"21","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.806234086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.806297536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"22","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.811143726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.811202966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"22","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.813982106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:29.814051236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.826270296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.826346466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"21","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.831234486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"multicast member lifecycle transition: updating sled_id","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.831334026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.831389826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.831445806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.832000196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:29.835039646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.835089756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"21","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.837792746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.837849156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"20","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.840977876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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":"c88247dd-f953-48d6-9088-7b553db63409","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.841067766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.841098606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.843555296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.846289606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.846411286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.846692476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.848871886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.848950506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.849255856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.852024096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.852171566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.852279616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.852307836Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.852875276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.855475436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.855521896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.855546986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.856041116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.858760286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.858815786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.858840996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.859229166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.863808806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.870413946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.913349376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.913430706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.913855816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.916914866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.916956696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.916983366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.917037906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.917623866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.920347116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.924280916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.924432236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:43004/vmms/c88247dd-f953-48d6-9088-7b553db63409","method":"DELETE"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:29.924899126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:45384"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.925248376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/c88247dd-f953-48d6-9088-7b553db63409","method":"DELETE","req_id":"57ddf7ec-ac40-45c1-98fe-eafe329293b6","remote_addr":"[::1]:45384","local_addr":"[::1]:43004","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-04T21:07:29.925282746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/c88247dd-f953-48d6-9088-7b553db63409","method":"DELETE","req_id":"57ddf7ec-ac40-45c1-98fe-eafe329293b6","remote_addr":"[::1]:45384","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:29.925474336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/c88247dd-f953-48d6-9088-7b553db63409","method":"DELETE","req_id":"57ddf7ec-ac40-45c1-98fe-eafe329293b6","remote_addr":"[::1]:45384","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":233,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.925684686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:43004/vmms/c88247dd-f953-48d6-9088-7b553db63409\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"57ddf7ec-ac40-45c1-98fe-eafe329293b6\", \"content-length\": \"149\", \"date\": \"Thu, 04 Jun 2026 21:07:29 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.925959486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.925983246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"20","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.929515026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.929557246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"19","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.932317196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.932413256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.932473046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.933280266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.934962316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.935015796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"19","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.939915846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.939965716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"18","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.943110476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.943184916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.943216526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.943599526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.944544366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.944602806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.944934546Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.946610486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.946705576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.947312126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.950198886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.950254446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.950741386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:29.951182866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.951213606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.951235636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.951255456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.951553406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.953680476Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:29.953868746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:29.953900666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.953928216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.954066636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.954917556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.957839016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.957895616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.957918006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.957964586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.957987966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.958075246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.959919856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.963439056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.963488396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.963507786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.963551146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:29.966700846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:29.966752826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.966780136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:29.967270756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:30.019669116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.020183486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.020238176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.020266366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.020804626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:30.022818276Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:57525"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.023061386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"a695f2d5-31dd-48d8-a8d6-fda9e0bd568e","remote_addr":"[::1]:57525","local_addr":"[::1]:43004","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-04T21:07:30.023084266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"a695f2d5-31dd-48d8-a8d6-fda9e0bd568e","remote_addr":"[::1]:57525","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.023255326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"a695f2d5-31dd-48d8-a8d6-fda9e0bd568e","remote_addr":"[::1]:57525","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":203,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.023526256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a695f2d5-31dd-48d8-a8d6-fda9e0bd568e\", \"content-length\": \"102\", \"date\": \"Thu, 04 Jun 2026 21:07:30 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.023648556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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(9083252) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.023670256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.023686406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.023754056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":7,"elapsed":"91.45844ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.024956106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.032757316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.032869266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.032918286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.032972666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.034241336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.037465326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.037552666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.038173436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.041801566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.041892976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.042281316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.057544016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.057689886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.057752796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.057780916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.060241186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.063737136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.067143356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.067196356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.067219236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.067589436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.068999256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.069456176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:30.070077326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6b60f3d6-c868-4df3-8007-0c94a843f4e4","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:30.070128376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6b60f3d6-c868-4df3-8007-0c94a843f4e4","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:30.070343586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6b60f3d6-c868-4df3-8007-0c94a843f4e4","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:30.070385226Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6b60f3d6-c868-4df3-8007-0c94a843f4e4","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:30.070856156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6b60f3d6-c868-4df3-8007-0c94a843f4e4","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.071841746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.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-04T21:07:30.072336236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:30.072407166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.072573976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.072594796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.072750016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:30.073541116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:30.073594006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.073962846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:16971","req_id":"1aa701b7-7e3f-4920-84a6-5dc5a82a5aec","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 30 39 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 09..........._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-04T21:07:30.074035176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:16971","req_id":"1aa701b7-7e3f-4920-84a6-5dc5a82a5aec","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 12345,\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-04T21:07:30.074302976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.074909526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.074951856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:16971","req_id":"1aa701b7-7e3f-4920-84a6-5dc5a82a5aec","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: 64395, 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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.076467726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6b60f3d6-c868-4df3-8007-0c94a843f4e4","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":6524,"response_code":200} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.077474176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1117, tv_nsec: 539301019 } })","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-04T21:07:30.077528766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"fetched timeseries schema from database","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.078896266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:30.079460086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.080631896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6b60f3d6-c868-4df3-8007-0c94a843f4e4\", \"content-length\": \"405\", \"date\": \"Thu, 04 Jun 2026 21:07:30 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.080737716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/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-04T21:07:30.080922716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:30.081442626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:30.081480936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:30.081499236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.081883756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"080372e8-efff-4027-b1e3-e7390df815ec","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:30.081914636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"080372e8-efff-4027-b1e3-e7390df815ec","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:30.082115706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"080372e8-efff-4027-b1e3-e7390df815ec","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:30.082191186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"080372e8-efff-4027-b1e3-e7390df815ec","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:30.082609446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"080372e8-efff-4027-b1e3-e7390df815ec","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.083741176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:30.083786426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.083830346Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18932","req_id":"026cfdb9-af37-4031-959a-624c564ae885","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 55 30 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e U0..........-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-04T21:07:30.083931176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18932","req_id":"026cfdb9-af37-4031-959a-624c564ae885","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 21808,\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-04T21:07:30.084118656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.084176086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18932","req_id":"026cfdb9-af37-4031-959a-624c564ae885","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-04T21:07:30.128189806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.131782076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"080372e8-efff-4027-b1e3-e7390df815ec","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":49875,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.132798236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"080372e8-efff-4027-b1e3-e7390df815ec\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07:30 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-04T21:07:30.132873466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.132898116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.132914926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.135502896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:30.135556416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","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":10,"time":"2026-06-04T21:07:30.135818526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"fd2bc9e8-490c-4346-a55e-a0d068fd54bc\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:30 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.136094936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.136140626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"18","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.143196896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.143262176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.145822906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.145875856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.150247626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.150299216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.153962956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.154012556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.157371216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.157419766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.160510056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.160549516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.163648246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.163690766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.167705076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.167775046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.170560326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.170608676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.173314976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.173620076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.173673196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.176852646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.176907556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.184007986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.184043736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.195868046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.195918016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.201667586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.201727656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.206342356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.212622816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.220040796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.220102986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.226118756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.226356736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.226964186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.227101446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.232558326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.232613046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.238538516Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.238607966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.243398256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.243472056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.246470686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.246522706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.248989096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.249022416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.251944126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.252150586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.257460116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.257513696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.263596826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.263651756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.265804506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.265976916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.276635016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.288845126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.288904656Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.294221586Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.294259146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.301291196Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"c88247dd-f953-48d6-9088-7b553db63409","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.302549936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.302592916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.304337536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:30.308235046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.308289786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.308340776Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.308364116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.308747396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.309277176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.309324456Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"3","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.312560826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.312614286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.312637306Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.313068156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.313968206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.314021486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"2","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.316237686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.316288906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.316312446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"8.01211ms"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.316733046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.316762906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"2","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.319868466Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.319917636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"1","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.326173286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.326234556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.326937266Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.329523486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.329560606Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"1","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.332496296Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.332578916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"0","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.337012826Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.337071076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"0","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.341133796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.341180716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"24","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.345162816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.345209766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"24","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.350453446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.350497156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.354724596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"virtual_resources\"","result":"failure","saga_name":"instance-start","saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.354920906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","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-04T21:07:30.358533636Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f, saga_log: SagaLog { saga_id: a7065f20-3e43-4e8d-9b2b-8f2fc0cee77f, 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-04T21:07:30.358873176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.358893866Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.358905886Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.358917796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.358951706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.358965416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.358977236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.358988416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359000396Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359012446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359024146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359035356Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359046746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359221336Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359237996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359359116Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359372426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359383966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359395566Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359406846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359418126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359429006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359440786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359451696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359462966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359474506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359486016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359496946Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359508366Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359518926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359529906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359541526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359552726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359564486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359575406Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359586446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359597996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359608936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359620096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359631596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359643386Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359655046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359666316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359677596Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359689316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359700806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359711816Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359722726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359733926Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359744556Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359755986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359767246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359778696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359789796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359801076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359812626Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359823936Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359835146Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359846016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359887686Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359902536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359913746Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359924996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359936376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359947666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359958796Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359970036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359981006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.359992326Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.360003706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.360024526Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.360036666Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.360047976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.360058976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.360069906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.360081286Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.360092506Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.379220016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.379277416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.380128426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.382642756Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.382720206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.383174876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.386326706Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.386366856Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.386907996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.390776446Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.393004736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:30.393041956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.393056786Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.393469166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.400432236Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.400488016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.400509536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.401281616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.414629216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.414663176Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.414679736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.415423046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.419265026Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.432634955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.432716825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.432735335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.432822445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:30.432896545Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.432916855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.433572975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.436587235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.436645235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.436662635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.437269125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.440320235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.440432445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.440489545Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.441195515Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.447535305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.454315385Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.454384275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.454402945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.454829125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.458051765Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.461504045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(38)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475159645Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475291815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475333235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475374355Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475425345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475441685Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475456405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475468775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475481475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475493215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475504655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475515975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475528175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475539925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475551045Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475562405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475574145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475585775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475596855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475608415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475619835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475655675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475667195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475679785Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475692835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475705275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475717635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475821725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475838435Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475850465Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475862415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475882185Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475895875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475907435Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475921025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475932605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475944505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475960445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475974425Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.475997415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476009915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476022345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476035435Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476048095Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476059925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476073005Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476120445Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476133735Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476147035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476162645Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476179565Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476196985Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476213155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476227575Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476241295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476254925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476268285Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476281915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476294905Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476307695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476320775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476458875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476474535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476487855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476500865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476515975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476529495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476542475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476555475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476568725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476581715Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476596225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476610095Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476623055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476636355Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476679095Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.476692975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.510179465Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.510237585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.510882285Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.518079125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.518142545Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.518765765Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.521170605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.521202965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.521748465Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.524656815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.524695405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:30.524713665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.524729505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.525177885Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.527710865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.527760075Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.527777505Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.528812545Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.531286405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.531334255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.531352725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.532027975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.534379995Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.542861475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.542920695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.542944345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:30.542962325Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.542977815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.543372255Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.546266615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.546311975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.546329095Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.546657135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.548960345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.549002775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.549019705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.549450275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.553582545Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.558489305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.558566345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.558582495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.558760765Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:30.562613485Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_and_vmm":"InstanceAndActiveVmm { instance: Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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 }, vmm: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"Creating new saga that will fail at index NodeIndex(23)","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.565180555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"label":"EnsureRunning","node_name":"ensure_running"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.565212145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.565231555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.565611635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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,\"hostname\":\"test-instance\",\"identity\":{\"description\":\"instance \\\"test-instance\\\"\",\"id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"name\":\"test-instance\",\"time_created\":\"2026-06-04T21:07:13.163233Z\",\"time_deleted\":null,\"time_modified\":\"2026-06-04T21:07:13.163233Z\"},\"intended_state\":\"Stopped\",\"memory\":2147483648,\"migration_id\":null,\"ncpus\":2,\"nexus_state\":\"NoVmm\",\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"propolis_id\":null,\"state_generation\":38,\"time_last_auto_restarted\":null,\"time_state_updated\":\"2026-06-04T21:07:13.163233Z\",\"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-04T21:07:30.565852795Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-start","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad"} {"msg":"saga_inject_error","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.570031825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad"} {"msg":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:30.570088205Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.570106695Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-start","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.570427465Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.570451145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"24","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.573125725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.573167345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"24","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.576811685Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.576873155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.579135725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.579165645Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"8937c1ce-9dac-4514-894a-b7d2385c1abd\"))","node_id":"0","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.581478675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.581558125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.584585855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:30.584635595Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.584657805Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.584848105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.588135675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:30.593004145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:30.593055875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:30.593077065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:30.593095865Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:30.598110595Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:30.598233135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.598272555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"b6d65341-167c-41df-9b5c-41cded99c229\"))","node_id":"1","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.602148835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.602220365Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.607695675Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.607762555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.608172975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:30.612595825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.612654345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"::1:14\"))","node_id":"2","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.615715165Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.615764665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.618720425Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.618816235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.619108195Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.621325475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.621379685Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.621403335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.621424435Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.621848825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.626261875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.632261475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.632354635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.632410605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.632927395Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:30.636147155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.636202605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(1), \"id\": String(\"8937c1ce-9dac-4514-894a-b7d2385c1abd\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:30.632253Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:30.632253Z\")})","node_id":"3","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.639526295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.639604235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.644903975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.644979265Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.645010755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.646598295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.650704575Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.650776775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.651607305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.654444915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.654506755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.655092215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.656980305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.657039915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:30.657066945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.657090905Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.657698765Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.660104355Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.660146415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.660172145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.660692745Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.665036365Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.665109405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.665136415Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.668760925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.672275125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.679423655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.679506975Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.679558535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:30.679584755Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.679631885Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.679874025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.683128025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.683181245Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.683208295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.683561145Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.688532565Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.688578525Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.688605535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.688849495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.692905395Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.698065345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.698126025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.698157235Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.698372295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"MarkAsStarting","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:30.712583155Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.712643585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"auto_restart\": Object {\"cooldown\": Null, \"policy\": Null}, \"boot_disk_id\": Null, \"cpu_platform\": Null, \"dst_propolis_id\": Null, \"hostname\": String(\"test-instance\"), \"identity\": Object {\"description\": String(\"instance \\\"test-instance\\\"\"), \"id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"name\": String(\"test-instance\"), \"time_created\": String(\"2026-06-04T21:07:13.163233Z\"), \"time_deleted\": Null, \"time_modified\": String(\"2026-06-04T21:07:13.163233Z\")}, \"intended_state\": String(\"Stopped\"), \"memory\": Number(2147483648), \"migration_id\": Null, \"ncpus\": Number(2), \"nexus_state\": String(\"Vmm\"), \"project_id\": String(\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"), \"propolis_id\": String(\"8937c1ce-9dac-4514-894a-b7d2385c1abd\"), \"state_generation\": Number(39), \"time_last_auto_restarted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:13.163233Z\"), \"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.719383585Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.719428175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.728289655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.728404325Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.728946175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.731613405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.731668185Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.732187955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.734405025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.734457135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.735028665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.737708945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.737809005Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:30.737850815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.737875495Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.738490345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.741100915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.741184065Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.741209215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.741719635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.746417945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.746496085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.746524185Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.747252275Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.750491515Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.758012114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.758091194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.758115694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.758365774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.759459434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.759523854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:30.759554024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.759580264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.759905234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.762876454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.762929754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.762961644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.763711764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.766908174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.767028224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.767098554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.767549984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.770287074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.778655974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"ListLocalStorage","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.780721454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.780782704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Array [])","node_id":"5","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.784138134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.784189474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"17","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.789163544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.789224424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"17","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.792031724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.792082524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"16","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.798447974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.798501824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"16","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.800647054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.800703894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"15","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.803512234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.803568214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"15","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.806997144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.807053814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"14","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.809613754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.809672484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"14","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.812233054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.812287294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.815710904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.815762594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.818999234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.819051564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"12","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.821619084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.821670134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"12","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.824213214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.824259834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"11","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.828538294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.828573844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"11","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.832353414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.832487174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"10","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.836844054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.836896414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"10","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.841679894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.841778524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"9","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.845014084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.845219674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"9","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.848158624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.848187984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"8","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.851412964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.851445364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"8","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.854441504Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.854501664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"7","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.858867234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.859042844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"7","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.862247974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.862321704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.864967664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.865014514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"6","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.867663804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.867721114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"18","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.870004514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.870064644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.870088004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.870601814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.873335194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.873389104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.873410874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.873430074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.873961364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.876462594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.879350214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.879431794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.879449324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.879482204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.879656294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.881935844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.881969824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.882437374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.887756414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.887830144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.888195804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.893372084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.893446254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:30.893917474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.893944574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.894526174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.897629074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.897685744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.897714054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.898211754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.900851674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.900912524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.900938814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.901299614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.904124394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.911589664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.911671924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.911735514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:30.911762634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.911786264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.912365534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.916487364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.916623594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.916718924Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.917334754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.921688764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.921751474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.921785394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.922206324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.925153334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:30.934294004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:30.934639524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.934680604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.934874664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:30.939698644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.939735444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.940187554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.940826674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.943690234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.943751274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:30.944873264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:30.948166274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.948213624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.948234864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.948252224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.948940884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.951284284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.952985394Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.953024564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.953044704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.953491644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.959067524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.959782794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:20845","req_id":"27f75379-d67a-47bc-8287-216d93cd55bc","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: fd 5c 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-04T21:07:30.959829954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:20845","req_id":"27f75379-d67a-47bc-8287-216d93cd55bc","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 64860,\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-04T21:07:30.960001264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.960948524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.960973274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:20845","req_id":"27f75379-d67a-47bc-8287-216d93cd55bc","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: 64395, 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-04T21:07:30.961278604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1118, tv_nsec: 423155537 } })","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-04T21:07:30.961313224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.961493444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:38400","req_id":"e6de0b7b-f565-4d8b-9426-28228e57d311","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: a8 6c 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .l..........-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-04T21:07:30.961528874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:38400","req_id":"e6de0b7b-f565-4d8b-9426-28228e57d311","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 43116,\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-04T21:07:30.961627334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:30.961640474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:38400","req_id":"e6de0b7b-f565-4d8b-9426-28228e57d311","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-04T21:07:31.006970594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.007419244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:31.007473904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:31.008431244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"a2e4df64-75aa-4776-8d7e-e68719734bad","remote_addr":"127.0.0.1:51638","local_addr":"127.0.0.1:37127","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-04T21:07:31.016829834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/913233fe-92a8-4635-9572-183f495429c4","method":"GET","req_id":"a2e4df64-75aa-4776-8d7e-e68719734bad","remote_addr":"127.0.0.1:51638","local_addr":"127.0.0.1:37127","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":8485,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.017267224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"9b12bb97-03f3-4dc5-9301-149e15147833\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:31 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.017610884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.017647624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.018106274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.018804884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:31.027696854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:31.027748574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:31.027769594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":37127,"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-04T21:07:31.028118404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":12} {"msg":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.028408714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink-cluster","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_samples":12} {"msg":"unrolling 12 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.028433764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:31.033101664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:31.033146464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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', '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-04T21:07:31.036474124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","component":"clickhouse-client","collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","component":"oximeter","n_schema":2} {"msg":"inserting data","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.041790164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.045574654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:31.045624384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"no subnets attached to instance, nothing to notify Dendrite about","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.047389964Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.047602894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.047633204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"18","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.048876224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:31.048917594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.051059344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.051126314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"19","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.052887004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:31.053219774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.054943264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.055126854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.055156134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.056056754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.056426784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.056449194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"19","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.057229434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:31.057272354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:31.059530234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:31.059554734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.059872794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.059911424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"20","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.066418374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.066488754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.066546834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.068103884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.071460314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.071511424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.072597054Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"sent timer-based collection request to the collection task","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.074284294Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:31.074555214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"batch interval expired, but no samples to insert","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.074589154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.078603784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.078674084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.080755944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.082232374Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:31.082856064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:31.082902144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:31.082923014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:31.083975914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.084201424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.084633764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.086734034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.086797334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.086824464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.086848304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.087140584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.089378124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.089494824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:31.089653914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.089717514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.090619764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.091603644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.094709654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.094922344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.094954204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.094976034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.094995564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.095011934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.097168254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.100178674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.100217584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.100235674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.100478074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.101226844Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.101288944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.101318674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.102220494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.149336834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.149958744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.150046484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.150160524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.150708624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.151922954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:48364"} {"msg":"failed to insert some results into metric DB","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:31.151969434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.152000824Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.152755494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"ff44bb49-85a2-4c7b-89da-a441680dfafa","remote_addr":"[::1]:48364","local_addr":"[::1]:43004","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-04T21:07:31.152804944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"ff44bb49-85a2-4c7b-89da-a441680dfafa","remote_addr":"[::1]:48364","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.152978164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"ff44bb49-85a2-4c7b-89da-a441680dfafa","remote_addr":"[::1]:48364","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":292,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.153299724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ff44bb49-85a2-4c7b-89da-a441680dfafa\", \"content-length\": \"102\", \"date\": \"Thu, 04 Jun 2026 21:07:31 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.153513784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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(9083252) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.153605934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.153625954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.153641884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":8,"elapsed":"98.57197ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.153787354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.158780334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.158845704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.158880734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:31.158907524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.158931684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.159197434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.162283144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.162373984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.162401094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.162704894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.166052514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.166107664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.166131834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.166927184Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.171319734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.177972864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.178302524Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.178388804Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.178945444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.183795124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.183894914Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:31.183923204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.183947594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.184521134Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.191379464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.191444154Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.191471654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.192173534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.195727474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.195810934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.195846834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.196389974Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.199443904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.207228814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.208848024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.208934344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:31.208996224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.209023694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.209794354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.213591074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.213670314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.213697584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.215981574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.222208344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.222429314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.222466264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.222720244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.225978494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.235213104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.235294454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.235321234Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.235708494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.242929744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.242991334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.243590614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.246182414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.246235214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.246686014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.248882624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.248955204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.249553624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.251462754Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.251506594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.251814224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.254447264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.254643654Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.254678044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.257378934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.261117344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:31.261246434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:31.261306854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.261350494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.263428124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.272487084Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.272565544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.272592494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.272950074Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.276882104Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.277026574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.277056004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.277919934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.282024784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.291865284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:31.291939174Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:31.292116434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:31.292207124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.292236324Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.292549434Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.298573694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.298635724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.298674724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.299090624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.301517984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.301562854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.301590994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.302480344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.307298284Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.313378994Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }","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-04T21:07:31.313469094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.313499784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.313835544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.318976634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.319033214Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.319550514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.323183354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.323248984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.323902354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.332041574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.332104124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.332449464Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.336630264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:31.336696614Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:31.336724584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.336752554Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.337227194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.340314884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.340372954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.340399444Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.341054644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.348731814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.348806004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.348835564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.349150164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.352217514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.361394034Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:31.361494224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:31.361529414Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:31.361556144Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.361580574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.362131604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.368720334Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.368830224Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.368880274Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.369408904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.373036744Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.373122894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.373187254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.373966304Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.377120094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.383691004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, 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-04T21:07:31.383810904Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.383857594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.384588024Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.392935684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","subnet_networks":"{}","subnet_interfaces":"{}","vpc_interfaces":"{Name(\"default\"): [NetworkInterface { id: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), 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-04T21:07:31.393185984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","sled_agent_rules":"[ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), 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: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), primary: true, slot: 0 }], filter_hosts: Some({Vpc(Vni(9083252))}), filter_ports: None, filter_protocols: None, action: Allow, priority: VpcFirewallRulePriority(65534) }, ResolvedVpcFirewallRule { status: Enabled, direction: Inbound, targets: [NetworkInterface { id: 3d077ded-e553-4868-80a2-f46748a8d8f1, kind: Instance { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2 }, 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(9083252), 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-04T21:07:31.393250004Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.393286514Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.393987724Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.398753864Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.398853664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.398880474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.403873384Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.404105544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:31.404612684Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.404666694Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.405137954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.409834784Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.409894124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.409922854Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.410383664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.413527774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.413588044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.413614014Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.413984114Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.416445984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.421822544Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.421986064Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.422024424Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.422099474Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.465821823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.465913353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.466385283Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.469235543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.469288713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.469311103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.469330533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.469842573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.473399783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.476558163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.478804873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"Some(Body)","uri":"http://[::1]:43004/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd","method":"PUT"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.478830213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:36934"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.478853613Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd","method":"PUT","req_id":"c5fc7104-fae0-4877-9bc8-7e533b110e41","remote_addr":"[::1]:36934","local_addr":"[::1]:43004","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-04T21:07:31.478874603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd","method":"PUT","req_id":"c5fc7104-fae0-4877-9bc8-7e533b110e41","remote_addr":"[::1]:36934","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"created","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.480125473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","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-04T21:07:31.476448013Z }, migration_in: None, migration_out: None }"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.482187273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd","method":"PUT","req_id":"c5fc7104-fae0-4877-9bc8-7e533b110e41","remote_addr":"[::1]:36934","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":3994,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.482454773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:43004/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"c5fc7104-fae0-4877-9bc8-7e533b110e41\", \"content-length\": \"131\", \"date\": \"Thu, 04 Jun 2026 21:07:31 GMT\"} })"} {"msg":"received new VMM runtime state from sled agent","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.482560043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.476448013Z }","propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.482594503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.482647543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.483177783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.489782713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.491136883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"cpu_platform\": String(\"AmdMilan\"), \"failure_reason\": Null, \"gen\": Number(2), \"id\": String(\"8937c1ce-9dac-4514-894a-b7d2385c1abd\"), \"instance_id\": String(\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"), \"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-04T21:07:30.632253Z\"), \"time_deleted\": Null, \"time_state_updated\": String(\"2026-06-04T21:07:31.476448013Z\")})","node_id":"20","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.494433073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.494494233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"21","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.498408373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"multicast member lifecycle transition: updating sled_id","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.498446893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.498576103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.498607913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.501577073Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.506021573Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.506115083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"21","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.509303213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.509350103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"22","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.513532433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.513592083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.514728393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.525463903Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.525496333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"22","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.529051493Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.529103923Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"23","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.532036063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.532097093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(InjectedError)","node_id":"23","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.535304253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.535363953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.539665473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.539728793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"22","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.543389433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.543451313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.544062953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.551998273Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.552061263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"22","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.556847953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.556899323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"21","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.560602123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"multicast member lifecycle transition: updating sled_id","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.560688183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.560719653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.560747563Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.561986323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.564254143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.564326873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"21","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.567226333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.567294013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"20","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.569550173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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":"8937c1ce-9dac-4514-894a-b7d2385c1abd","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.569611153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.569644743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.570141323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.572074243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.572123703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.572598183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.574325583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.574377593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.574689543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.576703743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.576758873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:31.576784793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.576873423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.577143243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.579855433Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.579930543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.579958763Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.580844833Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.583689233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.583736403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.583761873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.584109223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.586607333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.591370003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"EnsureRegistered","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.624456193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.624561483Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.624960053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.625971623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_loader","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-04T21:07:31.626367773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.626417013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.626440263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.626460053Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.626855313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.627574183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"physical_disk_adoption","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","iteration":4,"reason":"Timeout"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.627647153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":4,"elapsed":"58.5µs"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.628611343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.628673113Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.628695643Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.628715303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.629031873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.629672863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.632473343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.632520043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.632541193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.632710013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.634024123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.636116453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.636198863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:43004/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd","method":"DELETE"} {"msg":"latest inventory collection is unchanged","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.636534743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"original_time_started":"2026-06-04 21:07:16.155739 UTC","original_id":"43d786cf-bac4-4b77-838d-c3e5f37324ba","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-04T21:07:31.636572103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"inventory_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"Loaded\":{\"collection_id\":\"43d786cf-bac4-4b77-838d-c3e5f37324ba\",\"time_loaded\":\"2026-06-04T21:07:31.626335933Z\",\"time_started\":\"2026-06-04T21:07:16.155739Z\"}}","iteration":5,"elapsed":"10.61469ms"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.636753823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:33993"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.637043263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd","method":"DELETE","req_id":"84f182b8-280b-478d-8a57-f6453cbe6b6f","remote_addr":"[::1]:33993","local_addr":"[::1]:43004","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-04T21:07:31.637064593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd","method":"DELETE","req_id":"84f182b8-280b-478d-8a57-f6453cbe6b6f","remote_addr":"[::1]:33993","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.637278753Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd","method":"DELETE","req_id":"84f182b8-280b-478d-8a57-f6453cbe6b6f","remote_addr":"[::1]:33993","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":246,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.637414123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"SledAgent":"b6d65341-167c-41df-9b5c-41cded99c229","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:43004/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"84f182b8-280b-478d-8a57-f6453cbe6b6f\", \"content-length\": \"149\", \"date\": \"Thu, 04 Jun 2026 21:07:31 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.637647793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.637664243Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"20","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.642051323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.642094513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"19","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.644404783Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.646354883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.646408733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.646978773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.647595353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.647642713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"19","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.649865143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.649885623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"18","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.652035283Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.652069513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.652088393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.652608793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"start saga: undoing dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.653601163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.653636713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.653666403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.654033013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.655232963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.655532993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.655657353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.656511553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.656553873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.656575143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.656590913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.657106533Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.658175673Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.658491603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.661933063Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.662983333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.663115473Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.663205323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.663227793Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.663419313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.665672523Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"phantom_disks","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-04T21:07:31.666161543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgd._tcp.control-plane.oxide.internal"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.666831253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.666865873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.667201823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.667831503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5389","req_id":"0d99f003-fb06-450f-af52-a063c79317f0","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 20 93 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-04T21:07:31.667870403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5389","req_id":"0d99f003-fb06-450f-af52-a063c79317f0","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 8339,\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-04T21:07:31.669884313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.670533873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.670588293Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5389","req_id":"0d99f003-fb06-450f-af52-a063c79317f0","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: 64395, 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-04T21:07:31.671013103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1119, tv_nsec: 132927846 } })","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-04T21:07:31.671049173Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.671125183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:48426","req_id":"00ae4d83-62ca-4912-91ae-8f84b20ff264","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: d8 bc 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-04T21:07:31.671173773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:48426","req_id":"00ae4d83-62ca-4912-91ae-8f84b20ff264","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 55484,\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-04T21:07:31.671237093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.671300233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.671320203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:48426","req_id":"00ae4d83-62ca-4912-91ae-8f84b20ff264","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: 54691, 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-04T21:07:31.671581543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 54691, 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: 1119, tv_nsec: 133521626 } })","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-04T21:07:31.671613413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.671752003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5484","req_id":"d8c27e65-1ab1-4969-b67a-e3fa60729148","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 6f 0f 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-04T21:07:31.671783713Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5484","req_id":"d8c27e65-1ab1-4969-b67a-e3fa60729148","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 28431,\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-04T21:07:31.671872883Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.671886123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:5484","req_id":"d8c27e65-1ab1-4969-b67a-e3fa60729148","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-04T21:07:31.744780003Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","background_task":"nat_garbage_collector","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.745242333Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:14713","req_id":"9e04ae80-eb5c-409a-9594-749d764581ae","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 5c f5 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-04T21:07:31.745410043Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:14713","req_id":"9e04ae80-eb5c-409a-9594-749d764581ae","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 23797,\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-04T21:07:31.745556633Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.745575873Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:14713","req_id":"9e04ae80-eb5c-409a-9594-749d764581ae","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-04T21:07:31.746027143Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.749907373Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.749958183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.750002993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.750025413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.750044823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.750492393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.757992832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"92.308889ms"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.758053822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.758093522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:31.758120182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.758143342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.758558542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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":10,"time":"2026-06-04T21:07:31.823536472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:54691/switch/identifiers","method":"GET"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.824499222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.824545012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.824594812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.824617582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.824637312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.825212572Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.828461152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.831093092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.831133252Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.831153452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.831523662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.834328942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.834377002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.834402332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.835365452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.837269642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.840384502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.840414952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.840438092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.840653992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.841490432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.841529222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.841553922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.841837072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.892853472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.893889452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:56944"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.894013452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d6ed5fd5-2fc8-4d2a-a6be-c931f64cec02\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:31 GMT\"} })"} {"msg":"dendrite for switch1 is unavailable, cannot perform nat cleanup","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-04T21:07:31.894175452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.894287952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"242.253909ms"} {"msg":"reconfigurator config load complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.897022302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:01.450767Z })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.897089212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"reconfigurator_config_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{\"config_updated\":false}","iteration":7,"elapsed":"72.56333ms"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.897631292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"ba2ebc69-773c-48b6-b934-385609d20b30","remote_addr":"[::1]:56944","local_addr":"[::1]:43004","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-04T21:07:31.897665492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"ba2ebc69-773c-48b6-b934-385609d20b30","remote_addr":"[::1]:56944","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.897720332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.897784902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.897806802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.898845922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.901859782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.901946352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.901971742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.901994032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.902025742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.902330842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.903038882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:54691/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"4664441f-e1c8-4541-b919-0ab0a06345c7\", \"content-length\": \"10\", \"date\": \"Thu, 04 Jun 2026 21:07:31 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.903268122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:54691/bfd/peers","method":"GET"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.903794822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"ba2ebc69-773c-48b6-b934-385609d20b30","remote_addr":"[::1]:56944","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":6161,"response_code":200} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.904054182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:31.908127772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:31.908183782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.908200442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.908224472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.908423642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.909656272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:54691/bfd/peers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a961f75e-1831-445f-be4b-15d50902f655\", \"content-length\": \"2\", \"date\": \"Thu, 04 Jun 2026 21:07:31 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.909857562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"bfd_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":2,"elapsed":"253.522829ms"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.909922322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ba2ebc69-773c-48b6-b934-385609d20b30\", \"content-length\": \"102\", \"date\": \"Thu, 04 Jun 2026 21:07:31 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.910010882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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(9083252) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:31.910033812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.910051142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.910068302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":9,"elapsed":"265.698529ms"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.910241202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.912206292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.912241972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.912263242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.912434532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.913132932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.913266742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.913419592Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.913440292Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.913940542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.915245872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.915296622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.915806602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.916910602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.916984342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.917009732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.917456272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.924470202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.927500482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.927606152Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.927627842Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.927851722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.928597082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.928988062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.929051102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.929241662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"silo_id":"001de000-5110-4000-8000-000000000000","silo_user_id":"001de000-05e4-4000-8000-000000004007","type":"silo_user","authenticated":true,"saga_node":"DpdEnsure","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","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-04T21:07:31.930219562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.930262632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.930278552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"63.62µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.930301032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.930318272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.930404682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.930462282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.930479022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.930499382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.930519702Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.930538062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.930717852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.931408922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.931437072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.931590532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.932600932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4819","req_id":"6d106662-72b3-41bb-ad45-d59e6bd1c5a8","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 99 ac 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-04T21:07:31.932691482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4819","req_id":"6d106662-72b3-41bb-ad45-d59e6bd1c5a8","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 39340,\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-04T21:07:31.932868532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.933120402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.933159652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:4819","req_id":"6d106662-72b3-41bb-ad45-d59e6bd1c5a8","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: 64395, 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-04T21:07:31.938086972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.940294852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.940348142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.940370882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.940391362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.940410052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.940546342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.941262642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.941291732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.941559992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:31.942102812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.942157712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.942368222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.944644092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1119, tv_nsec: 406433105 } })","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-04T21:07:31.944697092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.945166982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:45292","req_id":"02a104de-cecc-4cd2-a09a-b6441e13e834","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: 1f 21 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-04T21:07:31.945270642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:45292","req_id":"02a104de-cecc-4cd2-a09a-b6441e13e834","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 7969,\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-04T21:07:31.945430832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.945522882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.945555722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:45292","req_id":"02a104de-cecc-4cd2-a09a-b6441e13e834","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: 44179, 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-04T21:07:31.946047482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.948351782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.948406352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.948428922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.948843052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.949606162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.949635782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:31.949988982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:31.951709432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 44179, 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: 1119, tv_nsec: 413568245 } })","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-04T21:07:31.951764272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"VPC route manager sled b6d65341-167c-41df-9b5c-41cded99c229","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.014954882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.020328062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc-routes","method":"GET"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.021008242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.021765772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.021820802Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.021845822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.021911072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.024225042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.025162132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.025201932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.025229482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.025252612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.025536552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.026989792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:57613"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.027720902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.027758092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.028007942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"76.36µs"} {"msg":"activating","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.028065722Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.028084622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.028106462Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.028127262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.028147672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.028269772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.028763002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.028787312Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.028807402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.029000342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.029316612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.029345002Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.029507502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:44937","req_id":"c5047027-d815-45c9-a00b-5049060e064d","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 98 c5 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-04T21:07:32.029557182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:44937","req_id":"c5047027-d815-45c9-a00b-5049060e064d","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 39109,\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-04T21:07:32.029707172Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.029981892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:44937","req_id":"c5047027-d815-45c9-a00b-5049060e064d","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-04T21:07:32.031008692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.033834772Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.033984532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.034024112Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.034827042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.035907982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.035992012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.036019792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.036041602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.036246082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.037168682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.039637932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.039701402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.039734192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.039757862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.039780042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.040091272Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.041133432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.043888582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.043920402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.043938492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.044116582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"Determining switch slots managed by switch zones","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.045148652Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.045195872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_mgs._tcp.control-plane.oxide.internal"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.045595822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"0b480ce9-3c8a-4191-a106-ad0d22c1ca59","remote_addr":"[::1]:57613","local_addr":"[::1]:43004","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-04T21:07:32.045667392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"0b480ce9-3c8a-4191-a106-ad0d22c1ca59","remote_addr":"[::1]:57613","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.045770182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:52205","req_id":"cc81a004-b481-45e0-a849-c3dec0b59344","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: a5 ea 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-04T21:07:32.045833302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:52205","req_id":"cc81a004-b481-45e0-a849-c3dec0b59344","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 42474,\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-04T21:07:32.045986082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.046096442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:52205","req_id":"cc81a004-b481-45e0-a849-c3dec0b59344","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-04T21:07:32.046191492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18633","req_id":"38cb7a4f-6239-47ff-8d62-10c4fba2817c","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 67 3e 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 g>..........._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-04T21:07:32.046218072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18633","req_id":"38cb7a4f-6239-47ff-8d62-10c4fba2817c","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 26430,\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-04T21:07:32.046292522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.046306792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.046321072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18633","req_id":"38cb7a4f-6239-47ff-8d62-10c4fba2817c","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: 64395, 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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.047608812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"GET","req_id":"0b480ce9-3c8a-4191-a106-ad0d22c1ca59","remote_addr":"[::1]:57613","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":2036,"response_code":200} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.047866872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.119888192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.119977482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.120002182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.120024372Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.120507622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.124878302Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1119, tv_nsec: 586677725 } })","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-04T21:07:32.124954662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.125063122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:7216","req_id":"9e53bfd1-f88d-46b1-8f00-8263a60fe535","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: cc dd 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-04T21:07:32.125117022Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:7216","req_id":"9e53bfd1-f88d-46b1-8f00-8263a60fe535","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 52445,\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-04T21:07:32.125303752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.125398682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.125496142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:7216","req_id":"9e53bfd1-f88d-46b1-8f00-8263a60fe535","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: 64395, 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":20,"time":"2026-06-04T21:07:32.125727142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc-routes\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0b480ce9-3c8a-4191-a106-ad0d22c1ca59\", \"content-length\": \"152\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.125895432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.125944732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.129491742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.130654862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.132331682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.132495472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.134514122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.134562362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.134582912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.134803992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.135595762Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"fm_sitrep_loader","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"\"NoSitrep\"","iteration":3,"elapsed":"107.74869ms"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.136820402Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1119, tv_nsec: 598678975 } })","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-04T21:07:32.136855542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"refreshing list of producers from Nexus","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.137039732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"collector_ip":"::1","collector_id":"39e6175b-4df2-4730-b11d-cbc1e60a2e78","component":"oximeter-agent","file":"oximeter/collector/src/agent.rs:565","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-04T21:07:32.137229812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.137504992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:62520","req_id":"2d6de83b-5c4b-4f1d-abef-87a7154147d8","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: b5 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-04T21:07:32.137605712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:62520","req_id":"2d6de83b-5c4b-4f1d-abef-87a7154147d8","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 46367,\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-04T21:07:32.137760442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.137858132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.137897612Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:62520","req_id":"2d6de83b-5c4b-4f1d-abef-87a7154147d8","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: 44179, 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-04T21:07:32.137960412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18882","req_id":"a24cf607-a477-408d-a548-dc9b0d4a6529","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: cf b6 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-04T21:07:32.137988472Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18882","req_id":"a24cf607-a477-408d-a548-dc9b0d4a6529","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 53174,\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-04T21:07:32.138065662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.138109962Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.138130362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:18882","req_id":"a24cf607-a477-408d-a548-dc9b0d4a6529","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: 64395, 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":"collecting from producer","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.139926682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.140158102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"batch interval expired, but no samples to insert","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.140209182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink-cluster","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-04T21:07:32.140590432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.148264742Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.148355102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.148377162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.148677422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.149806432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET"} {"msg":"unrolling 1 total samples","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.150214342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:32.151386102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:32.151421202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":20,"time":"2026-06-04T21:07:32.209878072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p","method":"GET"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.211353622Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 44179, 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: 1119, tv_nsec: 673166735 } })","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-04T21:07:32.211449212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","name":"Name(\"dendrite-b6d65341-167c-41df-9b5c-41cded99c229.host.control-plane.oxide.internal.\")"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.211684812Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:35474"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.211885282Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"383d9a8b-e89d-4343-946b-6b5661f10b14","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:32.211915432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"383d9a8b-e89d-4343-946b-6b5661f10b14","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:32.212616322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:32.214094042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.214749972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6484c3df-3c42-4224-886c-fdda849baeb9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:32.214828442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6484c3df-3c42-4224-886c-fdda849baeb9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.215501632Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1119, tv_nsec: 677342705 } })","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-04T21:07:32.215540122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.215659752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:59700","req_id":"285edc2e-9e59-4907-be69-53e48cce8d01","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: c8 a8 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-04T21:07:32.215709322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:59700","req_id":"285edc2e-9e59-4907-be69-53e48cce8d01","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 51368,\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-04T21:07:32.216625502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.216696792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:59700","req_id":"285edc2e-9e59-4907-be69-53e48cce8d01","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.217280352Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"383d9a8b-e89d-4343-946b-6b5661f10b14","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:32.217332602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"383d9a8b-e89d-4343-946b-6b5661f10b14","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:32.217364432Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"383d9a8b-e89d-4343-946b-6b5661f10b14","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:32.218604452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6484c3df-3c42-4224-886c-fdda849baeb9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:32.218670242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6484c3df-3c42-4224-886c-fdda849baeb9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:32.221211262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"6484c3df-3c42-4224-886c-fdda849baeb9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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":"computed internet gateway mappings for sled","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.225976212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","assocs":"{3d077ded-e553-4868-80a2-f46748a8d8f1: {10.0.0.0: {939f7800-5574-4122-ac87-48bfd1afefe4}}}","sled":"SimGimlet00"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.226086212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/eip-gateways","method":"PUT"} {"msg":"checking on VMM","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.270601082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.270701452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd/state","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.271546862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"07bd9117-3f23-48b0-8658-1abbc68b3ffb","remote_addr":"[::1]:35474","local_addr":"[::1]:43004","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-04T21:07:32.271623792Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"07bd9117-3f23-48b0-8658-1abbc68b3ffb","remote_addr":"[::1]:35474","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.320326872Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/switch/identifiers","method":"GET"} {"msg":"accepted connection","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.320491442Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","remote_addr":"[::1]:35653"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.320808712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"b06937e8-6ad3-4f93-b17a-606611bc6683","remote_addr":"[::1]:57613","local_addr":"[::1]:43004","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-04T21:07:32.320851132Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"b06937e8-6ad3-4f93-b17a-606611bc6683","remote_addr":"[::1]:57613","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.322784672Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:13829","req_id":"7c0a9f0e-4599-4a6b-9924-ccb844aaf0ae","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: ff 5e 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-04T21:07:32.322823832Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:13829","req_id":"7c0a9f0e-4599-4a6b-9924-ccb844aaf0ae","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 65374,\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-04T21:07:32.322913512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.322968642Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:13829","req_id":"7c0a9f0e-4599-4a6b-9924-ccb844aaf0ae","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.325503332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:32.326101162Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:32.326182712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:32.326203092Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:32.326221542Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/v2p","method":"GET","req_id":"07bd9117-3f23-48b0-8658-1abbc68b3ffb","remote_addr":"[::1]:35474","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":54611,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.326403332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/eip-gateways","method":"PUT","req_id":"b06937e8-6ad3-4f93-b17a-606611bc6683","remote_addr":"[::1]:57613","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":5546,"response_code":204} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.326859142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending","method":"GET","req_id":"6484c3df-3c42-4224-886c-fdda849baeb9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":112257,"response_code":200} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.327185692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/nat/ipv4/changeset/0?limit=100","method":"GET","req_id":"383d9a8b-e89d-4343-946b-6b5661f10b14","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":115333,"response_code":200} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.329891242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:32.329943192Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:32.379345102Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.379935892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd/state","method":"GET","req_id":"d04277d1-f7a0-4435-8ae8-059bd282a33e","remote_addr":"[::1]:35653","local_addr":"[::1]:43004","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-04T21:07:32.380006422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd/state","method":"GET","req_id":"d04277d1-f7a0-4435-8ae8-059bd282a33e","remote_addr":"[::1]:35653","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.380033902Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:34454","req_id":"eae5441c-d558-4c73-9d1b-a9f5cbe3e07e","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 56 b1 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e V...........-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-04T21:07:32.380187222Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:34454","req_id":"eae5441c-d558-4c73-9d1b-a9f5cbe3e07e","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 22193,\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-04T21:07:32.380428072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.380653532Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:34454","req_id":"eae5441c-d558-4c73-9d1b-a9f5cbe3e07e","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-04T21:07:32.380774512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:11554","req_id":"53c06f22-90fd-4595-a778-f331c986ae8a","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 04 7f 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-04T21:07:32.380818242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:11554","req_id":"53c06f22-90fd-4595-a778-f331c986ae8a","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 1151,\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-04T21:07:32.380906042Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.380922322Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:11554","req_id":"53c06f22-90fd-4595-a778-f331c986ae8a","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-04T21:07:32.380949732Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/eip-gateways\", status: 204, headers: {\"x-request-id\": \"b06937e8-6ad3-4f93-b17a-606611bc6683\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.380980012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.381000382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.381289062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.382107512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?sort_by=id_ascending\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6484c3df-3c42-4224-886c-fdda849baeb9\", \"content-length\": \"405\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.382301942Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","body":"None","uri":"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.382469182Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/v2p\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"07bd9117-3f23-48b0-8658-1abbc68b3ffb\", \"content-length\": \"102\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"found opte v2p mappings","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.382574502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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(9083252) }}","sled":"SimGimlet00"} {"msg":"v2p mappings to delete","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.382597852Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.382614822Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.382690662Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"v2p_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":10,"elapsed":"465.77779ms"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.383439032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd/state","method":"GET","req_id":"d04277d1-f7a0-4435-8ae8-059bd282a33e","remote_addr":"[::1]:35653","local_addr":"[::1]:43004","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 8937c1ce-9dac-4514-894a-b7d2385c1abd not found","latency_us":3507,"response_code":404} {"msg":"incoming request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.384599242Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"7284ab42-9773-46c1-bacd-c8bd62c9dba9","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:32.384722122Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"7284ab42-9773-46c1-bacd-c8bd62c9dba9","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:32.386013752Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"f93d6cf0-fdb3-4791-9e3b-06fc77b2acf9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:32.386061862Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"f93d6cf0-fdb3-4791-9e3b-06fc77b2acf9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","version":"1.0.0"} {"msg":"determining switch slot managed by switch zone","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.451899911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.451985091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:44179/local/switch-id","method":"GET"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.504957081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.505639941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6c20d47f-14a0-48f5-b307-fb1d84da3a4d\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.505701641Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/rpw/nat/trigger","method":"POST"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.507398781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"7284ab42-9773-46c1-bacd-c8bd62c9dba9","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:32.507627841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"7284ab42-9773-46c1-bacd-c8bd62c9dba9","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:32.508096651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"7284ab42-9773-46c1-bacd-c8bd62c9dba9","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","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-04T21:07:32.509071861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"f93d6cf0-fdb3-4791-9e3b-06fc77b2acf9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:32.509159411Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"f93d6cf0-fdb3-4791-9e3b-06fc77b2acf9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:32.509468051Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"f93d6cf0-fdb3-4791-9e3b-06fc77b2acf9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","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-04T21:07:32.510305391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vmms/8937c1ce-9dac-4514-894a-b7d2385c1abd/state\", status: 404, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d04277d1-f7a0-4435-8ae8-059bd282a33e\", \"content-length\": \"120\", \"date\": \"Thu, 04 Jun 2026 21:07:32 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-04T21:07:32.510446761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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\": \"d04277d1-f7a0-4435-8ae8-059bd282a33e\", \"content-length\": \"120\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"}; value: Error { error_code: Some(\"NO_SUCH_INSTANCE\"), message: \"Not Found\", request_id: \"d04277d1-f7a0-4435-8ae8-059bd282a33e\" }"} {"msg":"updating instance state","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.510552931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.510466891Z }, 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-04T21:07:32.510584161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.510466891Z }","propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.510613951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.510638251Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.511344381Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.523585221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:32.523643091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"database-inserter","component":"results-sink","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":10,"time":"2026-06-04T21:07:32.523890761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/rpw/nat/trigger\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5b8ed406-c0ae-4926-97d3-deb0be5a261f\", \"content-length\": \"4\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.524108471Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"service_zone_nat_tracker","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"3","iteration":2,"elapsed":"626.355269ms"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.524358501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"3c691cde-23c0-4498-9b77-58fb8105cd77\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.524602651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","background_task":"populate_switch_ports","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/ports","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.525090201Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.525117901Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.526225131Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.530255481Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D","method":"GET","req_id":"f93d6cf0-fdb3-4791-9e3b-06fc77b2acf9","remote_addr":"127.0.0.1:33681","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":144230,"response_code":200} {"msg":"sitrep GC completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.530354281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.530544651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"501.759759ms"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.530732701Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/nat/ipv4/changeset/13?limit=100","method":"GET","req_id":"7284ab42-9773-46c1-bacd-c8bd62c9dba9","remote_addr":"127.0.0.1:34075","local_addr":"127.0.0.1:56440","component":"dropshot_internal","name":"913233fe-92a8-4635-9572-183f495429c4","latency_us":146123,"response_code":200} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.541280211Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"oximeter","result":"Ok(Response { url: \"http://127.0.0.1:56440/metrics/collectors/39e6175b-4df2-4730-b11d-cbc1e60a2e78/producers?page_token=eyJ2IjoidjEiLCJwYWdlX3N0YXJ0Ijp7InNvcnRfYnkiOiJpZF9hc2NlbmRpbmciLCJsYXN0X3NlZW4iOiJhNjQ1OGI3ZC04N2MzLTQ0ODMtYmU5Ni04NTRkODE0YzIwZGUifX0%3D\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f93d6cf0-fdb3-4791-9e3b-06fc77b2acf9\", \"content-length\": \"29\", \"date\": \"Thu, 04 Jun 2026 21:07:32 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-04T21:07:32.543451851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.543533711Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.543553401Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.543595291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/ports\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d91be881-4562-46af-86c9-6b141725cde2\", \"content-length\": \"564\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"discovered ports for switch","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.544423111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.544593121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.544687601Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.546876491Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":10,"time":"2026-06-04T21:07:32.550800691Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"cab932f5-4123-44de-bff1-5a47d0b834fb\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.551874951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.551928331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"18","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.554156481Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.554236241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.555149801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.559453161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:44179/local/switch-id\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"28852883-0511-40d8-9de3-532d7a2f7978\", \"content-length\": \"26\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"identified switch slot for switch zone","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.559609541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.559713181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.664270731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.668135891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.668212861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"17","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.669664101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.669723111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.670744431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"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-04T21:07:32.672460011Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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":"8937c1ce-9dac-4514-894a-b7d2385c1abd"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.672510571Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.672549501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.673409781Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.674649691Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.674706351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.675207521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.675821291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.675869521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"17","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.678091661Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:10757","req_id":"0ec0f1d0-9dab-4735-b5e3-397cf2bdddd7","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: f7 d8 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-04T21:07:32.678173251Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:10757","req_id":"0ec0f1d0-9dab-4735-b5e3-397cf2bdddd7","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 63448,\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-04T21:07:32.678335891Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.678442731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.678483791Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:10757","req_id":"0ec0f1d0-9dab-4735-b5e3-397cf2bdddd7","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: 64395, 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-04T21:07:32.679277271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1120, tv_nsec: 141165454 } })","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-04T21:07:32.679372091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.679906941Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.679967811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.680486511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.682658721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.682700061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.684037351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.684696961Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.684731351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.685208361Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.686263461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.686334081Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"6","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.692307331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.692429681Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.697151931Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.699242261Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.699287831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.700285101Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.703286151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.703389421Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"6","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.706694021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:32.706867291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","background_task":"instance_watcher","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:32.706913541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.706939061Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.708198461Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.709965521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:30600","req_id":"14b608d9-af34-4b09-860a-eaf20e7fef09","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 3a cd 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-04T21:07:32.710075311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:30600","req_id":"14b608d9-af34-4b09-860a-eaf20e7fef09","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 15053,\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-04T21:07:32.710343741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.710432221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:30600","req_id":"14b608d9-af34-4b09-860a-eaf20e7fef09","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":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.710742181Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }, key: b0e04803-52a9-4204-9172-b635f80077bd, lookup_type: ById(b0e04803-52a9-4204-9172-b635f80077bd) }","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-04T21:07:32.710864841Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:32.710891161Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.710912151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.711222271Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.720613291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.720686031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"7","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.77045973Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/switch/identifiers","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.77419262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.77427655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.7743008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.77470623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.77562934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.77568335Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.77574086Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.77597439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.7768385Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.77691906Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"7","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.7797399Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.77978871Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.78017979Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.78090413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.78097704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.78100441Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.78134204Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.78196995Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.78199889Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.78202029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.78239811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.78390108Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.78394323Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"8","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.78491896Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"11eb101f-033b-460e-aa40-bb567d9ceac5\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.78505062Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.78549831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.79171379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }, key: b0e04803-52a9-4204-9172-b635f80077bd, lookup_type: ById(b0e04803-52a9-4204-9172-b635f80077bd) }","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-04T21:07:32.79178191Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.79180393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }, key: b0e04803-52a9-4204-9172-b635f80077bd, lookup_type: ById(b0e04803-52a9-4204-9172-b635f80077bd) }","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-04T21:07:32.79183497Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:32.79185761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.79189371Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.79223016Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.79327869Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.79960976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:32.79971106Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"vmm_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","sled_serial":"SimGimlet00","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2","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-04T21:07:32.7997331Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.79975096Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.80066909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"start-instance-update","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"lookup_type\":{\"ById\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"},\"parent\":{\"key\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"lookup_type\":{\"ById\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"},\"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-04T21:07:32.80074971Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"start-instance-update","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.8016727Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.80171535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"8","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.80592813Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.80598965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.80601362Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.80648932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.80805118Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.80810076Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"start-instance-update","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.80812311Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.80814218Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"9","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.80866811Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.80871459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.80953315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:17663","req_id":"a48fcad1-9447-4ede-ba12-50035873ae56","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 67 (0x43) bytes\n0000: db 83 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-04T21:07:32.80960704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:17663","req_id":"a48fcad1-9447-4ede-ba12-50035873ae56","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 56195,\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-04T21:07:32.80984963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.80987741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.80992817Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:17663","req_id":"a48fcad1-9447-4ede-ba12-50035873ae56","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: 54691, 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":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.81014378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.81017111Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.8101917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.81070645Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.81144741Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.81150314Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"3","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.81182653Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.81193244Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"9","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","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":20,"time":"2026-06-04T21:07:32.81274704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 54691, 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: 1120, tv_nsec: 274635843 } })","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-04T21:07:32.81280208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.81510408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.82519552Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }, key: b0e04803-52a9-4204-9172-b635f80077bd, lookup_type: ById(b0e04803-52a9-4204-9172-b635f80077bd) }","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-04T21:07:32.82528637Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.82530963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.82563835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.82703459Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.82709041Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"10","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.82766704Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.82769674Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.82882018Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:56016","req_id":"13d70b48-e4e9-4fd2-be75-da34765dbb42","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: ec e8 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-04T21:07:32.82892676Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:56016","req_id":"13d70b48-e4e9-4fd2-be75-da34765dbb42","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 60648,\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-04T21:07:32.8291439Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.82918227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:56016","req_id":"13d70b48-e4e9-4fd2-be75-da34765dbb42","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":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.83069819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.83073997Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"10","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.83128846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.83130996Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"49a03f07-670b-4989-bbf6-80cfd0309552\"))","node_id":"0","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.83194291Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.83197574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.83290629Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.87467213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:54691/switch/identifiers","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.87555206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.87560687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"11","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.87630478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.87634949Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.8767339Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.87677231Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.87720128Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.87926213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.8793498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.88026044Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 update: attempting to lock instance","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.88061801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_id":"49a03f07-670b-4989-bbf6-80cfd0309552","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.88068216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.88071121Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.88122345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.88197412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.8820142Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.88303913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.88493711Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.88501451Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"11","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.8882301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:54691/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"54cd540a-65aa-4ec4-bead-098ed25ec87d\", \"content-length\": \"10\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.88835801Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.88840511Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.88884031Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.89073233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.89078569Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.89080397Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.89124726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.89128541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.89416603Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.89507225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.89511751Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"12","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"no DPD client for switch switch_slot","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-04T21:07:32.89715354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.89731967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/port/qsfp1/settings?tag=omicron","method":"GET"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.89763103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.89769341Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.89799412Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.8986952Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }, key: 1ec7dbda-aa58-442b-ad61-875bd0dce882, lookup_type: ById(1ec7dbda-aa58-442b-ad61-875bd0dce882) }","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-04T21:07:32.89873721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:32.89875925Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.89877954Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.89907468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.89998217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90002932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"12","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.90099521Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/port/qsfp1/settings?tag=omicron\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"5fe71933-a82c-4945-a5b5-90c8f15fa438\", \"content-length\": \"12\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"retrieved port settings from switch","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.90105682Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90108453Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90111765Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90113771Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/port/qsfp0/settings?tag=omicron","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.90137568Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90141403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90143494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90170631Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90235562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:32.90243133Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:32.90247908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.9025052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.90262909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.9035353Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90358885Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"13","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.90468863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90473131Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90604618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90771593Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90777345Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.9078392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.90842955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.9096878Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.90973163Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.90976281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.91020984Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.91148089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/port/qsfp0/settings?tag=omicron\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e2f98669-f807-4b3e-ae7e-ce401902bb4f\", \"content-length\": \"12\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"retrieved port settings from switch","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.91156934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.91162349Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.91164589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.91175863Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/port/qsfp2/settings?tag=omicron","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.915536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.91557241Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"13","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.91839186Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/port/qsfp2/settings?tag=omicron\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"7938c9ab-4204-4eb2-9905-71f0ccf0ca96\", \"content-length\": \"12\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"retrieved port settings from switch","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.91849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.91851436Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.91853555Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.91871894Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:54691/static/route4","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.91927488Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.92703815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }, key: 1ec7dbda-aa58-442b-ad61-875bd0dce882, lookup_type: ById(1ec7dbda-aa58-442b-ad61-875bd0dce882) }","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-04T21:07:32.92712829Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.92714809Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.92717156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.92740405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.92821877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.92828315Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.92831057Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.92853977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.92930951Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.92933988Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"14","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.93054548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:54691/static/route4\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"ebf84b08-94d2-4113-a95c-29b119823de5\", \"content-length\": \"2\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.93061977Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:54691/static/route6","method":"GET"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.9309319Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.93535985Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:32.93543618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.93546164Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","current_gen":"Generation(Generation(1))","updater_id":"49a03f07-670b-4989-bbf6-80cfd0309552","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.93548913Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.93551734Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.93563843Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.93644005Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93650944Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93674071Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.937403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93745099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"14","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.93832393Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:54691/static/route6\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"75aa82b0-7b7a-4f36-983b-aee30f3b0ed5\", \"content-length\": \"2\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"retrieved existing routes","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.93840405Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93843019Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93845503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93849806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93852013Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93853773Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93856059Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93874712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93942095Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93946843Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.93963835Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.94892492Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.94897934Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"15","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","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-04T21:07:32.95038225Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","current_gen":"Generation(Generation(1))","updater_id":"49a03f07-670b-4989-bbf6-80cfd0309552","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.95042344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.95045478Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.9513965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.952469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.95255105Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.95290484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.95373253Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/loopback/ipv4","method":"GET"} {"msg":"client response","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.95453995Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/loopback/ipv4\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e32e603f-896e-4f2c-9188-e4e34a64e66c\", \"content-length\": \"2\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.95466807Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/loopback/ipv6","method":"GET"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.95542038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.95544905Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"15","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"instance updater lock acquired!","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.95653139Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"LockInstance","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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":"49a03f07-670b-4989-bbf6-80cfd0309552","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"instance update: lock acquired!","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:32.95659848Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","lock":"UpdaterLock { updater_id: 49a03f07-670b-4989-bbf6-80cfd0309552, locked_gen: Generation(Generation(2)) }","saga_id":"49a03f07-670b-4989-bbf6-80cfd0309552","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.95662082Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.95663923Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"locked_gen\": Number(2), \"updater_id\": String(\"49a03f07-670b-4989-bbf6-80cfd0309552\")})","node_id":"1","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.95758541Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }, key: 1ec7dbda-aa58-442b-ad61-875bd0dce882, 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-04T21:07:32.95767692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:32.95771039Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.95773239Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.95839562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.95954733Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.95957615Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"16","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.96123418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:64395/loopback/ipv6\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"38060d97-9623-4bdb-9247-0431bbe901a7\", \"content-length\": \"2\", \"date\": \"Thu, 04 Jun 2026 21:07:32 GMT\"} })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:32.96136735Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.96139258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.9614127Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.9621908Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.96228758Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.96273512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.96278223Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.96282887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.96308452Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.96378126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.96382875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"16","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.96563798Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:32.9657008Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:32.96573009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.96576206Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.96628736Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.96716731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.96720777Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.96733202Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.96760716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.96848775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.968574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.96968006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.96974166Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.96977567Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.97013782Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.970731Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.9707825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.97102712Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:32.97150897Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.97658765Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }, key: 1ec7dbda-aa58-442b-ad61-875bd0dce882, 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-04T21:07:32.9766892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.97670831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.97673256Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.97686029Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.97757868Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.97763719Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.97817876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.97821625Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.97847281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.97945639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.97950774Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.97953403Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.98018427Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:32.98163849Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.98167759Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.98239639Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.98439583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.98445267Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:32.98559875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.98563037Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.98606303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:32.98846344Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:33.00813726Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:33.0083009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:33.00835484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:33.00870379Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"FetchStateAndStartRealSaga","saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","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-04T21:07:33.01012884Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.0101775Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.01070536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"start saga failed; returning instance to Stopped","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.01187728Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"no bootstore config found in db","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:33.01290515Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.01293976Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.01296247Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.01341097Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.01721475Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.01727011Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.01773911Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"updating bootstore config","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.01938699Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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({016ea0cd-3786-4fd3-8ee5-f86c4d6df841 (omicron_zone): ServiceZoneNatEntry { zone_id: 016ea0cd-3786-4fd3-8ee5-f86c4d6df841 (omicron_zone), sled_underlay_ip: ::1, nic_mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 0])), vni: Vni(100), kind: ExternalDns { external_ip: ::1 } }, 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 } }, b2860509-35ad-4395-bfee-8c1ad2330001 (omicron_zone): ServiceZoneNatEntry { zone_id: b2860509-35ad-4395-bfee-8c1ad2330001 (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 } } }}) }) }"} {"msg":"client request","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.01948017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.0200009Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.02003418Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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({016ea0cd-3786-4fd3-8ee5-f86c4d6df841 (omicron_zone): ServiceZoneNatEntry { zone_id: 016ea0cd-3786-4fd3-8ee5-f86c4d6df841 (omicron_zone), sled_underlay_ip: ::1, nic_mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 0])), vni: Vni(100), kind: ExternalDns { external_ip: ::1 } }, 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 } }, b2860509-35ad-4395-bfee-8c1ad2330001 (omicron_zone): ServiceZoneNatEntry { zone_id: b2860509-35ad-4395-bfee-8c1ad2330001 (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 } } }}) }) } }","switch_slot":"switch0"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.02028922Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"switch_port_config_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":2,"elapsed":"1.118442918s"} {"msg":"instance update: starting real update saga...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.02087321Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"fe382b05-6113-4369-91d9-b75d45a93c5a","saga_name":"start-instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","update.deprovision":true,"update.destroy_target_vmm":"None","update.destroy_active_vmm":"Some(8937c1ce-9dac-4514-894a-b7d2385c1abd (propolis))","update.network_config_update":"Some(Delete)","update.new_runtime_state":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:33.020723870Z, generation: Generation(Generation(40)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: Failed, time_last_auto_restarted: None }","current.target_vmm":"None","current.active_vmm":"Some(Vmm { id: 8937c1ce-9dac-4514-894a-b7d2385c1abd, time_created: 2026-06-04T21:07:30.632253Z, time_deleted: None, instance_id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, time_state_updated: 2026-06-04T21:07:32.510466Z, generation: Generation(Generation(3)), sled_id: b6d65341-167c-41df-9b5c-41cded99c229 (sled), propolis_ip: V6(Ipv6Network { addr: ::1:14, prefix: 128 }), propolis_port: SqlU16(12400), state: Failed, cpu_platform: AmdMilan, failure_reason: Some(NoSuchInstance) })","current.migration":"None","current.runtime_state":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(39)), propolis_id: Some(8937c1ce-9dac-4514-894a-b7d2385c1abd), dst_propolis_id: None, migration_id: None, nexus_state: Vmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"tracking newly created saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.02105036Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","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-04T21:07:33.02107624Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.02175332Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-update","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dag":"{\"end_node\":14,\"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],[9,10,null],[8,9,null],[10,11,null],[11,12,null],[13,0,null],[12,14,null]],\"node_holes\":[],\"nodes\":[{\"Action\":{\"action_name\":\"common.uuid_generate\",\"label\":\"GenerateInstanceLockId\",\"name\":\"saga_instance_lock_id\"}},{\"Action\":{\"action_name\":\"instance_update.become_updater\",\"label\":\"BecomeUpdater\",\"name\":\"updater_lock\"}},{\"Constant\":{\"name\":\"network_config_update\",\"value\":\"Delete\"}},{\"Action\":{\"action_name\":\"instance_update.update_network_config\",\"label\":\"UpdateNetworkConfig\",\"name\":\"update_network_config\"}},{\"Action\":{\"action_name\":\"instance_update.release_virtual_provisioning\",\"label\":\"ReleaseVirtualProvisioning\",\"name\":\"release_virtual_provisioning\"}},{\"Action\":{\"action_name\":\"instance_update.unassign_oximeter_producer\",\"label\":\"UnassignOximeterProducer\",\"name\":\"unassign_oximeter_producer\"}},{\"Action\":{\"action_name\":\"instance_update.commit_instance_updates\",\"label\":\"CommitInstanceUpdates\",\"name\":\"commit_instance_updates\"}},{\"Constant\":{\"name\":\"destroy_active_vmm_params\",\"value\":{\"instance_id\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"UserBuiltin\":{\"user_builtin_id\":\"001de000-05e4-4000-8000-000000000002\"}},\"credential_id\":null,\"device_token_expiration\":null},null]}},\"vmm_id\":\"8937c1ce-9dac-4514-894a-b7d2385c1abd\"}}},{\"SubsagaStart\":{\"params_node_name\":\"destroy_active_vmm_params\",\"saga_name\":\"destroy_active_vmm\"}},{\"Action\":{\"action_name\":\"destroy_vmm.release_sled_resources\",\"label\":\"ReleaseSledResources\",\"name\":\"release_sled_resources\"}},{\"Action\":{\"action_name\":\"destroy_vmm.mark_vmm_deleted\",\"label\":\"MarkVmmDeleted\",\"name\":\"mark_vmm_deleted\"}},{\"SubsagaEnd\":{\"name\":\"active_vmm_destroyed\"}},{\"Action\":{\"action_name\":\"instance_update.chain_successor_saga\",\"label\":\"ChainSuccessorSaga\",\"name\":\"chain_successor_saga\"}},{\"Start\":{\"params\":{\"authz_instance\":{\"key\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\",\"lookup_type\":{\"ById\":\"15caf04b-ec3e-44b1-8a36-632c238b9dc2\"},\"parent\":{\"key\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"lookup_type\":{\"ById\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\"},\"parent\":{\"key\":\"001de000-5110-4000-8000-000000000000\",\"lookup_type\":{\"ById\":\"001de000-5110-4000-8000-000000000000\"},\"parent\":null}}},\"orig_lock\":{\"locked_gen\":2,\"updater_id\":\"49a03f07-670b-4989-bbf6-80cfd0309552\"},\"serialized_authn\":{\"kind\":{\"Authenticated\":[{\"actor\":{\"UserBuiltin\":{\"user_builtin_id\":\"001de000-05e4-4000-8000-000000000002\"}},\"credential_id\":null,\"device_token_expiration\":null},null]}},\"update\":{\"deprovision\":{\"cpus_diff\":2,\"project_id\":\"b14a2b81-eb59-4a4e-9629-7cd129e357c6\",\"ram_diff\":2147483648},\"destroy_active_vmm\":\"8937c1ce-9dac-4514-894a-b7d2385c1abd\",\"destroy_target_vmm\":null,\"network_config\":\"Delete\",\"new_intent\":null,\"new_runtime\":{\"dst_propolis_id\":null,\"gen\":40,\"migration_id\":null,\"nexus_state\":\"Failed\",\"propolis_id\":null,\"time_last_auto_restarted\":null,\"time_updated\":\"2026-06-04T21:07:33.020723870Z\"}}}}},\"End\"]},\"saga_name\":\"instance-update\",\"start_node\":13}"} {"msg":"creating saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.02193208Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_name":"instance-update","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.02343125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }, key: 939f7800-5574-4122-ac87-48bfd1afefe4, 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-04T21:07:33.02349999Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:33.02352385Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.0235697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.02418175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"starting saga","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.03286558Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"instance-update","component":"SagaExecutor","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-04T21:07:33.03296183Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.0329967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.03302136Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.03369025Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 start","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.03473877Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_name":"instance-update","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","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-04T21:07:33.03497599Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.03500574Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"13","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.03819799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.03824194Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"13","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","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-04T21:07:33.04000278Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.04005512Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.04007648Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.0402562Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.04468258Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.05334876Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e, lookup_type: ById(34330e93-41e1-4ec7-ba37-c6ccbc7b6c2e) }, key: 939f7800-5574-4122-ac87-48bfd1afefe4, 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-04T21:07:33.05343153Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.05558482Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc-routes","method":"PUT"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.05650966Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.05656376Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"0","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.05808484Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.05819553Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"4","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:33.05929281Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"PUT","req_id":"79b0630b-6fc6-468d-bfac-82bc40291375","remote_addr":"[::1]:57613","local_addr":"[::1]:43004","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-04T21:07:33.0593787Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"PUT","req_id":"79b0630b-6fc6-468d-bfac-82bc40291375","remote_addr":"[::1]:57613","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","version":"40.0.0"} {"msg":"request completed","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.05991534Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"uri":"/vpc-routes","method":"PUT","req_id":"79b0630b-6fc6-468d-bfac-82bc40291375","remote_addr":"[::1]:57613","local_addr":"[::1]:43004","component":"dropshot","sled_id":"b6d65341-167c-41df-9b5c-41cded99c229","component":"omicron_sled_agent::sim::Server","latency_us":660,"response_code":204} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.06004313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.06008538Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.06080668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.06217486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.06222747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"f27a8e81-8f63-4391-afbc-117186d016ce\"))","node_id":"0","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","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-04T21:07:33.06353623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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]:43004/vpc-routes\", status: 204, headers: {\"x-request-id\": \"79b0630b-6fc6-468d-bfac-82bc40291375\", \"date\": \"Thu, 04 Jun 2026 21:07:33 GMT\"} })"} {"msg":"activation complete","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.06382608Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"background_task":"vpc_route_manager","component":"BackgroundTasks","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","status":"{}","iteration":4,"elapsed":"1.133405208s"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.06436454Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.06439594Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"3","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.0664598Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.06649246Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"1","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"instance update: trying to become instance updater...","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.06940055Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","parent_lock":"UpdaterLock { updater_id: 49a03f07-670b-4989-bbf6-80cfd0309552, locked_gen: Generation(Generation(2)) }","saga_id":"f27a8e81-8f63-4391-afbc-117186d016ce","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.06944665Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"BecomeUpdater","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.06947409Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"BecomeUpdater","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.07024522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"BecomeUpdater","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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":"destroying vmm record for start saga unwind","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.07423584Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","start_reason":"User","propolis_id":"8937c1ce-9dac-4514-894a-b7d2385c1abd","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.07567089Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.07574221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.07576723Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.07988795Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.07994992Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.08056721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.0818264Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.08190947Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:33.08570937Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Done","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.08578303Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"done","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"inherited lock from 49a03f07-670b-4989-bbf6-80cfd0309552 to f27a8e81-8f63-4391-afbc-117186d016ce","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.08653167Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"BecomeUpdater","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","parent_gen":"Generation(Generation(2))","parent_id":"49a03f07-670b-4989-bbf6-80cfd0309552","locked_gen":"Generation(Generation(3))","updater_id":"f27a8e81-8f63-4391-afbc-117186d016ce","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"instance_update: Now, I am become Updater, the destroyer of VMMs.","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.08695091Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_id":"f27a8e81-8f63-4391-afbc-117186d016ce","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.08697705Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.08699916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Object {\"locked_gen\": Number(3), \"updater_id\": String(\"f27a8e81-8f63-4391-afbc-117186d016ce\")})","node_id":"1","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.08992819Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.09000156Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"2","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","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-04T21:07:33.09211589Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.09216149Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.09305794Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.09571535Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.09574536Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(String(\"Delete\"))","node_id":"2","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.10311254Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.10319263Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"3","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"instance update: deleting network config","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.11054103Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"deleting instance dpd configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.11059519Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.11061469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UpdateNetworkConfig","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.11064658Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UpdateNetworkConfig","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.11114806Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UpdateNetworkConfig","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.1165375Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UpdateNetworkConfig","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.11668035Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UpdateNetworkConfig","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.11832738Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UpdateNetworkConfig","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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":"no matching nat entries to soft delete","v":0,"name":"test_action_failure_can_unwind","level":40,"time":"2026-06-04T21:07:33.12799604Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.12816287Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UpdateNetworkConfig","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.12824583Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UpdateNetworkConfig","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.13107313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UpdateNetworkConfig","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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 finished","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-04T21:07:33.13395423Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"action_error_source":"InjectedError","action_error_node_name":"\"ensure_running\"","result":"failure","saga_name":"instance-start","saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:33.13411564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","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-04T21:07:33.13441761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"ea131b54-f9b9-4669-9d33-9cfd54ce56ad","saga_name":"instance-start","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","saga_result":"SagaResult { saga_id: ea131b54-f9b9-4669-9d33-9cfd54ce56ad, saga_log: SagaLog { saga_id: ea131b54-f9b9-4669-9d33-9cfd54ce56ad, 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(\"8937c1ce-9dac-4514-894a-b7d2385c1abd\")), 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-04T21:07:33.13502972Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Action"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13509215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuditLog"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13513099Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AnyActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1352548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AuthenticatedActor"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13532543Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"BlueprintConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13536714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Database"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13540426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DnsConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13548251Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Fleet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13552607Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Inventory"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13556215Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1355955Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13565212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13572213Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequestList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13579141Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"QuiesceState"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1358582Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloCertificateList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1359378Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13597609Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloIdentityProviderList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13608177Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserSessionList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13609588Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUserTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13610887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPoolList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13612301Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UpdateTrustRootList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1361357Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TargetReleaseConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13618953Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertClassList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13620233Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerTokenList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13621343Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroupList"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13622465Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TrustQuorumConfig"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13629392Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Project"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13630912Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Disk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13632124Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Snapshot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13633187Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ProjectImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13634426Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13635697Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AntiAffinityGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13645531Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Instance"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13646916Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1364831Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InstanceNetworkInterface"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13649893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Vpc"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13651135Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcRouter"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13652318Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGateway"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13653431Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1365469Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"InternetGatewayIpAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13655785Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"RouterRoute"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13657021Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"VpcSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13667655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"FloatingIp"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13669056Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ExternalSubnet"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1367017Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Image"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13671262Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloImage"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13672316Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AddressLot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13673364Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Blueprint"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13674416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"LoopbackAddress"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13675468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Certificate"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13676528Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ConsoleSession"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13677602Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAuthRequest"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13678965Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"DeviceAccessToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13680502Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"PhysicalDisk"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13681664Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Rack"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13682761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SshKey"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1368382Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Silo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13690383Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloUser"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13691679Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SiloGroup"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13693088Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SupportBundle"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1369437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"IdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13695714Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SamlIdentityProvider"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13697137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Sled"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13698435Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"SubnetPool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13700634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufRepo"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1370193Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufArtifact"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13703175Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"TufTrustRoot"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13704711Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Alert"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13705867Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"AlertReceiver"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.1370747Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"WebhookSecret"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13708743Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Zpool"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13709963Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"Service"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13711126Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"UserBuiltin"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13712377Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"ScimClientBearerToken"} {"msg":"registering Oso class","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13713501Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"class":"MulticastGroup"} {"msg":"full Oso configuration","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.13714716Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.1605564Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.16060939Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.16128486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.16212861Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.16219038Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.1622129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.1622347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.16246882Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.16350627Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:33.16366668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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":"inserting samples into database","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.16411217Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.16415358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.16441486Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:33.1664646Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:33.16650644Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:33.17705485Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.17711885Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.17770513Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.18096815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.18344422Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.18348077Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.18349991Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.18415093Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.18504046Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.18528938Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.185305Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:33.18642455Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:33.18762212Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"sent collection request to producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.18767078Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:33.18915693Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:33.18922834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:33.18925066Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"producer_port":46801,"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-04T21:07:33.19101618Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.19107834Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.19198764Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"lookup_all_socket_v6 srv","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.19260918Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DnsResolver","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","dns_name":"_dendrite._tcp.control-plane.oxide.internal"} {"msg":"inserted rows into table","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.1937129Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:33.19378503Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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":"buffer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.19419814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:29098","req_id":"c61d1348-901e-456c-88a3-d41367b89442","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 72 (0x48) bytes\n0000: 34 f7 01 00 00 01 00 00 00 00 00 01 09 5f 64 65 4............_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-04T21:07:33.19428221Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:29098","req_id":"c61d1348-901e-456c-88a3-d41367b89442","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 13559,\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-04T21:07:33.19475887Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.19480151Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.19481638Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:29098","req_id":"c61d1348-901e-456c-88a3-d41367b89442","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: 64395, 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-04T21:07:33.19503032Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: 64395, 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: 1120, tv_nsec: 656851913 } })","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-04T21:07:33.19507986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.19535956Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:33.1953874Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:33.1954047Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.19542125Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.19594539Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:33.19734203Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"id":"d242ee46-73e5-4ef9-8291-d9ada9d2c080","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-04T21:07:33.19740437Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.1976165Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:41740","req_id":"86ee705a-6181-4f62-bc7f-045a9eaef776","component":"dns","kind":"dns","component":"internal_dns_server","buffer":"Length: 108 (0x6c) bytes\n0000: 94 78 01 00 00 01 00 00 00 00 00 01 2d 64 65 6e .x..........-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-04T21:07:33.1976494Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:41740","req_id":"86ee705a-6181-4f62-bc7f-045a9eaef776","component":"dns","kind":"dns","component":"internal_dns_server","mr":"MessageRequest {\n header: Header {\n id: 38008,\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-04T21:07:33.19775216Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.19776789Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"peer_addr":"[::1]:41740","req_id":"86ee705a-6181-4f62-bc7f-045a9eaef776","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-04T21:07:33.25426655Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","body":"None","uri":"http://[::1]:64395/switch/identifiers","method":"GET"} {"msg":"loading roles","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.25483006Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.25486416Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.25488465Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.25551605Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:33.2571815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"component":"DpdClient","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","result":"Ok(Response { url: \"http://[::1]:64395/switch/identifiers\", status: 200, headers: {\"content-type\": \"application/json\", \"x-request-id\": \"26f08680-2864-4302-90be-0d5e0067258e\", \"content-length\": \"717\", \"date\": \"Thu, 04 Jun 2026 21:07:33 GMT\"} })"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.257576Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.25759846Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"3","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","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-04T21:07:33.25881338Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.25884529Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.25926668Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.25995083Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.2599725Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.25998945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.26035479Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:33.26161799Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.26168354Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"4","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","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-04T21:07:33.26426634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"ReleaseVirtualProvisioning","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.26432761Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"ReleaseVirtualProvisioning","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.26516917Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"ReleaseVirtualProvisioning","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.26685522Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.27303692Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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 15caf04b-ec3e-44b1-8a36-632c238b9dc2 to transition to no_VMM...","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.27308981Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.27310342Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Instance { parent: Project { parent: Silo { parent: Fleet, key: 001de000-5110-4000-8000-000000000000, lookup_type: ById(001de000-5110-4000-8000-000000000000) }, key: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:33.27312408Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"b14a2b81-eb59-4a4e-9629-7cd129e357c6","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-04T21:07:33.27313967Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.27315413Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.27342892Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:33.27512157Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.27597649Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.27605766Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.27637932Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 update (no VMM): deallocated virtual provisioning resources","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.28418651Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","records_deleted":"[]","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.28429616Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.28431993Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"4","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","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-04T21:07:33.28637468Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.28647227Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.28649347Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.28834115Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","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-04T21:07:33.29308945Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.293137Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"5","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","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-04T21:07:33.2941893Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource_id":"001de000-1334-4000-8000-000000000000","resource_type":"Fleet","actor":"Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. }"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.29422825Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.29428978Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.29474295Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.29553012Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.29557855Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.29594351Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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 update (no VMM): unassigning oximeter producer","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.29678577Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.2968623Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UnassignOximeterProducer","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.29689123Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UnassignOximeterProducer","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.29717085Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"UnassignOximeterProducer","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.30183915Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.31094391Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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: b14a2b81-eb59-4a4e-9629-7cd129e357c6, lookup_type: ById(b14a2b81-eb59-4a4e-9629-7cd129e357c6) }, key: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, lookup_type: ById(15caf04b-ec3e-44b1-8a36-632c238b9dc2) }","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-04T21:07:33.31110721Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"roles","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.31114823Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"roles":"RoleSet { roles: {} }"} {"msg":"authorize result","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.31126696Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"result":"Ok(())","resource":"Database","action":"Query","actor":"Some(Actor::SiloUser { silo_user_id: 001de000-05e4-4000-8000-000000004007 (silo_user), silo_id: 001de000-5110-4000-8000-000000000000, .. })"} {"msg":"un-assigned non-existent metric producer","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.31431703Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","producer_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.31437847Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.3143986Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Succeeded(Null)","node_id":"5","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"instance 15caf04b-ec3e-44b1-8a36-632c238b9dc2 transitioned to no_VMM","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.31749358Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"active_vmm":"None","instance":"Instance { identity: InstanceIdentity { id: 15caf04b-ec3e-44b1-8a36-632c238b9dc2, name: Name(Name(\"test-instance\")), description: \"instance \\\"test-instance\\\"\", time_created: 2026-06-04T21:07:13.163233Z, time_modified: 2026-06-04T21:07:13.163233Z, time_deleted: None }, project_id: b14a2b81-eb59-4a4e-9629-7cd129e357c6, user_data: [35, 99, 108, 111, 117, 100, 45, 99, 111, 110, 102, 105, 103], time_state_updated: 2026-06-04T21:07:13.163233Z, 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: Some(f27a8e81-8f63-4391-afbc-117186d016ce), 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 }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"fetched instance runtime state after saga execution","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.32872851Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"instance_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:13.163233Z, generation: Generation(Generation(40)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: NoVmm, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.32970814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.32977448Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.33053909Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.33126052Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.33129634Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Started","node_id":"6","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"instance update: committing new runtime state and unlocking...","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.33524982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","lock":"UpdaterLock { updater_id: f27a8e81-8f63-4391-afbc-117186d016ce, locked_gen: Generation(Generation(3)) }","new_intent":"None","new_runtime":"InstanceRuntimeState { time_updated: 2026-06-04T21:07:33.020723870Z, generation: Generation(Generation(40)), propolis_id: None, dst_propolis_id: None, migration_id: None, nexus_state: Failed, time_last_auto_restarted: None }","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"authorize begin","v":0,"name":"test_action_failure_can_unwind","level":10,"time":"2026-06-04T21:07:33.33562897Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"CommitInstanceUpdates","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.33566313Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"CommitInstanceUpdates","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.33734404Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"CommitInstanceUpdates","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"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-04T21:07:33.34235548Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.34241001Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.3449072Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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":"cannot commit instance update, as the state generation has advanced, potentially invalidating the update","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.34591688Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"user_builtin_id":"001de000-05e4-4000-8000-000000000002","type":"user_builtin","authenticated":true,"saga_node":"CommitInstanceUpdates","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","saga_name":"instance-update","component":"SagaExecutor","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","actual_state_gen":"Generation(Generation(40))","expected_state_gen":"Generation(Generation(40))","instance_id":"15caf04b-ec3e-44b1-8a36-632c238b9dc2"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.3462813Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.34632094Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"Failed(ActionFailed { source_error: Object {\"Conflict\": Object {\"message\": Object {\"external_message\": String(\"instance state has changed\"), \"internal_context\": String(\"\")}}} })","node_id":"6","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","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-04T21:07:33.3495635Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"sec_id":"913233fe-92a8-4635-9572-183f495429c4","component":"SEC","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4","new_state":"Unwinding","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928"} {"msg":"updating state","v":0,"name":"test_action_failure_can_unwind","level":30,"time":"2026-06-04T21:07:33.34960498Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"new_state":"unwinding","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.35471168Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.35479687Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"5","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","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-04T21:07:33.35862875Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.35871619Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.35912814Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.36160359Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.36165815Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoFinished","node_id":"5","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga log event","v":0,"name":"test_action_failure_can_unwind","level":20,"time":"2026-06-04T21:07:33.36700821Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"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-04T21:07:33.36711982Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281,"event_type":"UndoStarted","node_id":"4","saga_id":"8b762faf-9deb-4ea4-a69a-9afb57c08928","component":"SecStore","component":"nexus","component":"ServerContext","name":"913233fe-92a8-4635-9572-183f495429c4"} {"msg":"saga SagaId(ea131b54-f9b9-4669-9d33-9cfd54ce56ad) is stuck!","v":0,"name":"test_action_failure_can_unwind","level":50,"time":"2026-06-04T21:07:33.37093797Z","hostname":"w-01KTA6AN08X800EBMPS0D27P58","pid":10281}