From c310171ce840f71a88b2fac9afa4c824efdb69f5 Mon Sep 17 00:00:00 2001 From: Alan Hanson Date: Tue, 17 Sep 2024 22:38:44 +0000 Subject: [PATCH] Update Crucible and Propolis Crucible changes: Make crutest use BlockIO trait instead of a Guest (#1452) Use new syncfs syscall (#1427) Increment write backpressure before deferred encryption (#1444) Use RAII handles for backpressure (#1443) Fine-tuning backpressure clamping, and API cleanups (#1442) Fix outdated comment (#1447) Update Rust crate rusqlite to 0.32 (#1418) Fix write reordering bug (#1448) Remove `history_file` (#1446) Remove optionality for `BlockRes` in `DeferredWrite` (#1441) Propolis changes instance spec rework: tighten up component naming (#761) instance spec rework: remove most dependencies on `InstanceSpecV0` from propolis-server (#757) fix new 1.81.0 warning and clippy error (#760) standalone: be more helpful with bad block device configs (#758) --- Cargo.lock | 38 +++++++++++++++++++------------------- Cargo.toml | 12 ++++++------ package-manifest.toml | 16 ++++++++-------- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 214e94414cb..692907b48f9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1754,7 +1754,7 @@ dependencies = [ [[package]] name = "crucible-agent-client" version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=b026dd82779eb2c2f87164e30feb7dd7f4b6e677#b026dd82779eb2c2f87164e30feb7dd7f4b6e677" +source = "git+https://github.com/oxidecomputer/crucible?rev=a551f245e8a26f52098382903ccf0a982b7c54fa#a551f245e8a26f52098382903ccf0a982b7c54fa" dependencies = [ "anyhow", "chrono", @@ -1770,7 +1770,7 @@ dependencies = [ [[package]] name = "crucible-common" version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=b026dd82779eb2c2f87164e30feb7dd7f4b6e677#b026dd82779eb2c2f87164e30feb7dd7f4b6e677" +source = "git+https://github.com/oxidecomputer/crucible?rev=a551f245e8a26f52098382903ccf0a982b7c54fa#a551f245e8a26f52098382903ccf0a982b7c54fa" dependencies = [ "anyhow", "atty", @@ -1800,7 +1800,7 @@ dependencies = [ [[package]] name = "crucible-pantry-client" version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=b026dd82779eb2c2f87164e30feb7dd7f4b6e677#b026dd82779eb2c2f87164e30feb7dd7f4b6e677" +source = "git+https://github.com/oxidecomputer/crucible?rev=a551f245e8a26f52098382903ccf0a982b7c54fa#a551f245e8a26f52098382903ccf0a982b7c54fa" dependencies = [ "anyhow", "chrono", @@ -1817,7 +1817,7 @@ dependencies = [ [[package]] name = "crucible-smf" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/crucible?rev=b026dd82779eb2c2f87164e30feb7dd7f4b6e677#b026dd82779eb2c2f87164e30feb7dd7f4b6e677" +source = "git+https://github.com/oxidecomputer/crucible?rev=a551f245e8a26f52098382903ccf0a982b7c54fa#a551f245e8a26f52098382903ccf0a982b7c54fa" dependencies = [ "crucible-workspace-hack", "libc", @@ -4925,9 +4925,9 @@ dependencies = [ [[package]] name = "libsqlite3-sys" -version = "0.28.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" dependencies = [ "pkg-config", "vcpkg", @@ -6642,7 +6642,7 @@ dependencies = [ "pq-sys", "pretty_assertions", "progenitor-client", - "propolis-client 0.1.0 (git+https://github.com/oxidecomputer/propolis?rev=5267be82e10d851a64196a8148893691b0b9f8ad)", + "propolis-client 0.1.0 (git+https://github.com/oxidecomputer/propolis?rev=a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9)", "rand", "rcgen", "ref-cast", @@ -6900,7 +6900,7 @@ dependencies = [ "oximeter-producer", "oxnet", "pretty_assertions", - "propolis-client 0.1.0 (git+https://github.com/oxidecomputer/propolis?rev=5267be82e10d851a64196a8148893691b0b9f8ad)", + "propolis-client 0.1.0 (git+https://github.com/oxidecomputer/propolis?rev=a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9)", "propolis-mock-server", "rand", "rcgen", @@ -8551,7 +8551,7 @@ dependencies = [ [[package]] name = "propolis-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=5267be82e10d851a64196a8148893691b0b9f8ad#5267be82e10d851a64196a8148893691b0b9f8ad" +source = "git+https://github.com/oxidecomputer/propolis?rev=6dceb9ef69c217cb78a2018bbedafbc19f6ec1af#6dceb9ef69c217cb78a2018bbedafbc19f6ec1af" dependencies = [ "async-trait", "base64 0.21.7", @@ -8565,14 +8565,14 @@ dependencies = [ "slog", "thiserror", "tokio", - "tokio-tungstenite 0.21.0", + "tokio-tungstenite 0.20.1", "uuid", ] [[package]] name = "propolis-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=6dceb9ef69c217cb78a2018bbedafbc19f6ec1af#6dceb9ef69c217cb78a2018bbedafbc19f6ec1af" +source = "git+https://github.com/oxidecomputer/propolis?rev=a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9#a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9" dependencies = [ "async-trait", "base64 0.21.7", @@ -8586,14 +8586,14 @@ dependencies = [ "slog", "thiserror", "tokio", - "tokio-tungstenite 0.20.1", + "tokio-tungstenite 0.21.0", "uuid", ] [[package]] name = "propolis-mock-server" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=5267be82e10d851a64196a8148893691b0b9f8ad#5267be82e10d851a64196a8148893691b0b9f8ad" +source = "git+https://github.com/oxidecomputer/propolis?rev=a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9#a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9" dependencies = [ "anyhow", "atty", @@ -8603,7 +8603,7 @@ dependencies = [ "futures", "hyper 0.14.30", "progenitor", - "propolis_types 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=5267be82e10d851a64196a8148893691b0b9f8ad)", + "propolis_types 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9)", "rand", "reqwest", "schemars", @@ -8635,7 +8635,7 @@ dependencies = [ [[package]] name = "propolis_types" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=5267be82e10d851a64196a8148893691b0b9f8ad#5267be82e10d851a64196a8148893691b0b9f8ad" +source = "git+https://github.com/oxidecomputer/propolis?rev=6dceb9ef69c217cb78a2018bbedafbc19f6ec1af#6dceb9ef69c217cb78a2018bbedafbc19f6ec1af" dependencies = [ "schemars", "serde", @@ -8644,7 +8644,7 @@ dependencies = [ [[package]] name = "propolis_types" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=6dceb9ef69c217cb78a2018bbedafbc19f6ec1af#6dceb9ef69c217cb78a2018bbedafbc19f6ec1af" +source = "git+https://github.com/oxidecomputer/propolis?rev=a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9#a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9" dependencies = [ "schemars", "serde", @@ -9260,9 +9260,9 @@ dependencies = [ [[package]] name = "rusqlite" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b838eba278d213a8beaf485bd313fd580ca4505a00d5871caeb1457c55322cae" +checksum = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e" dependencies = [ "bitflags 2.6.0", "fallible-iterator 0.3.0", @@ -10199,7 +10199,7 @@ dependencies = [ "omicron-uuid-kinds", "omicron-workspace-hack", "oxnet", - "propolis-client 0.1.0 (git+https://github.com/oxidecomputer/propolis?rev=5267be82e10d851a64196a8148893691b0b9f8ad)", + "propolis-client 0.1.0 (git+https://github.com/oxidecomputer/propolis?rev=a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9)", "rcgen", "schemars", "serde", diff --git a/Cargo.toml b/Cargo.toml index b7b34390e78..09274cfe769 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -323,10 +323,10 @@ cookie = "0.18" criterion = { version = "0.5.1", features = [ "async_tokio" ] } crossbeam = "0.8" crossterm = { version = "0.28.1", features = ["event-stream"] } -crucible-agent-client = { git = "https://github.com/oxidecomputer/crucible", rev = "b026dd82779eb2c2f87164e30feb7dd7f4b6e677"} -crucible-pantry-client = { git = "https://github.com/oxidecomputer/crucible", rev = "b026dd82779eb2c2f87164e30feb7dd7f4b6e677"} -crucible-smf = { git = "https://github.com/oxidecomputer/crucible", rev = "b026dd82779eb2c2f87164e30feb7dd7f4b6e677"} -crucible-common = { git = "https://github.com/oxidecomputer/crucible", rev = "b026dd82779eb2c2f87164e30feb7dd7f4b6e677"} +crucible-agent-client = { git = "https://github.com/oxidecomputer/crucible", rev = "a551f245e8a26f52098382903ccf0a982b7c54fa"} +crucible-pantry-client = { git = "https://github.com/oxidecomputer/crucible", rev = "a551f245e8a26f52098382903ccf0a982b7c54fa"} +crucible-smf = { git = "https://github.com/oxidecomputer/crucible", rev = "a551f245e8a26f52098382903ccf0a982b7c54fa"} +crucible-common = { git = "https://github.com/oxidecomputer/crucible", rev = "a551f245e8a26f52098382903ccf0a982b7c54fa"} csv = "1.3.0" curve25519-dalek = "4" datatest-stable = "0.2.9" @@ -505,8 +505,8 @@ proc-macro2 = "1.0" progenitor = { git = "https://github.com/oxidecomputer/progenitor", branch = "main" } progenitor-client = { git = "https://github.com/oxidecomputer/progenitor", branch = "main" } bhyve_api = { git = "https://github.com/oxidecomputer/propolis", rev = "24a74d0c76b6a63961ecef76acb1516b6e66c5c9" } -propolis-client = { git = "https://github.com/oxidecomputer/propolis", rev = "5267be82e10d851a64196a8148893691b0b9f8ad" } -propolis-mock-server = { git = "https://github.com/oxidecomputer/propolis", rev = "5267be82e10d851a64196a8148893691b0b9f8ad" } +propolis-client = { git = "https://github.com/oxidecomputer/propolis", rev = "a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9" } +propolis-mock-server = { git = "https://github.com/oxidecomputer/propolis", rev = "a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9" } proptest = "1.5.0" qorb = { git = "https://github.com/oxidecomputer/qorb", branch = "master" } quote = "1.0" diff --git a/package-manifest.toml b/package-manifest.toml index 0be2a4ed811..03c78027acc 100644 --- a/package-manifest.toml +++ b/package-manifest.toml @@ -567,10 +567,10 @@ only_for_targets.image = "standard" # 3. Use source.type = "manual" instead of "prebuilt" source.type = "prebuilt" source.repo = "crucible" -source.commit = "b026dd82779eb2c2f87164e30feb7dd7f4b6e677" +source.commit = "a551f245e8a26f52098382903ccf0a982b7c54fa" # The SHA256 digest is automatically posted to: # https://buildomat.eng.oxide.computer/public/file/oxidecomputer/crucible/image//crucible.sha256.txt -source.sha256 = "9a77eda6314efd1780ff2ee25c28c6401f3e7f2592bf73b09993cee8ac863168" +source.sha256 = "128fd9a949ad10eeeef074ee66dad3b40f5c265e14066e1c9000b335c0045a58" output.type = "zone" output.intermediate_only = true @@ -579,10 +579,10 @@ service_name = "crucible_pantry_prebuilt" only_for_targets.image = "standard" source.type = "prebuilt" source.repo = "crucible" -source.commit = "b026dd82779eb2c2f87164e30feb7dd7f4b6e677" +source.commit = "a551f245e8a26f52098382903ccf0a982b7c54fa" # The SHA256 digest is automatically posted to: # https://buildomat.eng.oxide.computer/public/file/oxidecomputer/crucible/image//crucible-pantry.sha256.txt -source.sha256 = "84f3bc041aedfcbf2162a6dd022446c3af707acd91b1c4e98c8cd45f469d5ce2" +source.sha256 = "0798960a54166f327b673363bf60759b273bf0ca4e4d39949cc296b2cb962dd2" output.type = "zone" output.intermediate_only = true @@ -596,10 +596,10 @@ service_name = "crucible_dtrace" only_for_targets.image = "standard" source.type = "prebuilt" source.repo = "crucible" -source.commit = "b026dd82779eb2c2f87164e30feb7dd7f4b6e677" +source.commit = "a551f245e8a26f52098382903ccf0a982b7c54fa" # The SHA256 digest is automatically posted to: # https://buildomat.eng.oxide.computer/public/file/oxidecomputer/crucible/image//crucible-dtrace.sha256.txt -source.sha256 = "bdec4bc5a15d417c1e203f547c798c03442f5be753cd0361f6e6a939630ad1c3" +source.sha256 = "e6030eb1286426042efca82d2d35a481cbf0494970f0b77eb4bf83ec7cf4a958" output.type = "tarball" # Refer to @@ -610,10 +610,10 @@ service_name = "propolis-server" only_for_targets.image = "standard" source.type = "prebuilt" source.repo = "propolis" -source.commit = "5267be82e10d851a64196a8148893691b0b9f8ad" +source.commit = "a9c5fdac442fa6fd5a65e413ea874fe3c62c3fd9" # The SHA256 digest is automatically posted to: # https://buildomat.eng.oxide.computer/public/file/oxidecomputer/propolis/image//propolis-server.sha256.txt -source.sha256 = "e16c961b60d3946cce2052622eac053aea683b2f47f7dc25e07286d83b1907a9" +source.sha256 = "c38d11a7e55def3ce2dae3c98027eae92fdb65400a5cb14932b21665572a955b" output.type = "zone" [package.mg-ddm-gz]