From 45df2e6ce738eba9a66e2f885bdc509d8932834b Mon Sep 17 00:00:00 2001 From: Alan Hanson Date: Mon, 29 Jan 2024 09:47:55 -0800 Subject: [PATCH] Update crucible and propolis versions (#4912) Crucible changes Remove a superfluous copy during write serialization (#1087) Update to progenitor v0.5.0, pull in required Omicron updates (#1115) Update usdt to v0.5.0 (#1116) Do not panic on reinitialize of a downstairs client. (#1114) Bump (tracing-)opentelemetry(-jaeger) (#1113) Make the Guest -> Upstairs queue fully async (#1086) Switch to per-block ownership (#1107) Handle timeout in the client IO task (#1109) Enforce buffer alignment (#1106) Block size buffers (#1105) New dtrace probes and a counter struct in the Upstairs. (#1104) Implement read decryption offloading (#1089) Remove Arc + Mutex from Buffer (#1094) Comment cleanup and rename of DsState::Repair -> Reconcile (#1102) do not panic the dynamometer for OOB writes (#1101) Allow dsc to start the downstairs in read-only mode. (#1098) Use the omicron-zone-package methods for topo sorting (#1099) Package with topological sorting (#1097) Fix clippy lints in dsc (#1095) Propolis changes: PHD: demote artifact store logs to DEBUG, enable DEBUG on CI (#626) PHD: fix missing newlines in serial.log (#622) PHD: fix run_shell_command with multiline commands (#621) PHD: fix `--artifact-directory` not doing anything (#618) Update h2 dependency Update Crucible (and Omicron) dependencies PHD: refactor guest serial console handling (#615) phd: add basic "migration-from-base" tests + machinery (#609) phd: Ensure min disk size fits read-only parents (#611) phd: automatically fetch `crucible-downstairs` from Buildomat (#604) Mitigate behavior from illumos#16183 PHD: add guest adapter for WS2022 (#607) phd: include error cause chain in failure output (#606) add QEMU pvpanic ISA device (#596) Add crucible-mem backend Make crucible opt parsing more terse in standalone Co-authored-by: Alan Hanson --- Cargo.lock | 164 +++++++++++++++++++++++++++--------------- Cargo.toml | 12 ++-- package-manifest.toml | 12 ++-- 3 files changed, 119 insertions(+), 69 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5309fac767..a058462468 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -461,7 +461,7 @@ dependencies = [ [[package]] name = "bhyve_api" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=1e25649e8c2ac274bd04adfe0513dd14a482058c#1e25649e8c2ac274bd04adfe0513dd14a482058c" +source = "git+https://github.com/oxidecomputer/propolis?rev=ff6c4df2e816eee6e7b2b0488777d30ef35ee217#ff6c4df2e816eee6e7b2b0488777d30ef35ee217" dependencies = [ "bhyve_api_sys", "libc", @@ -471,7 +471,7 @@ dependencies = [ [[package]] name = "bhyve_api_sys" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=1e25649e8c2ac274bd04adfe0513dd14a482058c#1e25649e8c2ac274bd04adfe0513dd14a482058c" +source = "git+https://github.com/oxidecomputer/propolis?rev=ff6c4df2e816eee6e7b2b0488777d30ef35ee217#ff6c4df2e816eee6e7b2b0488777d30ef35ee217" dependencies = [ "libc", "strum", @@ -638,7 +638,7 @@ dependencies = [ "ipnetwork", "omicron-common", "omicron-workspace-hack", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "regress", "reqwest", "schemars", @@ -1294,13 +1294,13 @@ dependencies = [ [[package]] name = "crucible-agent-client" version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=e71b10d2f9f1fb52818b916bae83ba15a339548d#e71b10d2f9f1fb52818b916bae83ba15a339548d" +source = "git+https://github.com/oxidecomputer/crucible?rev=2d4bc11232d53f177c286383926fa5f8c1b2a938#2d4bc11232d53f177c286383926fa5f8c1b2a938" dependencies = [ "anyhow", "chrono", "crucible-workspace-hack", "percent-encoding", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "reqwest", "schemars", "serde", @@ -1310,13 +1310,13 @@ dependencies = [ [[package]] name = "crucible-pantry-client" version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=e71b10d2f9f1fb52818b916bae83ba15a339548d#e71b10d2f9f1fb52818b916bae83ba15a339548d" +source = "git+https://github.com/oxidecomputer/crucible?rev=2d4bc11232d53f177c286383926fa5f8c1b2a938#2d4bc11232d53f177c286383926fa5f8c1b2a938" dependencies = [ "anyhow", "chrono", "crucible-workspace-hack", "percent-encoding", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "reqwest", "schemars", "serde", @@ -1327,7 +1327,7 @@ dependencies = [ [[package]] name = "crucible-smf" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/crucible?rev=e71b10d2f9f1fb52818b916bae83ba15a339548d#e71b10d2f9f1fb52818b916bae83ba15a339548d" +source = "git+https://github.com/oxidecomputer/crucible?rev=2d4bc11232d53f177c286383926fa5f8c1b2a938#2d4bc11232d53f177c286383926fa5f8c1b2a938" dependencies = [ "crucible-workspace-hack", "libc", @@ -1530,8 +1530,8 @@ dependencies = [ "omicron-common", "omicron-workspace-hack", "omicron-zone-package", - "progenitor", - "progenitor-client", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-client 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "quote", "reqwest", "rustfmt-wrapper", @@ -1852,7 +1852,7 @@ dependencies = [ "chrono", "http 0.2.11", "omicron-workspace-hack", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "reqwest", "schemars", "serde", @@ -1906,8 +1906,8 @@ dependencies = [ "ipnetwork", "omicron-workspace-hack", "omicron-zone-package", - "progenitor", - "progenitor-client", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-client 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "quote", "rand 0.8.5", "regress", @@ -2545,7 +2545,7 @@ dependencies = [ "chrono", "gateway-messages", "omicron-workspace-hack", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "rand 0.8.5", "reqwest", "schemars", @@ -3457,7 +3457,7 @@ version = "0.1.0" dependencies = [ "installinator-common", "omicron-workspace-hack", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "regress", "reqwest", "schemars", @@ -3537,7 +3537,7 @@ dependencies = [ "omicron-common", "omicron-test-utils", "omicron-workspace-hack", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "reqwest", "serde", "serde_json", @@ -4042,8 +4042,8 @@ dependencies = [ "omicron-common", "omicron-workspace-hack", "omicron-zone-package", - "progenitor", - "progenitor-client", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-client 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "quote", "reqwest", "rustfmt-wrapper", @@ -4212,7 +4212,7 @@ dependencies = [ "omicron-common", "omicron-passwords", "omicron-workspace-hack", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "regress", "reqwest", "schemars", @@ -4780,7 +4780,7 @@ dependencies = [ "omicron-workspace-hack", "once_cell", "parse-display", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "proptest", "rand 0.8.5", "regress", @@ -4880,7 +4880,7 @@ dependencies = [ "signal-hook", "signal-hook-tokio", "slog", - "slog-dtrace 0.3.0", + "slog-dtrace", "slog-error-chain", "sp-sim", "subprocess", @@ -4968,7 +4968,7 @@ dependencies = [ "petgraph", "pq-sys", "pretty_assertions", - "progenitor-client", + "progenitor-client 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "propolis-client", "rand 0.8.5", "rcgen", @@ -4989,7 +4989,7 @@ dependencies = [ "sled-agent-client", "slog", "slog-async", - "slog-dtrace 0.3.0", + "slog-dtrace", "slog-error-chain", "slog-term", "sp-sim", @@ -5183,7 +5183,7 @@ dependencies = [ "sled-storage", "slog", "slog-async", - "slog-dtrace 0.3.0", + "slog-dtrace", "slog-term", "smf", "static_assertions", @@ -5558,7 +5558,7 @@ dependencies = [ "http 0.2.11", "hyper 0.14.27", "omicron-workspace-hack", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "rand 0.8.5", "regress", "reqwest", @@ -5614,7 +5614,7 @@ dependencies = [ "futures", "omicron-common", "omicron-workspace-hack", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "reqwest", "serde", "slog", @@ -5651,7 +5651,7 @@ dependencies = [ "serde_json", "slog", "slog-async", - "slog-dtrace 0.3.0", + "slog-dtrace", "slog-term", "strum", "subprocess", @@ -5691,7 +5691,7 @@ dependencies = [ "serde_json", "slog", "slog-async", - "slog-dtrace 0.3.0", + "slog-dtrace", "slog-term", "sqlformat", "sqlparser", @@ -5750,7 +5750,7 @@ dependencies = [ "schemars", "serde", "slog", - "slog-dtrace 0.3.0", + "slog-dtrace", "thiserror", "tokio", "uuid", @@ -6416,9 +6416,20 @@ name = "progenitor" version = "0.5.0" source = "git+https://github.com/oxidecomputer/progenitor?branch=main#86b60220b88a2ca3629fb87acf8f83ff35f63aaa" dependencies = [ - "progenitor-client", - "progenitor-impl", - "progenitor-macro", + "progenitor-client 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-impl 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-macro 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "serde_json", +] + +[[package]] +name = "progenitor" +version = "0.5.0" +source = "git+https://github.com/oxidecomputer/progenitor#86b60220b88a2ca3629fb87acf8f83ff35f63aaa" +dependencies = [ + "progenitor-client 0.5.0 (git+https://github.com/oxidecomputer/progenitor)", + "progenitor-impl 0.5.0 (git+https://github.com/oxidecomputer/progenitor)", + "progenitor-macro 0.5.0 (git+https://github.com/oxidecomputer/progenitor)", "serde_json", ] @@ -6436,6 +6447,20 @@ dependencies = [ "serde_urlencoded", ] +[[package]] +name = "progenitor-client" +version = "0.5.0" +source = "git+https://github.com/oxidecomputer/progenitor#86b60220b88a2ca3629fb87acf8f83ff35f63aaa" +dependencies = [ + "bytes", + "futures-core", + "percent-encoding", + "reqwest", + "serde", + "serde_json", + "serde_urlencoded", +] + [[package]] name = "progenitor-impl" version = "0.5.0" @@ -6458,6 +6483,28 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "progenitor-impl" +version = "0.5.0" +source = "git+https://github.com/oxidecomputer/progenitor#86b60220b88a2ca3629fb87acf8f83ff35f63aaa" +dependencies = [ + "getopts", + "heck 0.4.1", + "http 0.2.11", + "indexmap 2.1.0", + "openapiv3", + "proc-macro2", + "quote", + "regex", + "schemars", + "serde", + "serde_json", + "syn 2.0.48", + "thiserror", + "typify", + "unicode-ident", +] + [[package]] name = "progenitor-macro" version = "0.5.0" @@ -6465,7 +6512,24 @@ source = "git+https://github.com/oxidecomputer/progenitor?branch=main#86b60220b8 dependencies = [ "openapiv3", "proc-macro2", - "progenitor-impl", + "progenitor-impl 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "quote", + "schemars", + "serde", + "serde_json", + "serde_tokenstream 0.2.0", + "serde_yaml", + "syn 2.0.48", +] + +[[package]] +name = "progenitor-macro" +version = "0.5.0" +source = "git+https://github.com/oxidecomputer/progenitor#86b60220b88a2ca3629fb87acf8f83ff35f63aaa" +dependencies = [ + "openapiv3", + "proc-macro2", + "progenitor-impl 0.5.0 (git+https://github.com/oxidecomputer/progenitor)", "quote", "schemars", "serde", @@ -6478,12 +6542,12 @@ dependencies = [ [[package]] name = "propolis-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=1e25649e8c2ac274bd04adfe0513dd14a482058c#1e25649e8c2ac274bd04adfe0513dd14a482058c" +source = "git+https://github.com/oxidecomputer/propolis?rev=ff6c4df2e816eee6e7b2b0488777d30ef35ee217#ff6c4df2e816eee6e7b2b0488777d30ef35ee217" dependencies = [ "async-trait", "base64", "futures", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor)", "rand 0.8.5", "reqwest", "schemars", @@ -6499,7 +6563,7 @@ dependencies = [ [[package]] name = "propolis-mock-server" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=1e25649e8c2ac274bd04adfe0513dd14a482058c#1e25649e8c2ac274bd04adfe0513dd14a482058c" +source = "git+https://github.com/oxidecomputer/propolis?rev=ff6c4df2e816eee6e7b2b0488777d30ef35ee217#ff6c4df2e816eee6e7b2b0488777d30ef35ee217" dependencies = [ "anyhow", "atty", @@ -6508,7 +6572,7 @@ dependencies = [ "dropshot", "futures", "hyper 0.14.27", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor)", "propolis_types", "rand 0.8.5", "reqwest", @@ -6518,7 +6582,7 @@ dependencies = [ "slog", "slog-async", "slog-bunyan", - "slog-dtrace 0.2.3", + "slog-dtrace", "slog-term", "thiserror", "tokio", @@ -6529,7 +6593,7 @@ dependencies = [ [[package]] name = "propolis_types" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=1e25649e8c2ac274bd04adfe0513dd14a482058c#1e25649e8c2ac274bd04adfe0513dd14a482058c" +source = "git+https://github.com/oxidecomputer/propolis?rev=ff6c4df2e816eee6e7b2b0488777d30ef35ee217#ff6c4df2e816eee6e7b2b0488777d30ef35ee217" dependencies = [ "schemars", "serde", @@ -7990,7 +8054,7 @@ dependencies = [ "ipnetwork", "omicron-common", "omicron-workspace-hack", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "regress", "reqwest", "schemars", @@ -8081,20 +8145,6 @@ dependencies = [ "time", ] -[[package]] -name = "slog-dtrace" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebb79013d51afb48c5159d62068658fa672772be3aeeadee0d2710fb3903f637" -dependencies = [ - "chrono", - "serde", - "serde_json", - "slog", - "usdt 0.3.5", - "version_check", -] - [[package]] name = "slog-dtrace" version = "0.3.0" @@ -8307,7 +8357,7 @@ dependencies = [ "omicron-workspace-hack", "serde", "slog", - "slog-dtrace 0.3.0", + "slog-dtrace", "sprockets-rot", "thiserror", "tokio", @@ -10240,7 +10290,7 @@ dependencies = [ "sha2", "sled-hardware", "slog", - "slog-dtrace 0.3.0", + "slog-dtrace", "snafu", "subprocess", "tar", @@ -10269,7 +10319,7 @@ dependencies = [ "installinator-common", "ipnetwork", "omicron-workspace-hack", - "progenitor", + "progenitor 0.5.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "regress", "reqwest", "schemars", diff --git a/Cargo.toml b/Cargo.toml index 1192806d15..d0738f9cd3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -178,9 +178,9 @@ cookie = "0.18" criterion = { version = "0.5.1", features = [ "async_tokio" ] } crossbeam = "0.8" crossterm = { version = "0.27.0", features = ["event-stream"] } -crucible-agent-client = { git = "https://github.com/oxidecomputer/crucible", rev = "e71b10d2f9f1fb52818b916bae83ba15a339548d" } -crucible-pantry-client = { git = "https://github.com/oxidecomputer/crucible", rev = "e71b10d2f9f1fb52818b916bae83ba15a339548d" } -crucible-smf = { git = "https://github.com/oxidecomputer/crucible", rev = "e71b10d2f9f1fb52818b916bae83ba15a339548d" } +crucible-agent-client = { git = "https://github.com/oxidecomputer/crucible", rev = "2d4bc11232d53f177c286383926fa5f8c1b2a938" } +crucible-pantry-client = { git = "https://github.com/oxidecomputer/crucible", rev = "2d4bc11232d53f177c286383926fa5f8c1b2a938" } +crucible-smf = { git = "https://github.com/oxidecomputer/crucible", rev = "2d4bc11232d53f177c286383926fa5f8c1b2a938" } curve25519-dalek = "4" datatest-stable = "0.2.3" display-error-chain = "0.2.0" @@ -304,9 +304,9 @@ prettyplease = "0.2.16" 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 = "1e25649e8c2ac274bd04adfe0513dd14a482058c" } -propolis-client = { git = "https://github.com/oxidecomputer/propolis", rev = "1e25649e8c2ac274bd04adfe0513dd14a482058c" } -propolis-mock-server = { git = "https://github.com/oxidecomputer/propolis", rev = "1e25649e8c2ac274bd04adfe0513dd14a482058c" } +bhyve_api = { git = "https://github.com/oxidecomputer/propolis", rev = "ff6c4df2e816eee6e7b2b0488777d30ef35ee217" } +propolis-client = { git = "https://github.com/oxidecomputer/propolis", rev = "ff6c4df2e816eee6e7b2b0488777d30ef35ee217" } +propolis-mock-server = { git = "https://github.com/oxidecomputer/propolis", rev = "ff6c4df2e816eee6e7b2b0488777d30ef35ee217" } proptest = "1.4.0" quote = "1.0" rand = "0.8.5" diff --git a/package-manifest.toml b/package-manifest.toml index b08457e46c..c34b84eb9d 100644 --- a/package-manifest.toml +++ b/package-manifest.toml @@ -405,10 +405,10 @@ only_for_targets.image = "standard" # 3. Use source.type = "manual" instead of "prebuilt" source.type = "prebuilt" source.repo = "crucible" -source.commit = "e71b10d2f9f1fb52818b916bae83ba15a339548d" +source.commit = "2d4bc11232d53f177c286383926fa5f8c1b2a938" # The SHA256 digest is automatically posted to: # https://buildomat.eng.oxide.computer/public/file/oxidecomputer/crucible/image//crucible.sha256.txt -source.sha256 = "030a02551e487f561bcfad47426b953d15c4430d77770765c7fc03afd8d61bd9" +source.sha256 = "88ec93657a644e8f10a32d1d22cc027db901aea81027f49ce7bee58fc4a35755" output.type = "zone" [package.crucible-pantry] @@ -416,10 +416,10 @@ service_name = "crucible_pantry" only_for_targets.image = "standard" source.type = "prebuilt" source.repo = "crucible" -source.commit = "e71b10d2f9f1fb52818b916bae83ba15a339548d" +source.commit = "2d4bc11232d53f177c286383926fa5f8c1b2a938" # The SHA256 digest is automatically posted to: # https://buildomat.eng.oxide.computer/public/file/oxidecomputer/crucible/image//crucible-pantry.sha256.txt -source.sha256 = "c74e23e7f7995ba3a69a9ec3a31f1db517ec15cd3a9942c2c07621b219b743b2" +source.sha256 = "e2c3ed2d4cd6b5da3d38dd52df6d4a259280be7d45c30a363e9c71b174ecc6f8" output.type = "zone" # Refer to @@ -430,10 +430,10 @@ service_name = "propolis-server" only_for_targets.image = "standard" source.type = "prebuilt" source.repo = "propolis" -source.commit = "1e25649e8c2ac274bd04adfe0513dd14a482058c" +source.commit = "ff6c4df2e816eee6e7b2b0488777d30ef35ee217" # The SHA256 digest is automatically posted to: # https://buildomat.eng.oxide.computer/public/file/oxidecomputer/propolis/image//propolis-server.sha256.txt -source.sha256 = "09c124315da3e434c85fe1ddb16459c36d8302e15705ff18fe6bbc7b4876f5f9" +source.sha256 = "aa10aa245a92e657fc074bd588ef6bbddaad2d9c946a8e1b91c02dce7e057561" output.type = "zone" [package.mg-ddm-gz]