diff --git a/Cargo.lock b/Cargo.lock index f62ab44e4..857443395 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -162,7 +162,7 @@ dependencies = [ "omicron-workspace-hack", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -197,7 +197,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -219,7 +219,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -230,7 +230,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -448,9 +448,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] @@ -558,7 +558,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -708,7 +708,7 @@ dependencies = [ "crucible-common", "crucible-protocol", "crucible-workspace-hack", - "dropshot", + "dropshot 0.10.2-dev", "futures", "futures-core", "http 0.2.12", @@ -736,7 +736,7 @@ dependencies = [ "tokio", "tokio-rustls 0.24.1", "tokio-util", - "toml 0.8.15", + "toml 0.8.19", "tracing", "usdt 0.5.0", "uuid", @@ -764,7 +764,7 @@ dependencies = [ "anyhow", "atty", "crucible-workspace-hack", - "dropshot", + "dropshot 0.10.2-dev", "nix 0.28.0", "rusqlite", "rustls-pemfile 1.0.4", @@ -780,7 +780,7 @@ dependencies = [ "thiserror", "tokio", "tokio-rustls 0.24.1", - "toml 0.8.15", + "toml 0.8.19", "twox-hash", "uuid", "vergen", @@ -872,7 +872,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -883,7 +883,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -922,7 +922,7 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -935,7 +935,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -1079,19 +1079,19 @@ dependencies = [ "camino", "chrono", "debug-ignore", - "dropshot_endpoint", + "dropshot_endpoint 0.10.2-dev", "form_urlencoded", "futures", "hostname 0.4.0", "http 0.2.12", - "hyper", - "indexmap 2.2.6", + "hyper 0.14.28", + "indexmap 2.4.0", "multer", "openapiv3", "paste", "percent-encoding", "rustls 0.22.4", - "rustls-pemfile 2.1.2", + "rustls-pemfile 2.1.3", "schemars", "scopeguard", "serde", @@ -1106,7 +1106,55 @@ dependencies = [ "slog-term", "tokio", "tokio-rustls 0.25.0", - "toml 0.8.15", + "toml 0.8.19", + "usdt 0.5.0", + "uuid", + "version_check", + "waitgroup", +] + +[[package]] +name = "dropshot" +version = "0.11.1-dev" +source = "git+https://github.com/seanmonstar/dropshot?branch=hyper-v1-2.4-own-body#9075a2a56f0e6cd8797ecc3a0842922718f0560b" +dependencies = [ + "async-stream", + "async-trait", + "base64 0.22.1", + "bytes", + "camino", + "chrono", + "debug-ignore", + "dropshot_endpoint 0.11.1-dev", + "form_urlencoded", + "futures", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "indexmap 2.4.0", + "multer", + "openapiv3", + "paste", + "percent-encoding", + "rustls 0.22.4", + "rustls-pemfile 2.1.3", + "schemars", + "scopeguard", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sha1", + "slog", + "slog-async", + "slog-bunyan", + "slog-json", + "slog-term", + "tokio", + "tokio-rustls 0.25.0", + "toml 0.8.19", "usdt 0.5.0", "uuid", "version_check", @@ -1122,8 +1170,21 @@ dependencies = [ "proc-macro2", "quote", "serde", - "serde_tokenstream 0.2.1", - "syn 2.0.71", + "serde_tokenstream 0.2.2", + "syn 2.0.75", +] + +[[package]] +name = "dropshot_endpoint" +version = "0.11.1-dev" +source = "git+https://github.com/seanmonstar/dropshot?branch=hyper-v1-2.4-own-body#9075a2a56f0e6cd8797ecc3a0842922718f0560b" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "serde", + "serde_tokenstream 0.2.2", + "syn 2.0.75", ] [[package]] @@ -1445,7 +1506,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -1604,7 +1665,26 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.2.6", + "indexmap 2.4.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -1727,6 +1807,29 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "pin-project-lite", +] + [[package]] name = "httparse" version = "1.8.0" @@ -1776,9 +1879,9 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", - "http-body", + "http-body 0.4.6", "httparse", "httpdate", "itoa", @@ -1790,6 +1893,27 @@ dependencies = [ "want", ] +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + [[package]] name = "hyper-rustls" version = "0.24.2" @@ -1798,7 +1922,7 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper", + "hyper 0.14.28", "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", @@ -1811,12 +1935,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper", + "hyper 0.14.28", "native-tls", "tokio", "tokio-native-tls", ] +[[package]] +name = "hyper-util" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.4.1", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", +] + [[package]] name = "iana-time-zone" version = "0.1.60" @@ -1892,9 +2036,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -1941,7 +2085,7 @@ dependencies = [ "chrono", "dns-service-client", "futures", - "hyper", + "hyper 0.14.28", "omicron-common", "omicron-uuid-kinds", "omicron-workspace-hack", @@ -2308,7 +2452,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -2623,7 +2767,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -2661,7 +2805,7 @@ dependencies = [ "backoff", "camino", "chrono", - "dropshot", + "dropshot 0.10.2-dev", "futures", "hex", "http 0.2.12", @@ -2766,7 +2910,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc02deea53ffe807708244e5914f6b099ad7015a207ee24317c22112e17d9c5c" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "serde", "serde_json", ] @@ -2794,7 +2938,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -2861,8 +3005,8 @@ dependencies = [ "oximeter-macro-impl", "oximeter-timeseries-macro", "prettyplease", - "syn 2.0.71", - "toml 0.8.15", + "syn 2.0.75", + "toml 0.8.19", "uuid", ] @@ -2888,9 +3032,9 @@ dependencies = [ "serde_json", "slog-error-chain", "strum", - "syn 2.0.71", + "syn 2.0.75", "thiserror", - "toml 0.8.15", + "toml 0.8.19", "uuid", ] @@ -2920,7 +3064,7 @@ dependencies = [ "omicron-workspace-hack", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -2929,7 +3073,7 @@ version = "0.1.0" source = "git+https://github.com/oxidecomputer/omicron?branch=main#dea7eb6f4626c55defe629a4a70a05f7def36182" dependencies = [ "chrono", - "dropshot", + "dropshot 0.10.2-dev", "internal-dns", "nexus-client", "omicron-common", @@ -2953,7 +3097,7 @@ dependencies = [ "oximeter-impl", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -3035,7 +3179,7 @@ dependencies = [ "regex", "regex-syntax 0.8.3", "structmeta", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -3092,7 +3236,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -3113,7 +3257,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.2.6", + "indexmap 2.4.0", "serde", "serde_derive", ] @@ -3134,7 +3278,6 @@ dependencies = [ "flate2", "futures", "hex", - "http 0.2.12", "libc", "newtype_derive", "propolis-client", @@ -3204,9 +3347,10 @@ name = "phd-tests" version = "0.1.0" dependencies = [ "futures", - "http 0.2.12", + "http 1.1.0", "phd-testcase", "propolis-client", + "reqwest", "tracing", "uuid", ] @@ -3260,7 +3404,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -3281,6 +3425,26 @@ dependencies = [ "siphasher", ] +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.75", +] + [[package]] name = "pin-project-lite" version = "0.2.14" @@ -3393,7 +3557,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -3470,7 +3634,7 @@ source = "git+https://github.com/oxidecomputer/progenitor?branch=main#5fededb4f5 dependencies = [ "heck 0.5.0", "http 0.2.12", - "indexmap 2.2.6", + "indexmap 2.4.0", "openapiv3", "proc-macro2", "quote", @@ -3478,7 +3642,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "syn 2.0.71", + "syn 2.0.75", "thiserror", "typify", "unicode-ident", @@ -3496,9 +3660,9 @@ dependencies = [ "schemars", "serde", "serde_json", - "serde_tokenstream 0.2.1", + "serde_tokenstream 0.2.2", "serde_yaml", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -3597,9 +3761,9 @@ dependencies = [ "atty", "base64 0.21.7", "clap", - "dropshot", + "dropshot 0.11.1-dev", "futures", - "hyper", + "hyper 1.4.1", "progenitor", "propolis_types", "rand", @@ -3643,13 +3807,12 @@ dependencies = [ "clap", "const_format", "crucible-client-types", - "dropshot", + "dropshot 0.11.1-dev", "erased-serde", "expectorate", "futures", "hex", - "http 0.2.12", - "hyper", + "hyper 1.4.1", "internal-dns", "kstat-rs", "lazy_static", @@ -3936,10 +4099,10 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", - "http-body", - "hyper", + "http-body 0.4.6", + "hyper 0.14.28", "hyper-rustls", "hyper-tls", "ipnet", @@ -3989,7 +4152,7 @@ dependencies = [ "ascii", "bitflags 2.5.0", "clap", - "dropshot", + "dropshot 0.11.1-dev", "futures", "image", "rgb_frame", @@ -4147,9 +4310,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" dependencies = [ "base64 0.22.1", "rustls-pki-types", @@ -4236,7 +4399,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4262,7 +4425,7 @@ checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4333,9 +4496,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.204" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" dependencies = [ "serde_derive", ] @@ -4351,13 +4514,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4368,7 +4531,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4382,11 +4545,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -4409,14 +4573,14 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -4443,14 +4607,14 @@ dependencies = [ [[package]] name = "serde_tokenstream" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8790a7c3fe883e443eaa2af6f705952bc5d6e8671a220b9335c8cae92c037e74" +checksum = "64060d864397305347a78851c51588fd283767e7e7589829e8121d65512340f1" dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4475,7 +4639,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.2.6", + "indexmap 2.4.0", "serde", "serde_derive", "serde_json", @@ -4492,7 +4656,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4501,7 +4665,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "itoa", "ryu", "serde", @@ -4695,7 +4859,7 @@ source = "git+https://github.com/oxidecomputer/slog-error-chain?branch=main#15f6 dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4833,7 +4997,7 @@ dependencies = [ "proc-macro2", "quote", "structmeta-derive", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4844,7 +5008,7 @@ checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4866,7 +5030,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4879,7 +5043,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4911,9 +5075,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.71" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -5101,7 +5265,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -5199,7 +5363,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -5272,21 +5436,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.16", + "toml_edit 0.22.20", ] [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] @@ -5297,7 +5461,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime", @@ -5306,17 +5470,38 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.16" +version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.8", + "winnow 0.6.18", ] +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + [[package]] name = "tower-service" version = "0.3.2" @@ -5355,7 +5540,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -5542,7 +5727,7 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "syn 2.0.71", + "syn 2.0.75", "thiserror", "unicode-ident", ] @@ -5558,8 +5743,8 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "serde_tokenstream 0.2.1", - "syn 2.0.71", + "serde_tokenstream 0.2.2", + "syn 2.0.75", "typify-impl", ] @@ -5699,8 +5884,8 @@ dependencies = [ "dtrace-parser 0.2.0", "proc-macro2", "quote", - "serde_tokenstream 0.2.1", - "syn 2.0.71", + "serde_tokenstream 0.2.2", + "syn 2.0.75", "usdt-impl 0.5.0", ] @@ -5738,7 +5923,7 @@ dependencies = [ "quote", "serde", "serde_json", - "syn 2.0.71", + "syn 2.0.75", "thiserror", "thread-id", "version_check", @@ -5767,8 +5952,8 @@ dependencies = [ "dtrace-parser 0.2.0", "proc-macro2", "quote", - "serde_tokenstream 0.2.1", - "syn 2.0.71", + "serde_tokenstream 0.2.2", + "syn 2.0.75", "usdt-impl 0.5.0", ] @@ -5824,9 +6009,9 @@ dependencies = [ [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "viona_api" @@ -5907,7 +6092,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", "wasm-bindgen-shared", ] @@ -5941,7 +6126,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6246,9 +6431,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.8" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] @@ -6349,7 +6534,7 @@ checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -6360,7 +6545,7 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 63d6293df..e5ca58170 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -106,7 +106,8 @@ clap = "4.2" const_format = "0.2" crossbeam-channel = "0.5" ctrlc = "3.2" -dropshot = { git = "https://github.com/oxidecomputer/dropshot", branch = "main" } +# dropshot = { git = "https://github.com/oxidecomputer/dropshot", branch = "main" } +dropshot = { git = "https://github.com/seanmonstar/dropshot", branch = "hyper-v1-2.4-own-body" } erased-serde = "0.4" errno = "0.2.8" escargot = "0.5.8" @@ -116,8 +117,8 @@ futures = "0.3" futures-util = "0.3.21" flate2 = "1.0.28" hex = "0.4.3" -http = "0.2.9" -hyper = "0.14" +http = "1.1.0" +hyper = "1.0" indicatif = "0.17.3" inventory = "0.3.0" kstat-rs = "0.2.3" diff --git a/bin/mock-server/src/lib/lib.rs b/bin/mock-server/src/lib/lib.rs index bd003631b..f450939bf 100644 --- a/bin/mock-server/src/lib/lib.rs +++ b/bin/mock-server/src/lib/lib.rs @@ -397,15 +397,15 @@ mod serial { use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; + use dropshot::WebsocketConnectionRaw; use futures::StreamExt; - use hyper::upgrade::Upgraded; use tokio::sync::{mpsc, Notify}; use tokio_tungstenite::tungstenite::protocol::{ frame::coding::CloseCode, CloseFrame, }; use tokio_tungstenite::WebSocketStream; - type WsConn = WebSocketStream; + type WsConn = WebSocketStream; const DEFAULT_MAX_LEN: usize = 1024; diff --git a/bin/propolis-server/Cargo.toml b/bin/propolis-server/Cargo.toml index f70fb5dc2..b21c1e460 100644 --- a/bin/propolis-server/Cargo.toml +++ b/bin/propolis-server/Cargo.toml @@ -30,7 +30,6 @@ crucible-client-types.workspace = true dropshot = { workspace = true, features = ["usdt-probes"] } erased-serde.workspace = true futures.workspace = true -http.workspace = true hyper.workspace = true internal-dns.workspace = true kstat-rs.workspace = true diff --git a/bin/propolis-server/src/lib/migrate/mod.rs b/bin/propolis-server/src/lib/migrate/mod.rs index a59e8c85c..35a58d2b4 100644 --- a/bin/propolis-server/src/lib/migrate/mod.rs +++ b/bin/propolis-server/src/lib/migrate/mod.rs @@ -25,7 +25,7 @@ pub(crate) trait MigrateConn: } impl MigrateConn for tokio_tungstenite::MaybeTlsStream {} -impl MigrateConn for hyper::upgrade::Upgraded {} +impl MigrateConn for dropshot::WebsocketConnectionRaw {} #[derive(Copy, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)] pub enum MigrateRole { diff --git a/bin/propolis-server/src/lib/serial/mod.rs b/bin/propolis-server/src/lib/serial/mod.rs index f96e26a66..8f4603aca 100644 --- a/bin/propolis-server/src/lib/serial/mod.rs +++ b/bin/propolis-server/src/lib/serial/mod.rs @@ -14,10 +14,10 @@ use std::sync::Arc; use std::time::Duration; use crate::serial::history_buffer::{HistoryBuffer, SerialHistoryOffset}; +use dropshot::WebsocketConnectionRaw; use futures::future::Fuse; use futures::stream::SplitSink; use futures::{FutureExt, SinkExt, StreamExt}; -use hyper::upgrade::Upgraded; use propolis::chardev::{pollers, Sink, Source}; use propolis_api_types::InstanceSerialConsoleControlMessage; use slog::{info, warn, Logger}; @@ -78,11 +78,14 @@ pub struct SerialTask { /// clients of a migration pub control_ch: mpsc::Sender, /// Channel used to send new client connections to the streaming task - pub websocks_ch: mpsc::Sender>, + pub websocks_ch: + mpsc::Sender>, } pub async fn instance_serial_task( - mut websocks_recv: mpsc::Receiver>, + mut websocks_recv: mpsc::Receiver< + WebSocketStream, + >, mut control_recv: mpsc::Receiver, serial: Arc>, log: Logger, @@ -94,11 +97,11 @@ pub async fn instance_serial_task( let mut ws_sinks: HashMap< usize, - SplitSink, Message>, + SplitSink, Message>, > = HashMap::new(); let mut ws_streams: HashMap< usize, - futures::stream::SplitStream>, + futures::stream::SplitStream>, > = HashMap::new(); let (send_ch, mut recv_ch) = mpsc::channel(4); diff --git a/bin/propolis-server/src/lib/server.rs b/bin/propolis-server/src/lib/server.rs index 94edfc154..20634a274 100644 --- a/bin/propolis-server/src/lib/server.rs +++ b/bin/propolis-server/src/lib/server.rs @@ -258,7 +258,7 @@ async fn instance_ensure_common( | VmError::AlreadyInitialized | VmError::RundownInProgress => HttpError::for_client_error( Some(api::ErrorCode::AlreadyInitialized.to_string()), - http::StatusCode::CONFLICT, + hyper::StatusCode::CONFLICT, "instance already initialized".to_string(), ), VmError::InitializationFailed(e) => HttpError::for_internal_error( @@ -390,7 +390,7 @@ async fn instance_state_monitor( state_watcher.changed().await.map_err(|_| { HttpError::for_client_error( Some(api::ErrorCode::NoInstance.to_string()), - http::status::StatusCode::GONE, + hyper::StatusCode::GONE, format!( "No instance present; will never reach generation {}", gen @@ -420,7 +420,7 @@ async fn instance_state_put( } VmError::ForbiddenStateChange(reason) => HttpError::for_status( Some(format!("instance state change not allowed: {}", reason)), - http::status::StatusCode::FORBIDDEN, + hyper::StatusCode::FORBIDDEN, ), _ => HttpError::for_internal_error(format!( "unexpected error from VM controller: {e}" @@ -674,7 +674,7 @@ async fn instance_issue_crucible_vcr_request( .map_err(|e| match e { VmError::ForbiddenStateChange(reason) => HttpError::for_status( Some(format!("instance state change not allowed: {}", reason)), - http::status::StatusCode::FORBIDDEN, + hyper::StatusCode::FORBIDDEN, ), _ => HttpError::for_internal_error(format!( "unexpected error from VM controller: {e}" @@ -730,7 +730,7 @@ pub fn api() -> ApiDescription> { fn not_created_error() -> HttpError { HttpError::for_client_error( Some(api::ErrorCode::NoInstance.to_string()), - http::StatusCode::FAILED_DEPENDENCY, + hyper::StatusCode::FAILED_DEPENDENCY, "Server not initialized (no instance)".to_string(), ) } diff --git a/bin/propolis-server/src/lib/vm/request_queue.rs b/bin/propolis-server/src/lib/vm/request_queue.rs index 56c630258..6cea692a1 100644 --- a/bin/propolis-server/src/lib/vm/request_queue.rs +++ b/bin/propolis-server/src/lib/vm/request_queue.rs @@ -433,7 +433,7 @@ impl Drop for ExternalRequestQueue { "VM destroyed before request could be handled" .to_string(), ), - http::StatusCode::GONE, + hyper::StatusCode::GONE, ))); } diff --git a/phd-tests/framework/Cargo.toml b/phd-tests/framework/Cargo.toml index eb6dc804e..547ba28e2 100644 --- a/phd-tests/framework/Cargo.toml +++ b/phd-tests/framework/Cargo.toml @@ -20,7 +20,6 @@ fatfs.workspace = true futures.workspace = true flate2.workspace = true hex.workspace = true -http.workspace = true libc.workspace = true newtype_derive.workspace = true propolis-client.workspace = true diff --git a/phd-tests/framework/src/test_vm/mod.rs b/phd-tests/framework/src/test_vm/mod.rs index 5cf2a1788..19b22fd61 100644 --- a/phd-tests/framework/src/test_vm/mod.rs +++ b/phd-tests/framework/src/test_vm/mod.rs @@ -985,7 +985,7 @@ async fn try_ensure_vm_destroyed(client: &Client) { // nothing else that *can* be done, but the error is unusual and should // be logged. match error.status() { - Some(http::status::StatusCode::FAILED_DEPENDENCY) => {} + Some(reqwest::StatusCode::FAILED_DEPENDENCY) => {} _ => { error!( %error, diff --git a/phd-tests/tests/Cargo.toml b/phd-tests/tests/Cargo.toml index 499878762..e02b23c56 100644 --- a/phd-tests/tests/Cargo.toml +++ b/phd-tests/tests/Cargo.toml @@ -12,5 +12,6 @@ futures.workspace = true http.workspace = true propolis-client.workspace = true phd-testcase.workspace = true +reqwest.workspace = true tracing.workspace = true uuid.workspace = true diff --git a/phd-tests/tests/src/server_state_machine.rs b/phd-tests/tests/src/server_state_machine.rs index 260e87f1c..dba7d3cd6 100644 --- a/phd-tests/tests/src/server_state_machine.rs +++ b/phd-tests/tests/src/server_state_machine.rs @@ -37,15 +37,15 @@ async fn instance_stop_causes_destroy_test(ctx: &Framework) { assert!(matches!( vm.run().await.unwrap_err().status().unwrap(), - http::status::StatusCode::FAILED_DEPENDENCY + reqwest::StatusCode::FAILED_DEPENDENCY )); assert!(matches!( vm.stop().await.unwrap_err().status().unwrap(), - http::status::StatusCode::FAILED_DEPENDENCY + reqwest::StatusCode::FAILED_DEPENDENCY )); assert!(matches!( vm.reset().await.unwrap_err().status().unwrap(), - http::status::StatusCode::FAILED_DEPENDENCY + reqwest::StatusCode::FAILED_DEPENDENCY )); }