From 0dd258e2088417d22646dd682e365d04e6904911 Mon Sep 17 00:00:00 2001 From: Matt Keeter Date: Fri, 19 Jul 2024 09:40:35 -0400 Subject: [PATCH] Bump Crucible and update BlockIO trait (#721) Bumps crucible, dropshot, and oximeter-producer, then fixes breakages --- Cargo.lock | 384 +++++++++++------- Cargo.toml | 4 +- bin/mock-server/src/main.rs | 1 + .../src/lib/stats/virtual_machine.rs | 14 - bin/propolis-server/src/main.rs | 1 + .../tests/output/virtual-machine-schema.json | 34 -- lib/propolis/src/block/crucible.rs | 10 +- 7 files changed, 233 insertions(+), 215 deletions(-) delete mode 100644 bin/propolis-server/tests/output/virtual-machine-schema.json diff --git a/Cargo.lock b/Cargo.lock index 8921fe9d2..31c0ae19a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -147,9 +147,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.83" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" dependencies = [ "backtrace", ] @@ -157,12 +157,12 @@ dependencies = [ [[package]] name = "api_identity" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "omicron-workspace-hack", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -191,7 +191,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -213,18 +213,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -427,9 +427,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" dependencies = [ "serde", ] @@ -546,7 +546,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -681,7 +681,7 @@ checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crucible" version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=e10f8793f8414fdb9a165219f17e45fa014d088b#e10f8793f8414fdb9a165219f17e45fa014d088b" +source = "git+https://github.com/oxidecomputer/crucible?rev=e58ca3693cb9ce0438947beba10e97ee38a0966b#e58ca3693cb9ce0438947beba10e97ee38a0966b" dependencies = [ "aes-gcm-siv", "anyhow", @@ -724,7 +724,7 @@ dependencies = [ "tokio", "tokio-rustls 0.24.1", "tokio-util", - "toml 0.8.13", + "toml 0.8.15", "tracing", "usdt 0.5.0", "uuid", @@ -734,7 +734,7 @@ dependencies = [ [[package]] name = "crucible-client-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/crucible?rev=e10f8793f8414fdb9a165219f17e45fa014d088b#e10f8793f8414fdb9a165219f17e45fa014d088b" +source = "git+https://github.com/oxidecomputer/crucible?rev=e58ca3693cb9ce0438947beba10e97ee38a0966b#e58ca3693cb9ce0438947beba10e97ee38a0966b" dependencies = [ "base64 0.22.1", "crucible-workspace-hack", @@ -747,7 +747,7 @@ dependencies = [ [[package]] name = "crucible-common" version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=e10f8793f8414fdb9a165219f17e45fa014d088b#e10f8793f8414fdb9a165219f17e45fa014d088b" +source = "git+https://github.com/oxidecomputer/crucible?rev=e58ca3693cb9ce0438947beba10e97ee38a0966b#e58ca3693cb9ce0438947beba10e97ee38a0966b" dependencies = [ "anyhow", "atty", @@ -768,7 +768,7 @@ dependencies = [ "thiserror", "tokio", "tokio-rustls 0.24.1", - "toml 0.8.13", + "toml 0.8.15", "twox-hash", "uuid", "vergen", @@ -777,7 +777,7 @@ dependencies = [ [[package]] name = "crucible-protocol" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/crucible?rev=e10f8793f8414fdb9a165219f17e45fa014d088b#e10f8793f8414fdb9a165219f17e45fa014d088b" +source = "git+https://github.com/oxidecomputer/crucible?rev=e58ca3693cb9ce0438947beba10e97ee38a0966b#e58ca3693cb9ce0438947beba10e97ee38a0966b" dependencies = [ "anyhow", "bincode", @@ -860,7 +860,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -871,7 +871,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -910,20 +910,20 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] name = "derive_more" -version = "0.99.17" +version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "convert_case", "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 1.0.109", + "syn 2.0.71", ] [[package]] @@ -1011,7 +1011,7 @@ dependencies = [ [[package]] name = "dns-service-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "anyhow", "chrono", @@ -1058,7 +1058,7 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dropshot" version = "0.10.2-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#2fdf37183d2fac385e0f66f48903bc567f2e8e26" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#7b594d01f47ca783c5d4a25ca2b256602580fe92" dependencies = [ "async-stream", "async-trait", @@ -1094,7 +1094,7 @@ dependencies = [ "slog-term", "tokio", "tokio-rustls 0.25.0", - "toml 0.8.13", + "toml 0.8.15", "usdt 0.5.0", "uuid", "version_check", @@ -1104,13 +1104,14 @@ dependencies = [ [[package]] name = "dropshot_endpoint" version = "0.10.2-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#2fdf37183d2fac385e0f66f48903bc567f2e8e26" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#7b594d01f47ca783c5d4a25ca2b256602580fe92" dependencies = [ + "heck 0.5.0", "proc-macro2", "quote", "serde", - "serde_tokenstream 0.2.0", - "syn 2.0.64", + "serde_tokenstream 0.2.1", + "syn 2.0.71", ] [[package]] @@ -1342,6 +1343,12 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "float-ord" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce81f49ae8a0482e4c55ea62ebbd7e5a686af544c00b9d090bba3ff9be97b3d" + [[package]] name = "fnv" version = "1.0.7" @@ -1440,7 +1447,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -1476,7 +1483,7 @@ dependencies = [ [[package]] name = "gateway-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "base64 0.22.1", "chrono", @@ -1495,9 +1502,9 @@ dependencies = [ [[package]] name = "gateway-messages" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/management-gateway-service?rev=2739c18e80697aa6bc235c935176d14b4d757ee9#2739c18e80697aa6bc235c935176d14b4d757ee9" +source = "git+https://github.com/oxidecomputer/management-gateway-service?rev=c85a4ca043aaa389df12aac5348d8a3feda28762#c85a4ca043aaa389df12aac5348d8a3feda28762" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "hubpack", "serde", "serde_repr", @@ -1527,15 +1534,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "getopts" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" -dependencies = [ - "unicode-width", -] - [[package]] name = "getrandom" version = "0.2.14" @@ -1927,7 +1925,7 @@ dependencies = [ [[package]] name = "internal-dns" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "anyhow", "chrono", @@ -2044,9 +2042,9 @@ dependencies = [ [[package]] name = "kstat-rs" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc713c7902f757cf0c04012dbad3864ea505f2660467b704847ea7ea2ff6d67" +checksum = "27964e4632377753acb0898ce6f28770d50cbca1339200ae63d700cff97b5c2b" dependencies = [ "libc", "thiserror", @@ -2060,15 +2058,15 @@ checksum = "bf36173d4167ed999940f804952e6b08197cae5ad5d572eb4db150ce8ad5d58f" [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libdlpi-sys" @@ -2159,9 +2157,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru-cache" @@ -2236,7 +2234,7 @@ dependencies = [ [[package]] name = "mg-admin-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/maghemite?rev=025389ff39d594bf2b815377e2c1dc4dd23b1f96#025389ff39d594bf2b815377e2c1dc4dd23b1f96" +source = "git+https://github.com/oxidecomputer/maghemite?rev=220dd026e83142b83bd93123f465a64dd4600201#220dd026e83142b83bd93123f465a64dd4600201" dependencies = [ "anyhow", "chrono", @@ -2299,7 +2297,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -2369,18 +2367,18 @@ dependencies = [ [[package]] name = "nexus-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "chrono", "futures", - "ipnetwork", "nexus-types", "omicron-common", "omicron-passwords", "omicron-uuid-kinds", "omicron-workspace-hack", + "oxnet", "progenitor", - "regress", + "regress 0.9.1", "reqwest", "schemars", "serde", @@ -2392,7 +2390,7 @@ dependencies = [ [[package]] name = "nexus-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "anyhow", "api_identity", @@ -2412,6 +2410,7 @@ dependencies = [ "omicron-uuid-kinds", "omicron-workspace-hack", "openssl", + "oxnet", "parse-display", "schemars", "serde", @@ -2613,7 +2612,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -2643,7 +2642,7 @@ dependencies = [ [[package]] name = "omicron-common" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "anyhow", "api_identity", @@ -2661,11 +2660,12 @@ dependencies = [ "omicron-uuid-kinds", "omicron-workspace-hack", "once_cell", + "oxnet", "parse-display", "progenitor", "progenitor-client", "rand", - "regress", + "regress 0.9.1", "reqwest", "schemars", "semver 1.0.23", @@ -2684,7 +2684,7 @@ dependencies = [ [[package]] name = "omicron-passwords" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "argon2", "omicron-workspace-hack", @@ -2698,7 +2698,7 @@ dependencies = [ [[package]] name = "omicron-uuid-kinds" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "newtype-uuid", "paste", @@ -2783,7 +2783,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -2840,32 +2840,59 @@ dependencies = [ [[package]] name = "oximeter" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" +dependencies = [ + "anyhow", + "chrono", + "clap", + "omicron-workspace-hack", + "oximeter-impl", + "oximeter-macro-impl", + "oximeter-timeseries-macro", + "prettyplease", + "syn 2.0.71", + "toml 0.8.15", + "uuid", +] + +[[package]] +name = "oximeter-impl" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "bytes", "chrono", + "float-ord", + "heck 0.5.0", "num", "omicron-common", "omicron-workspace-hack", "oximeter-macro-impl", + "prettyplease", + "proc-macro2", + "quote", "regex", "schemars", "serde", "serde_json", + "slog-error-chain", "strum", + "syn 2.0.71", "thiserror", + "toml 0.8.15", "uuid", ] [[package]] name = "oximeter-instruments" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "cfg-if", "chrono", "futures", "kstat-rs", + "libc", "omicron-workspace-hack", "oximeter", "slog", @@ -2877,18 +2904,18 @@ dependencies = [ [[package]] name = "oximeter-macro-impl" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "omicron-workspace-hack", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] name = "oximeter-producer" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "chrono", "dropshot", @@ -2906,6 +2933,29 @@ dependencies = [ "uuid", ] +[[package]] +name = "oximeter-timeseries-macro" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" +dependencies = [ + "omicron-workspace-hack", + "oximeter-impl", + "proc-macro2", + "quote", + "syn 2.0.71", +] + +[[package]] +name = "oxnet" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/oxnet#7dacd265f1bcd0f8b47bd4805250c4f0812da206" +dependencies = [ + "ipnetwork", + "schemars", + "serde", + "serde_json", +] + [[package]] name = "p4rs" version = "0.1.0" @@ -2954,9 +3004,9 @@ dependencies = [ [[package]] name = "parse-display" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06af5f9333eb47bd9ba8462d612e37a8328a5cb80b13f0af4de4c3b89f52dee5" +checksum = "914a1c2265c98e2446911282c6ac86d8524f495792c38c5bd884f80499c7538a" dependencies = [ "parse-display-derive", "regex", @@ -2965,16 +3015,16 @@ dependencies = [ [[package]] name = "parse-display-derive" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc9252f259500ee570c75adcc4e317fa6f57a1e47747d622e0bf838002a7b790" +checksum = "2ae7800a4c974efd12df917266338e79a7a74415173caf7e70aa0a0707345281" dependencies = [ "proc-macro2", "quote", "regex", "regex-syntax 0.8.3", "structmeta", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -3031,7 +3081,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -3197,7 +3247,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -3310,6 +3360,16 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbc83ee4a840062f368f9096d80077a9841ec117e17e7f700df81958f1451254" +[[package]] +name = "prettyplease" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +dependencies = [ + "proc-macro2", + "syn 2.0.71", +] + [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -3346,9 +3406,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.82" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -3356,18 +3416,17 @@ dependencies = [ [[package]] name = "progenitor" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#c59c6d64ed2a206bbbc9949abd3457bc0e3810e2" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#5fededb4f56191e833cb2263b5c1f99b48a229cc" dependencies = [ "progenitor-client", "progenitor-impl", "progenitor-macro", - "serde_json", ] [[package]] name = "progenitor-client" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#c59c6d64ed2a206bbbc9949abd3457bc0e3810e2" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#5fededb4f56191e833cb2263b5c1f99b48a229cc" dependencies = [ "bytes", "futures-core", @@ -3381,9 +3440,8 @@ dependencies = [ [[package]] name = "progenitor-impl" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#c59c6d64ed2a206bbbc9949abd3457bc0e3810e2" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#5fededb4f56191e833cb2263b5c1f99b48a229cc" dependencies = [ - "getopts", "heck 0.5.0", "http 0.2.12", "indexmap 2.2.6", @@ -3394,7 +3452,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "syn 2.0.64", + "syn 2.0.71", "thiserror", "typify", "unicode-ident", @@ -3403,7 +3461,7 @@ dependencies = [ [[package]] name = "progenitor-macro" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#c59c6d64ed2a206bbbc9949abd3457bc0e3810e2" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#5fededb4f56191e833cb2263b5c1f99b48a229cc" dependencies = [ "openapiv3", "proc-macro2", @@ -3412,9 +3470,9 @@ dependencies = [ "schemars", "serde", "serde_json", - "serde_tokenstream 0.2.0", + "serde_tokenstream 0.2.1", "serde_yaml", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -3777,9 +3835,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", @@ -3829,6 +3887,16 @@ dependencies = [ "memchr", ] +[[package]] +name = "regress" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16fe0a24af5daaae947294213d2fd2646fbf5e1fbacc1d4ba3e84b2393854842" +dependencies = [ + "hashbrown 0.14.5", + "memchr", +] + [[package]] name = "reqwest" version = "0.11.27" @@ -4103,9 +4171,9 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.19" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6e7ed6919cb46507fb01ff1654309219f62b4d603822501b0b80d42f6f21ef" +checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" dependencies = [ "bytes", "chrono", @@ -4118,14 +4186,14 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.19" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "185f2b7aa7e02d418e453790dde16890256bbd2bcd04b7dc5348811052b53f49" +checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4151,7 +4219,7 @@ checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4222,9 +4290,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.202" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] @@ -4240,13 +4308,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.202" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4257,7 +4325,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4271,9 +4339,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" dependencies = [ "itoa", "ryu", @@ -4298,7 +4366,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4332,14 +4400,14 @@ dependencies = [ [[package]] name = "serde_tokenstream" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a00ffd23fd882d096f09fcaae2a9de8329a328628e86027e049ee051dc1621f" +checksum = "8790a7c3fe883e443eaa2af6f705952bc5d6e8671a220b9335c8cae92c037e74" dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4356,9 +4424,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" +checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" dependencies = [ "base64 0.22.1", "chrono", @@ -4374,14 +4442,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" +checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4484,17 +4552,17 @@ dependencies = [ [[package]] name = "sled-agent-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#116590c584ccfe222333fcf581dfd2d331c6f74a" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#2eb63b157b20e618078883a8a2a37148dcfcc5fc" dependencies = [ "anyhow", "async-trait", "chrono", - "ipnetwork", "omicron-common", "omicron-uuid-kinds", "omicron-workspace-hack", + "oxnet", "progenitor", - "regress", + "regress 0.9.1", "reqwest", "schemars", "serde", @@ -4563,7 +4631,7 @@ source = "git+https://github.com/oxidecomputer/slog-error-chain?branch=main#15f6 dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4638,9 +4706,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "steno" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a1e7ccea133c197729abfd16dccf91a3c4d0da1e94bb0c0aa164c2b8a227481" +checksum = "a77bea0b19d52c04783569b87bb3e8d47c85e285be239a9b0428241bdbb95460" dependencies = [ "anyhow", "async-trait", @@ -4679,7 +4747,7 @@ dependencies = [ "proc-macro2", "quote", "structmeta-derive", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4690,7 +4758,7 @@ checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4712,7 +4780,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4725,7 +4793,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -4757,9 +4825,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.64" +version = "2.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ad3dee41f36859875573074334c200d1add8e4a87bb37113ebd31d926b7b11f" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" dependencies = [ "proc-macro2", "quote", @@ -4932,22 +5000,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -5020,9 +5088,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "eb2caba9f80616f438e09748d5acda951967e1ea58508ef53d9c6402485a46df" dependencies = [ "backtrace", "bytes", @@ -5039,13 +5107,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -5118,14 +5186,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.13" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" +checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.13", + "toml_edit 0.22.16", ] [[package]] @@ -5152,9 +5220,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.13" +version = "0.22.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" +checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788" dependencies = [ "indexmap 2.2.6", "serde", @@ -5201,7 +5269,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -5368,7 +5436,7 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "typify" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#ad1296f6ceb998ae8c247d999b7828703a232bdd" +source = "git+https://github.com/oxidecomputer/typify#e1ef79f972152355ba80a255d6086d1ad3404815" dependencies = [ "typify-impl", "typify-macro", @@ -5377,18 +5445,18 @@ dependencies = [ [[package]] name = "typify-impl" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#ad1296f6ceb998ae8c247d999b7828703a232bdd" +source = "git+https://github.com/oxidecomputer/typify#e1ef79f972152355ba80a255d6086d1ad3404815" dependencies = [ "heck 0.5.0", "log", "proc-macro2", "quote", - "regress", + "regress 0.10.0", "schemars", "semver 1.0.23", "serde", "serde_json", - "syn 2.0.64", + "syn 2.0.71", "thiserror", "unicode-ident", ] @@ -5396,7 +5464,7 @@ dependencies = [ [[package]] name = "typify-macro" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#ad1296f6ceb998ae8c247d999b7828703a232bdd" +source = "git+https://github.com/oxidecomputer/typify#e1ef79f972152355ba80a255d6086d1ad3404815" dependencies = [ "proc-macro2", "quote", @@ -5404,8 +5472,8 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "serde_tokenstream 0.2.0", - "syn 2.0.64", + "serde_tokenstream 0.2.1", + "syn 2.0.71", "typify-impl", ] @@ -5545,8 +5613,8 @@ dependencies = [ "dtrace-parser 0.2.0", "proc-macro2", "quote", - "serde_tokenstream 0.2.0", - "syn 2.0.64", + "serde_tokenstream 0.2.1", + "syn 2.0.71", "usdt-impl 0.5.0", ] @@ -5584,7 +5652,7 @@ dependencies = [ "quote", "serde", "serde_json", - "syn 2.0.64", + "syn 2.0.71", "thiserror", "thread-id", "version_check", @@ -5613,8 +5681,8 @@ dependencies = [ "dtrace-parser 0.2.0", "proc-macro2", "quote", - "serde_tokenstream 0.2.0", - "syn 2.0.64", + "serde_tokenstream 0.2.1", + "syn 2.0.71", "usdt-impl 0.5.0", ] @@ -5632,9 +5700,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" dependencies = [ "getrandom", "serde", @@ -5753,7 +5821,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", "wasm-bindgen-shared", ] @@ -5787,7 +5855,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6195,7 +6263,7 @@ checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] @@ -6206,7 +6274,7 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.71", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 0b7362806..9fa8ed5d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -78,8 +78,8 @@ oximeter-producer = { git = "https://github.com/oxidecomputer/omicron", branch = oximeter = { git = "https://github.com/oxidecomputer/omicron", branch = "main" } # Crucible -crucible = { git = "https://github.com/oxidecomputer/crucible", rev = "e10f8793f8414fdb9a165219f17e45fa014d088b" } -crucible-client-types = { git = "https://github.com/oxidecomputer/crucible", rev = "e10f8793f8414fdb9a165219f17e45fa014d088b" } +crucible = { git = "https://github.com/oxidecomputer/crucible", rev = "e58ca3693cb9ce0438947beba10e97ee38a0966b" } +crucible-client-types = { git = "https://github.com/oxidecomputer/crucible", rev = "e58ca3693cb9ce0438947beba10e97ee38a0966b" } # External dependencies anyhow = "1.0" diff --git a/bin/mock-server/src/main.rs b/bin/mock-server/src/main.rs index fe52c527a..0f054cfb9 100644 --- a/bin/mock-server/src/main.rs +++ b/bin/mock-server/src/main.rs @@ -112,6 +112,7 @@ async fn main() -> anyhow::Result<()> { bind_address: propolis_addr, request_body_max_bytes: 1024 * 1024, // 1M for ISO bytes default_handler_task_mode: HandlerTaskMode::Detached, + log_headers: vec![], }; let log = build_logger(); diff --git a/bin/propolis-server/src/lib/stats/virtual_machine.rs b/bin/propolis-server/src/lib/stats/virtual_machine.rs index 731a55398..cacb73a62 100644 --- a/bin/propolis-server/src/lib/stats/virtual_machine.rs +++ b/bin/propolis-server/src/lib/stats/virtual_machine.rs @@ -415,7 +415,6 @@ mod test { use crate::stats::virtual_machine::OXIMETER_IDLE_STATE; use crate::stats::virtual_machine::OXIMETER_RUN_STATE; use crate::stats::virtual_machine::OXIMETER_WAITING_STATE; - use oximeter::schema::SchemaSet; use oximeter::types::Cumulative; use oximeter::Datum; use oximeter::FieldValue; @@ -446,19 +445,6 @@ mod test { } } - #[test] - fn test_no_schema_changes() { - let mut set = SchemaSet::default(); - assert!(set - .insert_checked(&test_virtual_machine(), &test_usage()) - .is_none()); - const PATH: &str = concat!( - env!("CARGO_MANIFEST_DIR"), - "/tests/output/virtual-machine-schema.json", - ); - set.assert_contents(PATH); - } - #[test] fn test_kstat_instance_from_instance_id() { let ks = Kstat { diff --git a/bin/propolis-server/src/main.rs b/bin/propolis-server/src/main.rs index 2028481f7..36eba8b37 100644 --- a/bin/propolis-server/src/main.rs +++ b/bin/propolis-server/src/main.rs @@ -179,6 +179,7 @@ fn main() -> anyhow::Result<()> { bind_address: propolis_addr, request_body_max_bytes: 1024 * 1024, // 1M for ISO bytes default_handler_task_mode: HandlerTaskMode::Detached, + log_headers: vec![], }; let log = build_logger(); diff --git a/bin/propolis-server/tests/output/virtual-machine-schema.json b/bin/propolis-server/tests/output/virtual-machine-schema.json deleted file mode 100644 index adab0eb57..000000000 --- a/bin/propolis-server/tests/output/virtual-machine-schema.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "virtual_machine:vcpu_usage": { - "timeseries_name": "virtual_machine:vcpu_usage", - "field_schema": [ - { - "name": "instance_id", - "field_type": "uuid", - "source": "target" - }, - { - "name": "project_id", - "field_type": "uuid", - "source": "target" - }, - { - "name": "silo_id", - "field_type": "uuid", - "source": "target" - }, - { - "name": "state", - "field_type": "string", - "source": "metric" - }, - { - "name": "vcpu_id", - "field_type": "u32", - "source": "metric" - } - ], - "datum_type": "cumulative_u64", - "created": "2024-06-17T17:08:32.892991841Z" - } -} \ No newline at end of file diff --git a/lib/propolis/src/block/crucible.rs b/lib/propolis/src/block/crucible.rs index 241019c60..e7c19ea51 100644 --- a/lib/propolis/src/block/crucible.rs +++ b/lib/propolis/src/block/crucible.rs @@ -327,13 +327,10 @@ fn block_offset_count( off_bytes: usize, len_bytes: usize, block_size: usize, -) -> Result<(crucible::Block, usize), Error> { +) -> Result<(crucible::BlockIndex, usize), Error> { if off_bytes % block_size == 0 && len_bytes % block_size == 0 { Ok(( - crucible::Block::new( - (off_bytes / block_size) as u64, - block_size.trailing_zeros(), - ), + crucible::BlockIndex((off_bytes / block_size) as u64), len_bytes / block_size, )) } else { @@ -447,7 +444,6 @@ mod test { let off = bs * 4; let (block, _len) = block_offset_count(off, 0, bs).unwrap(); - assert_eq!(block.block_size_in_bytes(), bs as u32); - assert_eq!(block.bytes(), off); + assert_eq!(block.0, 4); } }