From 8aa17aee6946bc5f371e656964b5c2be7855cecd Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Wed, 21 Aug 2024 16:51:01 -0700 Subject: [PATCH 01/13] WIP: migrate to hyper v1 --- Cargo.lock | 687 +++++++++++++++++++++++++++++++++++++++++++++-------- Cargo.toml | 7 +- 2 files changed, 587 insertions(+), 107 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 358c3690..96eda105 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -124,7 +124,7 @@ dependencies = [ "omicron-workspace-hack", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -176,7 +176,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -187,7 +187,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -492,7 +492,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -739,7 +739,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -750,7 +750,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -767,9 +767,9 @@ dependencies = [ "chrono", "common", "dpd-client", - "dropshot", + "dropshot 0.11.1-dev", "hostname 0.3.1", - "hyper", + "hyper 0.14.30", "ispf", "libnet 0.1.0 (git+https://github.com/oxidecomputer/netadm-sys?branch=main)", "mg-common", @@ -798,8 +798,8 @@ version = "0.1.0" dependencies = [ "oxnet", "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "reqwest 0.12.7", "serde", "serde_json", "slog", @@ -812,8 +812,8 @@ version = "0.1.0" source = "git+https://github.com/oxidecomputer/maghemite?rev=2bfd39000c878c45675651a7588c015c486e7f43#2bfd39000c878c45675651a7588c015c486e7f43" dependencies = [ "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "reqwest 0.11.27", "serde", "serde_json", "slog", @@ -886,7 +886,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -916,7 +916,7 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -929,7 +929,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -993,8 +993,8 @@ dependencies = [ "expectorate", "http 0.2.12", "omicron-workspace-hack", - "progenitor", - "reqwest", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "reqwest 0.11.27", "schemars", "serde", "slog", @@ -1026,9 +1026,9 @@ dependencies = [ "futures", "http 0.2.12", "oxnet", - "progenitor", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "regress 0.9.1", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -1049,12 +1049,60 @@ 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", + "hyper 0.14.30", + "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", + "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", @@ -1093,7 +1141,20 @@ dependencies = [ "quote", "serde", "serde_tokenstream", - "syn 2.0.74", + "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", + "syn 2.0.75", ] [[package]] @@ -1149,7 +1210,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -1252,7 +1313,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -1342,7 +1403,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -1393,9 +1454,9 @@ dependencies = [ "chrono", "gateway-messages", "omicron-workspace-hack", - "progenitor", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "rand", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -1475,6 +1536,25 @@ dependencies = [ "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", + "tracing", +] + [[package]] name = "half" version = "2.4.1" @@ -1662,6 +1742,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.9.4" @@ -1711,9 +1814,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", @@ -1725,6 +1828,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" @@ -1733,12 +1857,30 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper", + "hyper 0.14.30", "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", ] +[[package]] +name = "hyper-rustls" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.4.1", + "hyper-util", + "rustls 0.23.12", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.0", + "tower-service", + "webpki-roots 0.26.3", +] + [[package]] name = "hyper-tls" version = "0.5.0" @@ -1746,12 +1888,48 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper", + "hyper 0.14.30", "native-tls", "tokio", "tokio-native-tls", ] +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[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" @@ -1882,11 +2060,11 @@ dependencies = [ "dns-service-client", "futures", "hickory-resolver", - "hyper", + "hyper 0.14.30", "omicron-common", "omicron-uuid-kinds", "omicron-workspace-hack", - "reqwest", + "reqwest 0.11.27", "slog", "thiserror", "uuid", @@ -1993,7 +2171,7 @@ version = "0.1.0" source = "git+https://github.com/oxidecomputer/opte?rev=3dc9a3dd8d3c623f0cf2c659c7119ce0c026a96d#3dc9a3dd8d3c623f0cf2c659c7119ce0c026a96d" dependencies = [ "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2040,7 +2218,7 @@ dependencies = [ "propolis-server-config", "rand", "regex", - "reqwest", + "reqwest 0.11.27", "ron", "serde", "slog", @@ -2218,8 +2396,8 @@ dependencies = [ "anyhow", "chrono", "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "reqwest 0.12.7", "schemars", "serde", "serde_json", @@ -2234,8 +2412,8 @@ dependencies = [ "anyhow", "chrono", "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -2270,7 +2448,7 @@ name = "mg-ddm-verify" version = "0.1.0" dependencies = [ "anyhow", - "reqwest", + "reqwest 0.12.7", "serde", "serde_json", "tokio", @@ -2355,7 +2533,7 @@ dependencies = [ "chrono", "clap", "colored", - "dropshot", + "dropshot 0.11.1-dev", "hostname 0.3.1", "http 0.2.12", "mg-common", @@ -2485,9 +2663,9 @@ dependencies = [ "omicron-uuid-kinds", "omicron-workspace-hack", "oxnet", - "progenitor", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "regress 0.9.1", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -2608,7 +2786,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2700,7 +2878,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2747,7 +2925,7 @@ dependencies = [ "backoff", "camino", "chrono", - "dropshot", + "dropshot 0.10.2-dev", "futures", "hex", "http 0.2.12", @@ -2759,11 +2937,11 @@ dependencies = [ "once_cell", "oxnet", "parse-display", - "progenitor", - "progenitor-client", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-client 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "rand", "regress 0.9.1", - "reqwest", + "reqwest 0.11.27", "schemars", "semver 1.0.23", "serde", @@ -2825,7 +3003,7 @@ dependencies = [ "futures", "futures-util", "hex", - "reqwest", + "reqwest 0.11.27", "ring 0.16.20", "semver 1.0.23", "serde", @@ -2880,7 +3058,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -2972,7 +3150,7 @@ dependencies = [ "oximeter-macro-impl", "oximeter-timeseries-macro", "prettyplease", - "syn 2.0.74", + "syn 2.0.75", "toml 0.8.19", "uuid", ] @@ -2999,7 +3177,7 @@ dependencies = [ "serde_json", "slog-error-chain", "strum", - "syn 2.0.74", + "syn 2.0.75", "thiserror", "toml 0.8.19", "uuid", @@ -3013,7 +3191,7 @@ dependencies = [ "omicron-workspace-hack", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3022,7 +3200,7 @@ version = "0.1.0" source = "git+https://github.com/oxidecomputer/omicron?branch=main#66ac7b328889e1921f84cc6b082765023daf722a" dependencies = [ "chrono", - "dropshot", + "dropshot 0.10.2-dev", "internal-dns", "nexus-client", "omicron-common", @@ -3046,7 +3224,7 @@ dependencies = [ "oximeter-impl", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3144,7 +3322,7 @@ dependencies = [ "regex", "regex-syntax", "structmeta", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3201,7 +3379,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3227,6 +3405,26 @@ dependencies = [ "serde_derive", ] +[[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" @@ -3320,7 +3518,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3375,14 +3573,38 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "progenitor" +version = "0.7.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#f56fc4a2bf72655e7b8523af55524b10045c2758" +dependencies = [ + "progenitor-client 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "progenitor-macro 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", +] + [[package]] name = "progenitor" version = "0.7.0" source = "git+https://github.com/oxidecomputer/progenitor?branch=main#a88326e9318fb4c63744650c1edaa2f152c36a90" dependencies = [ - "progenitor-client", - "progenitor-impl", - "progenitor-macro", + "progenitor-client 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-macro 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", +] + +[[package]] +name = "progenitor-client" +version = "0.7.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#f56fc4a2bf72655e7b8523af55524b10045c2758" +dependencies = [ + "bytes", + "futures-core", + "percent-encoding", + "reqwest 0.12.7", + "serde", + "serde_json", + "serde_urlencoded", ] [[package]] @@ -3393,12 +3615,33 @@ dependencies = [ "bytes", "futures-core", "percent-encoding", - "reqwest", + "reqwest 0.11.27", "serde", "serde_json", "serde_urlencoded", ] +[[package]] +name = "progenitor-impl" +version = "0.7.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#f56fc4a2bf72655e7b8523af55524b10045c2758" +dependencies = [ + "heck 0.5.0", + "http 0.2.12", + "indexmap 2.4.0", + "openapiv3", + "proc-macro2", + "quote", + "regex", + "schemars", + "serde", + "serde_json", + "syn 2.0.75", + "thiserror", + "typify", + "unicode-ident", +] + [[package]] name = "progenitor-impl" version = "0.7.0" @@ -3414,12 +3657,29 @@ dependencies = [ "schemars", "serde", "serde_json", - "syn 2.0.74", + "syn 2.0.75", "thiserror", "typify", "unicode-ident", ] +[[package]] +name = "progenitor-macro" +version = "0.7.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#f56fc4a2bf72655e7b8523af55524b10045c2758" +dependencies = [ + "openapiv3", + "proc-macro2", + "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "quote", + "schemars", + "serde", + "serde_json", + "serde_tokenstream", + "serde_yaml", + "syn 2.0.75", +] + [[package]] name = "progenitor-macro" version = "0.7.0" @@ -3427,14 +3687,14 @@ source = "git+https://github.com/oxidecomputer/progenitor?branch=main#a88326e931 dependencies = [ "openapiv3", "proc-macro2", - "progenitor-impl", + "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "quote", "schemars", "serde", "serde_json", "serde_tokenstream", "serde_yaml", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3445,9 +3705,9 @@ dependencies = [ "async-trait", "base64 0.21.7", "futures", - "progenitor", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "rand", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -3476,6 +3736,54 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +[[package]] +name = "quinn" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls 0.23.12", + "socket2", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd" +dependencies = [ + "bytes", + "rand", + "ring 0.17.8", + "rustc-hash", + "rustls 0.23.12", + "slab", + "thiserror", + "tinyvec", + "tracing", +] + +[[package]] +name = "quinn-udp" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" +dependencies = [ + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.52.0", +] + [[package]] name = "quote" version = "1.0.36" @@ -3640,12 +3948,12 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", - "http-body", - "hyper", - "hyper-rustls", - "hyper-tls", + "http-body 0.4.6", + "hyper 0.14.30", + "hyper-rustls 0.24.2", + "hyper-tls 0.5.0", "ipnet", "js-sys", "log", @@ -3659,8 +3967,8 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", - "system-configuration", + "sync_wrapper 0.1.2", + "system-configuration 0.5.1", "tokio", "tokio-native-tls", "tokio-rustls 0.24.1", @@ -3671,10 +3979,60 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots", + "webpki-roots 0.25.4", "winreg", ] +[[package]] +name = "reqwest" +version = "0.12.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" +dependencies = [ + "base64 0.22.1", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-rustls 0.27.2", + "hyper-tls 0.6.0", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls 0.23.12", + "rustls-pemfile 2.1.3", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "system-configuration 0.6.0", + "tokio", + "tokio-native-tls", + "tokio-rustls 0.26.0", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots 0.26.3", + "windows-registry", +] + [[package]] name = "resolv-conf" version = "0.7.0" @@ -3712,7 +4070,7 @@ checksum = "a5a11a05ee1ce44058fa3d5961d05194fdbe3ad6b40f904af764d81b86450e6b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3762,6 +4120,12 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + [[package]] name = "rustc_version" version = "0.1.7" @@ -3819,6 +4183,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls" +version = "0.23.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +dependencies = [ + "once_cell", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.6", + "subtle", + "zeroize", +] + [[package]] name = "rustls-pemfile" version = "1.0.4" @@ -3937,7 +4315,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -3963,7 +4341,7 @@ checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4031,7 +4409,7 @@ checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4042,7 +4420,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4084,7 +4462,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4105,7 +4483,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4147,7 +4525,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4327,7 +4705,7 @@ source = "git+https://github.com/oxidecomputer/slog-error-chain?branch=main#15f6 dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4503,7 +4881,7 @@ dependencies = [ "proc-macro2", "quote", "structmeta-derive", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4514,7 +4892,7 @@ checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4536,7 +4914,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4549,7 +4927,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4571,9 +4949,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.74" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -4586,6 +4964,15 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -4594,7 +4981,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658bc6ee10a9b4fcf576e9b0819d95ec16f4d2c02d39fd83ac1c8789785c4a42" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "system-configuration-sys 0.6.0", ] [[package]] @@ -4607,6 +5005,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tabwriter" version = "1.4.0" @@ -4693,7 +5101,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4800,7 +5208,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -4834,6 +5242,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.12", + "rustls-pki-types", + "tokio", +] + [[package]] name = "tokio-tungstenite" version = "0.21.0" @@ -4935,6 +5354,27 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d" +[[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.3" @@ -4960,7 +5400,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -5026,7 +5466,7 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "syn 2.0.74", + "syn 2.0.75", "thiserror", "unicode-ident", ] @@ -5043,7 +5483,7 @@ dependencies = [ "serde", "serde_json", "serde_tokenstream", - "syn 2.0.74", + "syn 2.0.75", "typify-impl", ] @@ -5141,7 +5581,7 @@ dependencies = [ "proc-macro2", "quote", "serde_tokenstream", - "syn 2.0.74", + "syn 2.0.75", "usdt-impl", ] @@ -5159,7 +5599,7 @@ dependencies = [ "quote", "serde", "serde_json", - "syn 2.0.74", + "syn 2.0.75", "thiserror", "thread-id", "version_check", @@ -5175,7 +5615,7 @@ dependencies = [ "proc-macro2", "quote", "serde_tokenstream", - "syn 2.0.74", + "syn 2.0.75", "usdt-impl", ] @@ -5288,7 +5728,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "wasm-bindgen-shared", ] @@ -5322,7 +5762,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5362,6 +5802,15 @@ version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +[[package]] +name = "webpki-roots" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "whoami" version = "1.5.1" @@ -5429,6 +5878,36 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -5650,7 +6129,7 @@ checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] @@ -5661,7 +6140,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.75", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index b0bfe714..0bd087e1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -50,7 +50,8 @@ ispf = { git = "https://github.com/oxidecomputer/ispf" } serde = { version = "1.0.208", features = ["derive"] } hostname = "0.3" thiserror = "1.0" -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", features = ["usdt-probes"] } schemars = { version = "0.8", features = [ "uuid1", "chrono" ] } tokio = { version = "1.37", features = ["full"] } serde_repr = "0.1" @@ -59,8 +60,8 @@ hyper = "0.14.30" serde_json = "1.0.125" percent-encoding = "2.3.1" libnet = { git = "https://github.com/oxidecomputer/netadm-sys", branch = "main" } -reqwest = { version = "0.11", features = ["json", "stream", "rustls-tls"] } -progenitor = { git = "https://github.com/oxidecomputer/progenitor", branch = "main" } +reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls"] } +progenitor = { git = "https://github.com/oxidecomputer/progenitor", branch = "dependabot/cargo/reqwest-0.12.4" } clap = { version = "4.5.16", features = ["derive", "unstable-styles", "env"] } tabwriter = { version = "1", features = ["ansi_formatting"] } colored = "2.1" From dccfcaf463ed337f381319e90cfe84daadff278b Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Thu, 5 Sep 2024 04:01:11 -0700 Subject: [PATCH 02/13] progress --- Cargo.lock | 181 ++++++++++++++++++++------------------- Cargo.toml | 5 +- mg-lower/Cargo.toml | 1 + mg-lower/src/dendrite.rs | 22 ++--- mgd/src/oxstats.rs | 3 +- 5 files changed, 107 insertions(+), 105 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 96eda105..1ef2dde8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -124,7 +124,7 @@ dependencies = [ "omicron-workspace-hack", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -176,7 +176,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -187,7 +187,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -492,7 +492,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -739,7 +739,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -750,7 +750,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -769,7 +769,7 @@ dependencies = [ "dpd-client", "dropshot 0.11.1-dev", "hostname 0.3.1", - "hyper 0.14.30", + "hyper 1.4.1", "ispf", "libnet 0.1.0 (git+https://github.com/oxidecomputer/netadm-sys?branch=main)", "mg-common", @@ -886,7 +886,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -916,7 +916,7 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -929,7 +929,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -1055,7 +1055,7 @@ dependencies = [ "hostname 0.4.0", "http 0.2.12", "hyper 0.14.30", - "indexmap 2.4.0", + "indexmap 2.5.0", "multer", "openapiv3", "paste", @@ -1103,7 +1103,7 @@ dependencies = [ "http-body-util", "hyper 1.4.1", "hyper-util", - "indexmap 2.4.0", + "indexmap 2.5.0", "multer", "openapiv3", "paste", @@ -1141,7 +1141,7 @@ dependencies = [ "quote", "serde", "serde_tokenstream", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -1154,7 +1154,7 @@ dependencies = [ "quote", "serde", "serde_tokenstream", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -1210,7 +1210,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -1313,7 +1313,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -1403,7 +1403,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -1529,7 +1529,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.4.0", + "indexmap 2.5.0", "slab", "tokio", "tokio-util", @@ -1548,7 +1548,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.4.0", + "indexmap 2.5.0", "slab", "tokio", "tokio-util", @@ -2032,9 +2032,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -2171,7 +2171,7 @@ version = "0.1.0" source = "git+https://github.com/oxidecomputer/opte?rev=3dc9a3dd8d3c623f0cf2c659c7119ce0c026a96d#3dc9a3dd8d3c623f0cf2c659c7119ce0c026a96d" dependencies = [ "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -2462,11 +2462,12 @@ dependencies = [ "common", "ddm-admin-client 0.1.0", "dpd-client", - "http 0.2.12", + "http 1.1.0", "libnet 0.1.0 (git+https://github.com/oxidecomputer/netadm-sys?branch=main)", "mg-common", "oxnet", "rdb", + "reqwest 0.11.27", "slog", "thiserror", "tokio", @@ -2535,7 +2536,7 @@ dependencies = [ "colored", "dropshot 0.11.1-dev", "hostname 0.3.1", - "http 0.2.12", + "http 1.1.0", "mg-common", "mg-lower", "omicron-common", @@ -2786,7 +2787,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -2878,7 +2879,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -3030,7 +3031,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc02deea53ffe807708244e5914f6b099ad7015a207ee24317c22112e17d9c5c" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "serde", "serde_json", ] @@ -3058,7 +3059,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -3150,7 +3151,7 @@ dependencies = [ "oximeter-macro-impl", "oximeter-timeseries-macro", "prettyplease", - "syn 2.0.75", + "syn 2.0.77", "toml 0.8.19", "uuid", ] @@ -3177,7 +3178,7 @@ dependencies = [ "serde_json", "slog-error-chain", "strum", - "syn 2.0.75", + "syn 2.0.77", "thiserror", "toml 0.8.19", "uuid", @@ -3191,7 +3192,7 @@ dependencies = [ "omicron-workspace-hack", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -3224,7 +3225,7 @@ dependencies = [ "oximeter-impl", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -3322,7 +3323,7 @@ dependencies = [ "regex", "regex-syntax", "structmeta", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -3379,7 +3380,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -3400,7 +3401,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.4.0", + "indexmap 2.5.0", "serde", "serde_derive", ] @@ -3422,7 +3423,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -3518,7 +3519,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -3576,7 +3577,7 @@ dependencies = [ [[package]] name = "progenitor" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#f56fc4a2bf72655e7b8523af55524b10045c2758" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" dependencies = [ "progenitor-client 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", @@ -3596,7 +3597,7 @@ dependencies = [ [[package]] name = "progenitor-client" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#f56fc4a2bf72655e7b8523af55524b10045c2758" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" dependencies = [ "bytes", "futures-core", @@ -3624,11 +3625,11 @@ dependencies = [ [[package]] name = "progenitor-impl" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#f56fc4a2bf72655e7b8523af55524b10045c2758" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" dependencies = [ "heck 0.5.0", "http 0.2.12", - "indexmap 2.4.0", + "indexmap 2.5.0", "openapiv3", "proc-macro2", "quote", @@ -3636,7 +3637,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "syn 2.0.75", + "syn 2.0.77", "thiserror", "typify", "unicode-ident", @@ -3649,7 +3650,7 @@ source = "git+https://github.com/oxidecomputer/progenitor?branch=main#a88326e931 dependencies = [ "heck 0.5.0", "http 0.2.12", - "indexmap 2.4.0", + "indexmap 2.5.0", "openapiv3", "proc-macro2", "quote", @@ -3657,7 +3658,7 @@ dependencies = [ "schemars", "serde", "serde_json", - "syn 2.0.75", + "syn 2.0.77", "thiserror", "typify", "unicode-ident", @@ -3666,7 +3667,7 @@ dependencies = [ [[package]] name = "progenitor-macro" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#f56fc4a2bf72655e7b8523af55524b10045c2758" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" dependencies = [ "openapiv3", "proc-macro2", @@ -3677,7 +3678,7 @@ dependencies = [ "serde_json", "serde_tokenstream", "serde_yaml", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -3694,7 +3695,7 @@ dependencies = [ "serde_json", "serde_tokenstream", "serde_yaml", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -3786,9 +3787,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -4070,7 +4071,7 @@ checksum = "a5a11a05ee1ce44058fa3d5961d05194fdbe3ad6b40f904af764d81b86450e6b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4315,7 +4316,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4341,7 +4342,7 @@ checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4394,22 +4395,22 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.208" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" +checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.208" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" +checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4420,7 +4421,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4434,9 +4435,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.125" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ "itoa", "memchr", @@ -4462,7 +4463,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4483,7 +4484,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4508,7 +4509,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.4.0", + "indexmap 2.5.0", "serde", "serde_derive", "serde_json", @@ -4525,7 +4526,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4534,7 +4535,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "itoa", "ryu", "serde", @@ -4705,7 +4706,7 @@ source = "git+https://github.com/oxidecomputer/slog-error-chain?branch=main#15f6 dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4881,7 +4882,7 @@ dependencies = [ "proc-macro2", "quote", "structmeta-derive", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4892,7 +4893,7 @@ checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4914,7 +4915,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4927,7 +4928,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -4949,9 +4950,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.75" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", @@ -5101,7 +5102,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -5208,7 +5209,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -5317,7 +5318,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "serde", "serde_spanned", "toml_datetime", @@ -5330,7 +5331,7 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "toml_datetime", "winnow 0.5.40", ] @@ -5341,7 +5342,7 @@ version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "serde", "serde_spanned", "toml_datetime", @@ -5400,7 +5401,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -5446,7 +5447,7 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "typify" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#96f03dd19b7462a00ca876966260755745a7e322" +source = "git+https://github.com/oxidecomputer/typify#f0f58334d82fd6c0a1d8a59de7054952cb993a9f" dependencies = [ "typify-impl", "typify-macro", @@ -5455,7 +5456,7 @@ dependencies = [ [[package]] name = "typify-impl" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#96f03dd19b7462a00ca876966260755745a7e322" +source = "git+https://github.com/oxidecomputer/typify#f0f58334d82fd6c0a1d8a59de7054952cb993a9f" dependencies = [ "heck 0.5.0", "log", @@ -5466,7 +5467,7 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "syn 2.0.75", + "syn 2.0.77", "thiserror", "unicode-ident", ] @@ -5474,7 +5475,7 @@ dependencies = [ [[package]] name = "typify-macro" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#96f03dd19b7462a00ca876966260755745a7e322" +source = "git+https://github.com/oxidecomputer/typify#f0f58334d82fd6c0a1d8a59de7054952cb993a9f" dependencies = [ "proc-macro2", "quote", @@ -5483,7 +5484,7 @@ dependencies = [ "serde", "serde_json", "serde_tokenstream", - "syn 2.0.75", + "syn 2.0.77", "typify-impl", ] @@ -5581,7 +5582,7 @@ dependencies = [ "proc-macro2", "quote", "serde_tokenstream", - "syn 2.0.75", + "syn 2.0.77", "usdt-impl", ] @@ -5599,7 +5600,7 @@ dependencies = [ "quote", "serde", "serde_json", - "syn 2.0.75", + "syn 2.0.77", "thiserror", "thread-id", "version_check", @@ -5615,7 +5616,7 @@ dependencies = [ "proc-macro2", "quote", "serde_tokenstream", - "syn 2.0.75", + "syn 2.0.77", "usdt-impl", ] @@ -5728,7 +5729,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", "wasm-bindgen-shared", ] @@ -5762,7 +5763,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6129,7 +6130,7 @@ checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] @@ -6140,7 +6141,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.77", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 0bd087e1..cfe44506 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -56,11 +56,12 @@ schemars = { version = "0.8", features = [ "uuid1", "chrono" ] } tokio = { version = "1.37", features = ["full"] } serde_repr = "0.1" anyhow = "1.0.86" -hyper = "0.14.30" +hyper = "1.0.0" serde_json = "1.0.125" percent-encoding = "2.3.1" libnet = { git = "https://github.com/oxidecomputer/netadm-sys", branch = "main" } reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls"] } +reqwest11 = { package = "reqwest", version = "0.11", features = ["json", "stream", "rustls-tls"] } progenitor = { git = "https://github.com/oxidecomputer/progenitor", branch = "dependabot/cargo/reqwest-0.12.4" } clap = { version = "4.5.16", features = ["derive", "unstable-styles", "env"] } tabwriter = { version = "1", features = ["ansi_formatting"] } @@ -75,7 +76,7 @@ pretty_assertions = "1.4" lazy_static = "1.4" sled = "0.34" ciborium = "0.2.2" -http = "0.2.12" +http = "1.0.0" humantime = "2.1" rand = "0.8.5" backoff = "0.4" diff --git a/mg-lower/Cargo.toml b/mg-lower/Cargo.toml index ae948ec1..1483020e 100644 --- a/mg-lower/Cargo.toml +++ b/mg-lower/Cargo.toml @@ -16,3 +16,4 @@ thiserror.workspace = true http.workspace = true mg-common.workspace = true oxnet.workspace = true +reqwest11.workspace = true diff --git a/mg-lower/src/dendrite.rs b/mg-lower/src/dendrite.rs index 267ae5ab..99e7e69c 100644 --- a/mg-lower/src/dendrite.rs +++ b/mg-lower/src/dendrite.rs @@ -10,7 +10,6 @@ use dpd_client::types; use dpd_client::types::LinkId; use dpd_client::types::LinkState; use dpd_client::Client as DpdClient; -use http::StatusCode; use libnet::get_route; use oxnet::IpNet; use oxnet::Ipv4Net; @@ -92,7 +91,7 @@ pub(crate) fn ensure_tep_addr( }) .await }) { - if e.status() != Some(StatusCode::CONFLICT) { + if e.status() != Some(reqwest11::StatusCode::CONFLICT) { warn!(log, "failed to ensure TEP address {tep} on ASIC: {e}"); } } @@ -357,17 +356,18 @@ pub(crate) fn get_routes_for_prefix( let result = match prefix { Prefix::V4(p) => { let cidr = Ipv4Net::new(p.value, p.length)?; - let dpd_routes = - match rt.block_on(async { dpd.route_ipv4_get(&cidr).await }) { - Ok(routes) => routes, - Err(e) => { - if e.status() == Some(StatusCode::NOT_FOUND) { - return Ok(HashSet::new()); - } - return Err(e.into()); + let dpd_routes = match rt + .block_on(async { dpd.route_ipv4_get(&cidr).await }) + { + Ok(routes) => routes, + Err(e) => { + if e.status() == Some(reqwest11::StatusCode::NOT_FOUND) { + return Ok(HashSet::new()); } + return Err(e.into()); } - .into_inner(); + } + .into_inner(); let mut result: Vec = Vec::new(); for r in dpd_routes.iter() { diff --git a/mgd/src/oxstats.rs b/mgd/src/oxstats.rs index 81ea4d96..73a00741 100644 --- a/mgd/src/oxstats.rs +++ b/mgd/src/oxstats.rs @@ -6,13 +6,12 @@ use crate::admin::HandlerContext; use crate::bfd_admin::BfdContext; use crate::bgp_admin::BgpContext; use chrono::{DateTime, Utc}; -use dropshot::{ConfigLogging, ConfigLoggingLevel}; use mg_common::nexus::{local_underlay_address, run_oximeter}; use mg_common::stats::MgLowerStats; use omicron_common::api::internal::nexus::{ProducerEndpoint, ProducerKind}; use oximeter::types::{Cumulative, ProducerRegistry}; use oximeter::{MetricsError, Producer, Sample}; -use oximeter_producer::LogConfig; +use oximeter_producer::{ConfigLogging, ConfigLoggingLevel, LogConfig}; use rdb::Db; use slog::{warn, Logger}; use std::collections::BTreeMap; From 42fbd84a65a42e4e9f9a9cad1bdf751b0a40e4f1 Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Wed, 11 Sep 2024 11:01:49 -0700 Subject: [PATCH 03/13] convert custom hyper client code --- Cargo.lock | 3 ++ Cargo.toml | 2 ++ ddm/Cargo.toml | 3 ++ ddm/src/exchange.rs | 75 +++++++++++++++++++++++++++------------------ 4 files changed, 53 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1ef2dde8..36243535 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -769,7 +769,9 @@ dependencies = [ "dpd-client", "dropshot 0.11.1-dev", "hostname 0.3.1", + "http-body-util", "hyper 1.4.1", + "hyper-util", "ispf", "libnet 0.1.0 (git+https://github.com/oxidecomputer/netadm-sys?branch=main)", "mg-common", @@ -780,6 +782,7 @@ dependencies = [ "oximeter-producer", "oxnet", "pretty_assertions", + "reqwest 0.12.7", "schemars", "serde", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index cfe44506..1ba3cd66 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -57,6 +57,7 @@ tokio = { version = "1.37", features = ["full"] } serde_repr = "0.1" anyhow = "1.0.86" hyper = "1.0.0" +hyper-util = { version = "0.1", features = ["full"] } serde_json = "1.0.125" percent-encoding = "2.3.1" libnet = { git = "https://github.com/oxidecomputer/netadm-sys", branch = "main" } @@ -77,6 +78,7 @@ lazy_static = "1.4" sled = "0.34" ciborium = "0.2.2" http = "1.0.0" +http-body-util = "0.1" humantime = "2.1" rand = "0.8.5" backoff = "0.4" diff --git a/ddm/Cargo.toml b/ddm/Cargo.toml index 0a57ea77..4b148188 100644 --- a/ddm/Cargo.toml +++ b/ddm/Cargo.toml @@ -18,7 +18,9 @@ schemars.workspace = true tokio.workspace = true serde_repr.workspace = true anyhow.workspace = true +http-body-util.workspace = true hyper.workspace = true +hyper-util.workspace = true serde_json.workspace = true libnet.workspace = true dpd-client.workspace = true @@ -33,3 +35,4 @@ oximeter.workspace = true oximeter-producer.workspace = true oxnet.workspace = true uuid.workspace = true +reqwest.workspace = true diff --git a/ddm/src/exchange.rs b/ddm/src/exchange.rs index 0f1ec595..bfaba73b 100644 --- a/ddm/src/exchange.rs +++ b/ddm/src/exchange.rs @@ -10,8 +10,8 @@ //! announcing, withdrawing and synchronizing routes with a a given peer. //! Communication between peers is over HTTP(s) requests. //! -//! This file only contains basic mechanisms for prefix information exhcnage -//! with peers. How those mechanisms are used in the overal state machine model +//! This file only contains basic mechanisms for prefix information exchange +//! with peers. How those mechanisms are used in the overall state machine model //! of a ddm router is defined in the state machine implementation in sm.rs. //! @@ -30,6 +30,7 @@ use dropshot::HttpServerStarter; use dropshot::RequestContext; use dropshot::TypedBody; use dropshot::{endpoint, ApiDescriptionRegisterError}; +use http_body_util::BodyExt; use hyper::body::Bytes; use mg_common::net::{Ipv6Prefix, TunnelOrigin, TunnelOriginV2}; use oxnet::Ipv6Net; @@ -432,11 +433,7 @@ pub(crate) fn do_pull( addr: &Ipv6Addr, rt: &Arc, ) -> Result { - let uri = format!( - "http://[{}%{}]:{}/v3/pull", - addr, ctx.config.if_index, ctx.config.exchange_port, - ); - let body = do_pull_common(uri, rt)?; + let body = do_pull_common(ctx, addr, "v3/pull", rt)?; Ok(serde_json::from_slice(&body)?) } @@ -445,35 +442,40 @@ pub(crate) fn do_pull_v2( addr: &Ipv6Addr, rt: &Arc, ) -> Result { - let uri = format!( - "http://[{}%{}]:{}/v2/pull", - addr, ctx.config.if_index, ctx.config.exchange_port, - ); - let body = do_pull_common(uri, rt)?; + let body = do_pull_common(ctx, addr, "v2/pull", rt)?; Ok(serde_json::from_slice(&body)?) } fn do_pull_common( - uri: String, + ctx: &SmContext, + addr: &Ipv6Addr, + path: &str, rt: &Arc, ) -> Result { - let client = hyper::Client::new(); + let uri = format!( + "http://[{}%{}]:{}/{}", + addr, ctx.config.if_index, ctx.config.exchange_port, path, + ); + let sockaddr = SocketAddrV6::new( + addr, + ctx.config.exchange_port, + 0, + ctx.config.if_index, + ); let req = hyper::Request::builder() .method(hyper::Method::GET) .uri(&uri) - .body(hyper::Body::empty())?; - - let resp = client.request(req); + .body(http_body_util::Empty::::new())?; let body = rt.block_on(async move { + let stream = tokio::net::TcpStream::connect(sockaddr).await?; + let io = hyper_util::rt::TokioIo::new(stream); + let (mut sender, _) = hyper::client::conn::http1::handshake(io).await?; + let resp = sender.send_request(req); + match timeout(Duration::from_millis(250), resp).await { Ok(response) => match response { - Ok(data) => { - match hyper::body::to_bytes(data.into_body()).await { - Ok(data) => Ok(data), - Err(e) => Err(ExchangeError::Hyper(e)), - } - } + Ok(data) => Ok(data.into_body().collect().await?.to_bytes()), Err(e) => Err(ExchangeError::Hyper(e)), }, Err(e) => Err(ExchangeError::Timeout(e)), @@ -538,7 +540,7 @@ fn send_update_v2( "http://[{}%{}]:{}/v2/push", addr, config.if_index, config.exchange_port, ); - send_update_common(ctx, uri, payload, config, rt, log) + send_update_common(ctx, addr, "v2/push", payload, config, rt, log) } fn send_update_v3( @@ -554,26 +556,39 @@ fn send_update_v3( "http://[{}%{}]:{}/v3/push", addr, config.if_index, config.exchange_port, ); - send_update_common(ctx, uri, payload, config, rt, log) + send_update_common(ctx, addr, "v3/push", payload, config, rt, log) } fn send_update_common( ctx: &SmContext, - uri: String, + addr: Ipv6Addr, + path: &str, payload: String, config: Config, rt: Arc, log: Logger, ) -> Result<(), ExchangeError> { - let client = hyper::Client::new(); + let uri = format!( + "http://[{}%{}]:{}/{}", + addr, ctx.config.if_index, ctx.config.exchange_port, path, + ); + let sockaddr = SocketAddrV6::new( + addr, + ctx.config.exchange_port, + 0, + ctx.config.if_index, + ); + let body = http_body_util::Full::::from(payload); let req = hyper::Request::builder() .method(hyper::Method::PUT) .uri(&uri) - .body(hyper::Body::from(payload))?; - - let resp = client.request(req); + .body(body)?; rt.block_on(async move { + let stream = tokio::net::TcpStream::connect(sockaddr).await?; + let io = hyper_util::rt::TokioIo::new(stream); + let (mut sender, _) = hyper::client::conn::http1::handshake(io).await?; + let resp = sender.send_request(req); match timeout(Duration::from_millis(config.exchange_timeout), resp) .await { From 15da7e804b4b251a42af156e206c4a205da1de9f Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Wed, 11 Sep 2024 11:30:08 -0700 Subject: [PATCH 04/13] lint --- bgp/src/connection_tcp.rs | 2 +- ddm/src/exchange.rs | 10 +--------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/bgp/src/connection_tcp.rs b/bgp/src/connection_tcp.rs index e55ebbcf..f8fd1e3d 100644 --- a/bgp/src/connection_tcp.rs +++ b/bgp/src/connection_tcp.rs @@ -22,7 +22,7 @@ use std::sync::atomic::AtomicBool; use std::sync::mpsc::Sender; use std::sync::{Arc, Mutex}; use std::thread::spawn; -use std::time::{Duration, Instant}; +use std::time::Duration; #[cfg(target_os = "illumos")] use itertools::Itertools; diff --git a/ddm/src/exchange.rs b/ddm/src/exchange.rs index bfaba73b..60dd51ac 100644 --- a/ddm/src/exchange.rs +++ b/ddm/src/exchange.rs @@ -457,7 +457,7 @@ fn do_pull_common( addr, ctx.config.if_index, ctx.config.exchange_port, path, ); let sockaddr = SocketAddrV6::new( - addr, + *addr, ctx.config.exchange_port, 0, ctx.config.if_index, @@ -536,10 +536,6 @@ fn send_update_v2( log: Logger, ) -> Result<(), ExchangeError> { let payload = serde_json::to_string(&update)?; - let uri = format!( - "http://[{}%{}]:{}/v2/push", - addr, config.if_index, config.exchange_port, - ); send_update_common(ctx, addr, "v2/push", payload, config, rt, log) } @@ -552,10 +548,6 @@ fn send_update_v3( log: Logger, ) -> Result<(), ExchangeError> { let payload = serde_json::to_string(&update)?; - let uri = format!( - "http://[{}%{}]:{}/v3/push", - addr, config.if_index, config.exchange_port, - ); send_update_common(ctx, addr, "v3/push", payload, config, rt, log) } From 4c22e719eb2fdfc19c53f75ed09e7493c06ee87d Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Wed, 11 Sep 2024 11:36:20 -0700 Subject: [PATCH 05/13] build --- bgp/src/connection_tcp.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bgp/src/connection_tcp.rs b/bgp/src/connection_tcp.rs index f8fd1e3d..5b1a6810 100644 --- a/bgp/src/connection_tcp.rs +++ b/bgp/src/connection_tcp.rs @@ -32,6 +32,8 @@ use libc::{c_void, IPPROTO_IP, IPPROTO_IPV6, IPPROTO_TCP}; use libc::{IP_MINTTL, TCP_MD5SIG}; #[cfg(target_os = "illumos")] use std::collections::HashSet; +#[cfg(target_os = "illumos")] +use std::time::Instant; #[cfg(target_os = "illumos")] const IP_MINTTL: i32 = 0x1c; From 1197c233e2fb10e11a1b7cf82e25001eaa6ce8ea Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Wed, 11 Sep 2024 13:56:44 -0700 Subject: [PATCH 06/13] trying something --- ddm/src/exchange.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ddm/src/exchange.rs b/ddm/src/exchange.rs index 60dd51ac..0b60acc2 100644 --- a/ddm/src/exchange.rs +++ b/ddm/src/exchange.rs @@ -460,7 +460,8 @@ fn do_pull_common( *addr, ctx.config.exchange_port, 0, - ctx.config.if_index, + 0, + // ctx.config.if_index, ); let req = hyper::Request::builder() .method(hyper::Method::GET) From 0b25753b810424c28e7ac90193387af93363d71c Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Thu, 12 Sep 2024 09:10:25 -0700 Subject: [PATCH 07/13] reinstate error conversion --- ddm/src/exchange.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ddm/src/exchange.rs b/ddm/src/exchange.rs index 0b60acc2..81b54c58 100644 --- a/ddm/src/exchange.rs +++ b/ddm/src/exchange.rs @@ -460,8 +460,7 @@ fn do_pull_common( *addr, ctx.config.exchange_port, 0, - 0, - // ctx.config.if_index, + ctx.config.if_index, ); let req = hyper::Request::builder() .method(hyper::Method::GET) @@ -476,7 +475,10 @@ fn do_pull_common( match timeout(Duration::from_millis(250), resp).await { Ok(response) => match response { - Ok(data) => Ok(data.into_body().collect().await?.to_bytes()), + Ok(data) => match data.into_body().collect().await { + Ok(data) => Ok(data.to_bytes()), + Err(e) => Err(ExchangeError::Hyper(e)), + }, Err(e) => Err(ExchangeError::Hyper(e)), }, Err(e) => Err(ExchangeError::Timeout(e)), From ab22c6a53517eefa74d57f3c7f3e18ef69197891 Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Thu, 12 Sep 2024 09:44:20 -0700 Subject: [PATCH 08/13] trying out a hyper v1 custom client --- Cargo.lock | 390 ++++++++++++++++++++++++++------------------ Cargo.toml | 4 +- ddm/Cargo.toml | 2 + ddm/src/exchange.rs | 36 ++-- 4 files changed, 259 insertions(+), 173 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 58c92b6e..e25cfc5f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,13 +4,19 @@ version = 3 [[package]] name = "addr2line" -version = "0.24.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + [[package]] name = "adler2" version = "2.0.0" @@ -119,7 +125,7 @@ checksum = "4e1496f8fb1fbf272686b8d37f523dab3e4a7443300055e74cdaa449f3114356" [[package]] name = "api_identity" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "omicron-workspace-hack", "proc-macro2", @@ -218,17 +224,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", + "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", - "windows-targets 0.52.6", ] [[package]] @@ -403,24 +409,11 @@ dependencies = [ "tempfile", ] -[[package]] -name = "cancel-safe-futures" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97eb3167cc49e8a4c1be907817009850b8b9693b225092d0f9b00fa9de076e4e" -dependencies = [ - "futures-core", - "futures-sink", - "futures-util", - "pin-project-lite", - "tokio", -] - [[package]] name = "cc" -version = "1.1.18" +version = "1.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476" +checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6" dependencies = [ "shlex", ] @@ -630,9 +623,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -640,7 +633,7 @@ dependencies = [ [[package]] name = "cpuid_profile_config" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=5267be82e10d851a64196a8148893691b0b9f8ad#5267be82e10d851a64196a8148893691b0b9f8ad" +source = "git+https://github.com/oxidecomputer/propolis?rev=399ce1a82665397c756d626854e39c25505e4a62#399ce1a82665397c756d626854e39c25505e4a62" dependencies = [ "serde", "serde_derive", @@ -700,7 +693,7 @@ checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[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=e58ca3693cb9ce0438947beba10e97ee38a0966b#e58ca3693cb9ce0438947beba10e97ee38a0966b" dependencies = [ "crucible-workspace-hack", "libc", @@ -792,7 +785,9 @@ dependencies = [ "dpd-client", "dropshot", "hostname 0.3.1", - "hyper", + "http-body-util", + "hyper 1.4.1", + "hyper-util", "ispf", "libnet 0.1.0 (git+https://github.com/oxidecomputer/netadm-sys?branch=main)", "mg-common", @@ -1009,7 +1004,7 @@ dependencies = [ [[package]] name = "dns-service-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "anyhow", "chrono", @@ -1063,7 +1058,7 @@ dependencies = [ [[package]] name = "dropshot" version = "0.11.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#31c0b74e6663292d1389bd699dd4f519fd44b176" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#2ad43f522a74c42bdb6bcaaef024801b853c1d3c" dependencies = [ "async-stream", "async-trait", @@ -1077,7 +1072,7 @@ dependencies = [ "futures", "hostname 0.4.0", "http 0.2.12", - "hyper", + "hyper 0.14.30", "indexmap 2.5.0", "multer", "openapiv3", @@ -1109,7 +1104,7 @@ dependencies = [ [[package]] name = "dropshot_endpoint" version = "0.11.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#31c0b74e6663292d1389bd699dd4f519fd44b176" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#2ad43f522a74c42bdb6bcaaef024801b853c1d3c" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -1239,7 +1234,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.0", ] [[package]] @@ -1416,7 +1411,7 @@ dependencies = [ [[package]] name = "gateway-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "base64 0.22.1", "chrono", @@ -1470,9 +1465,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.31.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "goblin" @@ -1504,6 +1499,25 @@ dependencies = [ "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.5.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "half" version = "2.4.1" @@ -1697,6 +1711,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.9.4" @@ -1746,9 +1783,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", @@ -1760,6 +1797,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" @@ -1768,7 +1826,7 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper", + "hyper 0.14.30", "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", @@ -1781,12 +1839,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper", + "hyper 0.14.30", "native-tls", "tokio", "tokio-native-tls", ] +[[package]] +name = "hyper-util" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" +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" @@ -1849,7 +1927,7 @@ source = "git+https://github.com/oxidecomputer/opte?rev=76878de67229ea113d70503c [[package]] name = "illumos-utils" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "anyhow", "async-trait", @@ -1881,12 +1959,6 @@ dependencies = [ "zone 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "indent_write" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" - [[package]] name = "indexmap" version = "1.9.3" @@ -1934,14 +2006,14 @@ dependencies = [ [[package]] name = "internal-dns" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "anyhow", "chrono", "dns-service-client", "futures", "hickory-resolver", - "hyper", + "hyper 0.14.30", "omicron-common", "omicron-uuid-kinds", "omicron-workspace-hack", @@ -1965,9 +2037,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "ipnetwork" @@ -2093,7 +2165,7 @@ source = "git+https://github.com/oxidecomputer/dlpi-sys#1d587ea98cf2d36f1b1624b0 [[package]] name = "libfalcon" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/falcon?branch=main#17bcdbc4754a46323a7217a6ebb0abaa7c98bd13" +source = "git+https://github.com/oxidecomputer/falcon?branch=main#10f3bff98d247d1e145a0dde82382cbed3628cdc" dependencies = [ "anstyle", "anyhow", @@ -2197,21 +2269,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "libsw" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0673364c1ef7a1674241dbad9ba2415354103d6126451f01eeb7aaa25d6b4fce" -dependencies = [ - "tokio", -] - -[[package]] -name = "linear-map" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee" - [[package]] name = "linked-hash-map" version = "0.5.6" @@ -2483,6 +2540,15 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +[[package]] +name = "miniz_oxide" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +dependencies = [ + "adler", +] + [[package]] name = "miniz_oxide" version = "0.8.0" @@ -2570,7 +2636,7 @@ dependencies = [ [[package]] name = "nexus-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "chrono", "futures", @@ -2594,9 +2660,8 @@ dependencies = [ [[package]] name = "nexus-sled-agent-shared" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ - "illumos-utils", "omicron-common", "omicron-passwords", "omicron-uuid-kinds", @@ -2613,7 +2678,7 @@ dependencies = [ [[package]] name = "nexus-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "anyhow", "api_identity", @@ -2651,7 +2716,6 @@ dependencies = [ "steno", "strum", "thiserror", - "update-engine", "uuid", ] @@ -2839,7 +2903,7 @@ dependencies = [ [[package]] name = "omicron-common" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "anyhow", "api_identity", @@ -2881,7 +2945,7 @@ dependencies = [ [[package]] name = "omicron-passwords" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "argon2", "omicron-workspace-hack", @@ -2895,7 +2959,7 @@ dependencies = [ [[package]] name = "omicron-uuid-kinds" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "newtype-uuid", "paste", @@ -3087,12 +3151,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "owo-colors" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f" - [[package]] name = "oxide-vpc" version = "0.1.0" @@ -3126,7 +3184,7 @@ dependencies = [ [[package]] name = "oximeter" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "anyhow", "chrono", @@ -3145,7 +3203,7 @@ dependencies = [ [[package]] name = "oximeter-macro-impl" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "omicron-workspace-hack", "proc-macro2", @@ -3156,7 +3214,7 @@ dependencies = [ [[package]] name = "oximeter-producer" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "chrono", "dropshot", @@ -3177,7 +3235,7 @@ dependencies = [ [[package]] name = "oximeter-schema" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "anyhow", "chrono", @@ -3198,7 +3256,7 @@ dependencies = [ [[package]] name = "oximeter-timeseries-macro" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "omicron-workspace-hack", "oximeter-schema", @@ -3211,7 +3269,7 @@ dependencies = [ [[package]] name = "oximeter-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "bytes", "chrono", @@ -3230,7 +3288,7 @@ dependencies = [ [[package]] name = "oxlog" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "anyhow", "camino", @@ -3255,7 +3313,7 @@ dependencies = [ [[package]] name = "oxql-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "anyhow", "chrono", @@ -3365,9 +3423,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.12" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c73c26c01b8c87956cea613c907c9d6ecffd8d18a2a5908e5de0adfaa185cea" +checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", "thiserror", @@ -3376,9 +3434,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.12" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "664d22978e2815783adbdd2c588b455b1bd625299ce36b2a99881ac9627e6d8d" +checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" dependencies = [ "pest", "pest_generator", @@ -3386,9 +3444,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.12" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2d5487022d5d33f4c30d91c22afa240ce2a644e87fe08caad974d4eab6badbe" +checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" dependencies = [ "pest", "pest_meta", @@ -3399,9 +3457,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.7.12" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0091754bbd0ea592c4deb3a122ce8ecbb0753b738aa82bc055fcc2eccc8d8174" +checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" dependencies = [ "once_cell", "pest", @@ -3420,6 +3478,26 @@ dependencies = [ "serde_derive", ] +[[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.77", +] + [[package]] name = "pin-project-lite" version = "0.2.14" @@ -3569,7 +3647,7 @@ dependencies = [ [[package]] name = "progenitor" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#8b044c03bf0ae9c81240804c284970e6fe45e6d1" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" dependencies = [ "progenitor-client", "progenitor-impl", @@ -3579,7 +3657,7 @@ dependencies = [ [[package]] name = "progenitor-client" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#8b044c03bf0ae9c81240804c284970e6fe45e6d1" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" dependencies = [ "bytes", "futures-core", @@ -3593,7 +3671,7 @@ dependencies = [ [[package]] name = "progenitor-impl" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#8b044c03bf0ae9c81240804c284970e6fe45e6d1" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" dependencies = [ "heck 0.5.0", "http 0.2.12", @@ -3614,7 +3692,7 @@ dependencies = [ [[package]] name = "progenitor-macro" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#8b044c03bf0ae9c81240804c284970e6fe45e6d1" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" dependencies = [ "openapiv3", "proc-macro2", @@ -3631,7 +3709,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=399ce1a82665397c756d626854e39c25505e4a62#399ce1a82665397c756d626854e39c25505e4a62" dependencies = [ "async-trait", "base64 0.21.7", @@ -3652,7 +3730,7 @@ dependencies = [ [[package]] name = "propolis-server-config" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=5267be82e10d851a64196a8148893691b0b9f8ad#5267be82e10d851a64196a8148893691b0b9f8ad" +source = "git+https://github.com/oxidecomputer/propolis?rev=399ce1a82665397c756d626854e39c25505e4a62#399ce1a82665397c756d626854e39c25505e4a62" dependencies = [ "cpuid_profile_config", "serde", @@ -3742,6 +3820,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_syscall" version = "0.5.3" @@ -3803,9 +3890,9 @@ dependencies = [ [[package]] name = "regress" -version = "0.10.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1541daf4e4ed43a0922b7969bdc2170178bcacc5dabf7e39bc508a9fa3953a7a" +checksum = "16fe0a24af5daaae947294213d2fd2646fbf5e1fbacc1d4ba3e84b2393854842" dependencies = [ "hashbrown 0.14.5", "memchr", @@ -3822,10 +3909,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.30", "hyper-rustls", "hyper-tls", "ipnet", @@ -3964,9 +4051,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.36" +version = "0.38.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f55e80d50763938498dd5ebb18647174e0c76dc38c5505294bb224624f30f36" +checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" dependencies = [ "bitflags 2.6.0", "errno", @@ -4088,11 +4175,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.24" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -4425,7 +4512,7 @@ dependencies = [ [[package]] name = "sled-hardware-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "illumos-utils", "omicron-common", @@ -4740,12 +4827,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "swrite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f3fece30b2dc06d65ecbca97b602db15bf75f932711d60cc604534f1f8b7a03" - [[package]] name = "syn" version = "1.0.109" @@ -5035,9 +5116,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", @@ -5111,6 +5192,27 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d" +[[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.3" @@ -5182,7 +5284,7 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "typify" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#f0f58334d82fd6c0a1d8a59de7054952cb993a9f" +source = "git+https://github.com/oxidecomputer/typify#aa84fe0a67133c6e4e2257fb175f82ef9a24e761" dependencies = [ "typify-impl", "typify-macro", @@ -5191,13 +5293,13 @@ dependencies = [ [[package]] name = "typify-impl" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#f0f58334d82fd6c0a1d8a59de7054952cb993a9f" +source = "git+https://github.com/oxidecomputer/typify#aa84fe0a67133c6e4e2257fb175f82ef9a24e761" dependencies = [ "heck 0.5.0", "log", "proc-macro2", "quote", - "regress 0.10.1", + "regress 0.10.0", "schemars", "semver 1.0.23", "serde", @@ -5210,7 +5312,7 @@ dependencies = [ [[package]] name = "typify-macro" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#f0f58334d82fd6c0a1d8a59de7054952cb993a9f" +source = "git+https://github.com/oxidecomputer/typify#aa84fe0a67133c6e4e2257fb175f82ef9a24e761" dependencies = [ "proc-macro2", "quote", @@ -5280,36 +5382,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" -[[package]] -name = "update-engine" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#a1534d783c20baaa5f57c4b65d219abe503ecaca" -dependencies = [ - "anyhow", - "cancel-safe-futures", - "chrono", - "debug-ignore", - "derive-where", - "either", - "futures", - "indent_write", - "indexmap 2.5.0", - "libsw", - "linear-map", - "omicron-workspace-hack", - "owo-colors", - "petgraph", - "schemars", - "serde", - "serde_json", - "serde_with", - "slog", - "swrite", - "tokio", - "unicode-width", - "uuid", -] - [[package]] name = "url" version = "2.5.2" @@ -5570,11 +5642,11 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "whoami" -version = "1.5.2" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" +checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" dependencies = [ - "redox_syscall 0.5.3", + "redox_syscall 0.4.1", "wasite", "web-sys", ] @@ -5959,7 +6031,7 @@ dependencies = [ [[package]] name = "ztest" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/falcon?branch=main#17bcdbc4754a46323a7217a6ebb0abaa7c98bd13" +source = "git+https://github.com/oxidecomputer/falcon?branch=main#10f3bff98d247d1e145a0dde82382cbed3628cdc" dependencies = [ "anyhow", "libnet 0.1.0 (git+https://github.com/oxidecomputer/netadm-sys?branch=main)", diff --git a/Cargo.toml b/Cargo.toml index 75264219..b38bc8fd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -55,7 +55,9 @@ schemars = { version = "0.8", features = [ "uuid1", "chrono" ] } tokio = { version = "1.37", features = ["full"] } serde_repr = "0.1" anyhow = "1.0.88" -hyper = "0.14.30" +hyper = "1.4.0" +http-body-util = "0.1" +hyper-util = { version = "0.1", features = ["full"] } serde_json = "1.0.128" percent-encoding = "2.3.1" libnet = { git = "https://github.com/oxidecomputer/netadm-sys", branch = "main" } diff --git a/ddm/Cargo.toml b/ddm/Cargo.toml index 0a57ea77..64a2e094 100644 --- a/ddm/Cargo.toml +++ b/ddm/Cargo.toml @@ -19,6 +19,8 @@ tokio.workspace = true serde_repr.workspace = true anyhow.workspace = true hyper.workspace = true +hyper-util.workspace = true +http-body-util.workspace = true serde_json.workspace = true libnet.workspace = true dpd-client.workspace = true diff --git a/ddm/src/exchange.rs b/ddm/src/exchange.rs index 0f1ec595..4499d8d5 100644 --- a/ddm/src/exchange.rs +++ b/ddm/src/exchange.rs @@ -30,6 +30,7 @@ use dropshot::HttpServerStarter; use dropshot::RequestContext; use dropshot::TypedBody; use dropshot::{endpoint, ApiDescriptionRegisterError}; +use http_body_util::BodyExt; use hyper::body::Bytes; use mg_common::net::{Ipv6Prefix, TunnelOrigin, TunnelOriginV2}; use oxnet::Ipv6Net; @@ -363,8 +364,8 @@ pub enum ExchangeError { #[error("hyper error: {0}")] Hyper(#[from] hyper::Error), - #[error("hyper http error: {0}")] - HyperHttp(#[from] hyper::http::Error), + #[error("hyper client error: {0}")] + HyperClient(#[from] hyper_util::client::legacy::Error), #[error("timeout error: {0}")] Timeout(#[from] tokio::time::error::Elapsed), @@ -457,24 +458,27 @@ fn do_pull_common( uri: String, rt: &Arc, ) -> Result { - let client = hyper::Client::new(); + let client = hyper_util::client::legacy::Client::builder( + hyper_util::rt::TokioExecutor::new(), + ) + .build_http(); + let req = hyper::Request::builder() .method(hyper::Method::GET) .uri(&uri) - .body(hyper::Body::empty())?; + .body(http_body_util::Empty::::new()) + .unwrap(); let resp = client.request(req); let body = rt.block_on(async move { match timeout(Duration::from_millis(250), resp).await { Ok(response) => match response { - Ok(data) => { - match hyper::body::to_bytes(data.into_body()).await { - Ok(data) => Ok(data), - Err(e) => Err(ExchangeError::Hyper(e)), - } - } - Err(e) => Err(ExchangeError::Hyper(e)), + Ok(data) => match data.into_body().collect().await { + Ok(data) => Ok(data.to_bytes()), + Err(e) => Err(ExchangeError::Hyper(e)), + }, + Err(e) => Err(ExchangeError::HyperClient(e)), }, Err(e) => Err(ExchangeError::Timeout(e)), } @@ -565,11 +569,17 @@ fn send_update_common( rt: Arc, log: Logger, ) -> Result<(), ExchangeError> { - let client = hyper::Client::new(); + let client = hyper_util::client::legacy::Client::builder( + hyper_util::rt::TokioExecutor::new(), + ) + .build_http(); + + let body = http_body_util::Full::::from(payload); let req = hyper::Request::builder() .method(hyper::Method::PUT) .uri(&uri) - .body(hyper::Body::from(payload))?; + .body(body) + .unwrap(); let resp = client.request(req); From 79f07153c3a657f3845fc07a5d3098c32d6cbb73 Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Thu, 12 Sep 2024 10:06:27 -0700 Subject: [PATCH 09/13] simplify and cleanup --- ddm/src/exchange.rs | 43 +++++++++++++++++-------------------------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/ddm/src/exchange.rs b/ddm/src/exchange.rs index 4499d8d5..6775e804 100644 --- a/ddm/src/exchange.rs +++ b/ddm/src/exchange.rs @@ -10,8 +10,8 @@ //! announcing, withdrawing and synchronizing routes with a a given peer. //! Communication between peers is over HTTP(s) requests. //! -//! This file only contains basic mechanisms for prefix information exhcnage -//! with peers. How those mechanisms are used in the overal state machine model +//! This file only contains basic mechanisms for prefix information exchange +//! with peers. How those mechanisms are used in the overall state machine model //! of a ddm router is defined in the state machine implementation in sm.rs. //! @@ -32,6 +32,8 @@ use dropshot::TypedBody; use dropshot::{endpoint, ApiDescriptionRegisterError}; use http_body_util::BodyExt; use hyper::body::Bytes; +use hyper_util::client::legacy::Client; +use hyper_util::rt::TokioExecutor; use mg_common::net::{Ipv6Prefix, TunnelOrigin, TunnelOriginV2}; use oxnet::Ipv6Net; use schemars::JsonSchema; @@ -458,10 +460,7 @@ fn do_pull_common( uri: String, rt: &Arc, ) -> Result { - let client = hyper_util::client::legacy::Client::builder( - hyper_util::rt::TokioExecutor::new(), - ) - .build_http(); + let client = Client::builder(TokioExecutor::new()).build_http(); let req = hyper::Request::builder() .method(hyper::Method::GET) @@ -471,20 +470,15 @@ fn do_pull_common( let resp = client.request(req); - let body = rt.block_on(async move { - match timeout(Duration::from_millis(250), resp).await { - Ok(response) => match response { - Ok(data) => match data.into_body().collect().await { - Ok(data) => Ok(data.to_bytes()), - Err(e) => Err(ExchangeError::Hyper(e)), - }, - Err(e) => Err(ExchangeError::HyperClient(e)), - }, - Err(e) => Err(ExchangeError::Timeout(e)), - } - })?; - - Ok(body) + rt.block_on(async move { + let body = timeout(Duration::from_millis(250), resp) + .await?? + .into_body() + .collect() + .await? + .to_bytes(); + Ok(body) + }) } pub(crate) fn pull( @@ -569,10 +563,7 @@ fn send_update_common( rt: Arc, log: Logger, ) -> Result<(), ExchangeError> { - let client = hyper_util::client::legacy::Client::builder( - hyper_util::rt::TokioExecutor::new(), - ) - .build_http(); + let client = Client::builder(TokioExecutor::new()).build_http(); let body = http_body_util::Full::::from(payload); let req = hyper::Request::builder() @@ -718,7 +709,7 @@ async fn pull_handler_v2( // Only transit routers redistribute prefixes if ctx.ctx.config.kind == RouterKind::Transit { for route in &ctx.ctx.db.imported() { - // dont redistribute prefixes to their originators + // don't redistribute prefixes to their originators if route.nexthop == ctx.peer { continue; } @@ -791,7 +782,7 @@ async fn pull_handler( // Only transit routers redistribute prefixes if ctx.ctx.config.kind == RouterKind::Transit { for route in &ctx.ctx.db.imported() { - // dont redistribute prefixes to their originators + // don't redistribute prefixes to their originators if route.nexthop == ctx.peer { continue; } From 28ef3265539523c2f6a84e0c6056abfc65520197 Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Thu, 12 Sep 2024 10:43:02 -0700 Subject: [PATCH 10/13] update cargo.lock --- Cargo.lock | 445 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 401 insertions(+), 44 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e25cfc5f..bb52d048 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -783,7 +783,7 @@ dependencies = [ "chrono", "common", "dpd-client", - "dropshot", + "dropshot 0.11.1-dev (git+https://github.com/seanmonstar/dropshot?branch=hyper-v1-2.4-own-body)", "hostname 0.3.1", "http-body-util", "hyper 1.4.1", @@ -798,6 +798,7 @@ dependencies = [ "oximeter-producer", "oxnet", "pretty_assertions", + "reqwest 0.12.7", "schemars", "serde", "serde_json", @@ -816,8 +817,8 @@ version = "0.1.0" dependencies = [ "oxnet", "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "reqwest 0.12.7", "serde", "serde_json", "slog", @@ -830,8 +831,8 @@ version = "0.1.0" source = "git+https://github.com/oxidecomputer/maghemite?rev=2bfd39000c878c45675651a7588c015c486e7f43#2bfd39000c878c45675651a7588c015c486e7f43" dependencies = [ "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "reqwest 0.11.27", "serde", "serde_json", "slog", @@ -1011,8 +1012,8 @@ dependencies = [ "expectorate", "http 0.2.12", "omicron-workspace-hack", - "progenitor", - "reqwest", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "reqwest 0.11.27", "schemars", "serde", "slog", @@ -1044,9 +1045,9 @@ dependencies = [ "futures", "http 0.2.12", "oxnet", - "progenitor", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "regress 0.9.1", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -1055,6 +1056,54 @@ dependencies = [ "uuid", ] +[[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 (git+https://github.com/seanmonstar/dropshot?branch=hyper-v1-2.4-own-body)", + "form_urlencoded", + "futures", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "indexmap 2.5.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", + "uuid", + "version_check", + "waitgroup", +] + [[package]] name = "dropshot" version = "0.11.1-dev" @@ -1067,7 +1116,7 @@ dependencies = [ "camino", "chrono", "debug-ignore", - "dropshot_endpoint", + "dropshot_endpoint 0.11.1-dev (git+https://github.com/oxidecomputer/dropshot?branch=main)", "form_urlencoded", "futures", "hostname 0.4.0", @@ -1101,6 +1150,19 @@ dependencies = [ "waitgroup", ] +[[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", + "syn 2.0.77", +] + [[package]] name = "dropshot_endpoint" version = "0.11.1-dev" @@ -1417,9 +1479,9 @@ dependencies = [ "chrono", "gateway-messages", "omicron-workspace-hack", - "progenitor", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "rand", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -1832,6 +1894,24 @@ dependencies = [ "tokio-rustls 0.24.1", ] +[[package]] +name = "hyper-rustls" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.4.1", + "hyper-util", + "rustls 0.23.12", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.0", + "tower-service", + "webpki-roots 0.26.5", +] + [[package]] name = "hyper-tls" version = "0.5.0" @@ -1845,6 +1925,22 @@ dependencies = [ "tokio-native-tls", ] +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + [[package]] name = "hyper-util" version = "0.1.8" @@ -2017,7 +2113,7 @@ dependencies = [ "omicron-common", "omicron-uuid-kinds", "omicron-workspace-hack", - "reqwest", + "reqwest 0.11.27", "slog", "thiserror", "uuid", @@ -2180,7 +2276,7 @@ dependencies = [ "propolis-server-config", "rand", "regex", - "reqwest", + "reqwest 0.11.27", "ron", "serde", "slog", @@ -2370,8 +2466,8 @@ dependencies = [ "anyhow", "chrono", "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "reqwest 0.12.7", "schemars", "serde", "serde_json", @@ -2386,8 +2482,8 @@ dependencies = [ "anyhow", "chrono", "percent-encoding", - "progenitor", - "reqwest", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -2422,7 +2518,7 @@ name = "mg-ddm-verify" version = "0.1.0" dependencies = [ "anyhow", - "reqwest", + "reqwest 0.12.7", "serde", "serde_json", "tokio", @@ -2436,11 +2532,12 @@ dependencies = [ "common", "ddm-admin-client 0.1.0", "dpd-client", - "http 0.2.12", + "http 1.1.0", "libnet 0.1.0 (git+https://github.com/oxidecomputer/netadm-sys?branch=main)", "mg-common", "oxnet", "rdb", + "reqwest 0.11.27", "slog", "thiserror", "tokio", @@ -2507,9 +2604,9 @@ dependencies = [ "chrono", "clap", "colored", - "dropshot", + "dropshot 0.11.1-dev (git+https://github.com/seanmonstar/dropshot?branch=hyper-v1-2.4-own-body)", "hostname 0.3.1", - "http 0.2.12", + "http 1.1.0", "mg-common", "mg-lower", "omicron-common", @@ -2647,9 +2744,9 @@ dependencies = [ "omicron-uuid-kinds", "omicron-workspace-hack", "oxnet", - "progenitor", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "regress 0.9.1", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -2690,7 +2787,7 @@ dependencies = [ "derive-where", "derive_more", "dns-service-client", - "dropshot", + "dropshot 0.11.1-dev (git+https://github.com/oxidecomputer/dropshot?branch=main)", "futures", "gateway-client", "http 0.2.12", @@ -2911,7 +3008,7 @@ dependencies = [ "backoff", "camino", "chrono", - "dropshot", + "dropshot 0.11.1-dev (git+https://github.com/oxidecomputer/dropshot?branch=main)", "futures", "hex", "http 0.2.12", @@ -2923,11 +3020,11 @@ dependencies = [ "once_cell", "oxnet", "parse-display", - "progenitor", - "progenitor-client", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-client 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "rand", "regress 0.9.1", - "reqwest", + "reqwest 0.11.27", "schemars", "semver 1.0.23", "serde", @@ -2989,7 +3086,7 @@ dependencies = [ "futures", "futures-util", "hex", - "reqwest", + "reqwest 0.11.27", "ring 0.16.20", "semver 1.0.23", "serde", @@ -3217,7 +3314,7 @@ version = "0.1.0" source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "chrono", - "dropshot", + "dropshot 0.11.1-dev (git+https://github.com/oxidecomputer/dropshot?branch=main)", "internal-dns", "nexus-client", "omicron-common", @@ -3644,14 +3741,38 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "progenitor" +version = "0.7.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" +dependencies = [ + "progenitor-client 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "progenitor-macro 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", +] + [[package]] name = "progenitor" version = "0.7.0" source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" dependencies = [ - "progenitor-client", - "progenitor-impl", - "progenitor-macro", + "progenitor-client 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-macro 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", +] + +[[package]] +name = "progenitor-client" +version = "0.7.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" +dependencies = [ + "bytes", + "futures-core", + "percent-encoding", + "reqwest 0.12.7", + "serde", + "serde_json", + "serde_urlencoded", ] [[package]] @@ -3662,12 +3783,33 @@ dependencies = [ "bytes", "futures-core", "percent-encoding", - "reqwest", + "reqwest 0.11.27", "serde", "serde_json", "serde_urlencoded", ] +[[package]] +name = "progenitor-impl" +version = "0.7.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" +dependencies = [ + "heck 0.5.0", + "http 0.2.12", + "indexmap 2.5.0", + "openapiv3", + "proc-macro2", + "quote", + "regex", + "schemars", + "serde", + "serde_json", + "syn 2.0.77", + "thiserror", + "typify", + "unicode-ident", +] + [[package]] name = "progenitor-impl" version = "0.7.0" @@ -3689,6 +3831,23 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "progenitor-macro" +version = "0.7.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" +dependencies = [ + "openapiv3", + "proc-macro2", + "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "quote", + "schemars", + "serde", + "serde_json", + "serde_tokenstream", + "serde_yaml", + "syn 2.0.77", +] + [[package]] name = "progenitor-macro" version = "0.7.0" @@ -3696,7 +3855,7 @@ source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7 dependencies = [ "openapiv3", "proc-macro2", - "progenitor-impl", + "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "quote", "schemars", "serde", @@ -3714,9 +3873,9 @@ dependencies = [ "async-trait", "base64 0.21.7", "futures", - "progenitor", + "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", "rand", - "reqwest", + "reqwest 0.11.27", "schemars", "serde", "serde_json", @@ -3745,6 +3904,54 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +[[package]] +name = "quinn" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls 0.23.12", + "socket2", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" +dependencies = [ + "bytes", + "rand", + "ring 0.17.8", + "rustc-hash", + "rustls 0.23.12", + "slab", + "thiserror", + "tinyvec", + "tracing", +] + +[[package]] +name = "quinn-udp" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b" +dependencies = [ + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + [[package]] name = "quote" version = "1.0.37" @@ -3913,8 +4120,8 @@ dependencies = [ "http 0.2.12", "http-body 0.4.6", "hyper 0.14.30", - "hyper-rustls", - "hyper-tls", + "hyper-rustls 0.24.2", + "hyper-tls 0.5.0", "ipnet", "js-sys", "log", @@ -3928,8 +4135,8 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", - "system-configuration", + "sync_wrapper 0.1.2", + "system-configuration 0.5.1", "tokio", "tokio-native-tls", "tokio-rustls 0.24.1", @@ -3940,10 +4147,60 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots", + "webpki-roots 0.25.4", "winreg", ] +[[package]] +name = "reqwest" +version = "0.12.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" +dependencies = [ + "base64 0.22.1", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-rustls 0.27.3", + "hyper-tls 0.6.0", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls 0.23.12", + "rustls-pemfile 2.1.3", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "system-configuration 0.6.1", + "tokio", + "tokio-native-tls", + "tokio-rustls 0.26.0", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots 0.26.5", + "windows-registry", +] + [[package]] name = "resolv-conf" version = "0.7.0" @@ -4031,6 +4288,12 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + [[package]] name = "rustc_version" version = "0.1.7" @@ -4088,6 +4351,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls" +version = "0.23.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +dependencies = [ + "once_cell", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.7", + "subtle", + "zeroize", +] + [[package]] name = "rustls-pemfile" version = "1.0.4" @@ -4855,6 +5132,15 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -4863,7 +5149,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "system-configuration-sys 0.6.0", ] [[package]] @@ -4876,6 +5173,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tabwriter" version = "1.4.0" @@ -5102,6 +5409,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.12", + "rustls-pki-types", + "tokio", +] + [[package]] name = "tokio-tungstenite" version = "0.21.0" @@ -5640,6 +5958,15 @@ version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +[[package]] +name = "webpki-roots" +version = "0.26.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd24728e5af82c6c4ec1b66ac4844bdf8156257fccda846ec58b42cd0cdbe6a" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "whoami" version = "1.5.1" @@ -5707,6 +6034,36 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.48.0" From 739026523a1f4b5fa9548de1d01861ed603f09b8 Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Thu, 12 Sep 2024 11:40:24 -0700 Subject: [PATCH 11/13] oxnet -> main --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index efe6576b..dfd8ed40 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -86,7 +86,7 @@ mg-common = { path = "mg-common" } chrono = { version = "0.4.38", features = ["serde"] } oximeter = { git = "https://github.com/oxidecomputer/omicron", branch = "main"} oximeter-producer = { git = "https://github.com/oxidecomputer/omicron", branch = "main"} -oxnet = { git = "https://github.com/oxidecomputer/oxnet", rev = "7dacd265f1bcd0f8b47bd4805250c4f0812da206" } +oxnet = { git = "https://github.com/oxidecomputer/oxnet" } omicron-common = { git = "https://github.com/oxidecomputer/omicron", branch = "main"} internal-dns = { git = "https://github.com/oxidecomputer/omicron", branch = "main"} uuid = { version = "1.8", features = ["serde", "v4"] } From d3e40205296cb231870ba322d3ecd7607a1a1d8e Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Thu, 26 Sep 2024 17:13:20 -0700 Subject: [PATCH 12/13] dropshot and progen versions --- Cargo.lock | 151 +++++++++++++++++++++++++++++++++++------------------ Cargo.toml | 5 +- 2 files changed, 104 insertions(+), 52 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bb52d048..532e88e3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -383,9 +383,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.1" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" dependencies = [ "serde", ] @@ -817,7 +817,7 @@ version = "0.1.0" dependencies = [ "oxnet", "percent-encoding", - "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "progenitor 0.8.0", "reqwest 0.12.7", "serde", "serde_json", @@ -831,7 +831,7 @@ version = "0.1.0" source = "git+https://github.com/oxidecomputer/maghemite?rev=2bfd39000c878c45675651a7588c015c486e7f43#2bfd39000c878c45675651a7588c015c486e7f43" dependencies = [ "percent-encoding", - "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor 0.7.0", "reqwest 0.11.27", "serde", "serde_json", @@ -1012,7 +1012,7 @@ dependencies = [ "expectorate", "http 0.2.12", "omicron-workspace-hack", - "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor 0.7.0", "reqwest 0.11.27", "schemars", "serde", @@ -1045,7 +1045,7 @@ dependencies = [ "futures", "http 0.2.12", "oxnet", - "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor 0.7.0", "regress 0.9.1", "reqwest 0.11.27", "schemars", @@ -1479,7 +1479,7 @@ dependencies = [ "chrono", "gateway-messages", "omicron-workspace-hack", - "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor 0.7.0", "rand", "reqwest 0.11.27", "schemars", @@ -2466,7 +2466,7 @@ dependencies = [ "anyhow", "chrono", "percent-encoding", - "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "progenitor 0.8.0", "reqwest 0.12.7", "schemars", "serde", @@ -2482,7 +2482,7 @@ dependencies = [ "anyhow", "chrono", "percent-encoding", - "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor 0.7.0", "reqwest 0.11.27", "schemars", "serde", @@ -2744,7 +2744,7 @@ dependencies = [ "omicron-uuid-kinds", "omicron-workspace-hack", "oxnet", - "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor 0.7.0", "regress 0.9.1", "reqwest 0.11.27", "schemars", @@ -3020,8 +3020,8 @@ dependencies = [ "once_cell", "oxnet", "parse-display", - "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", - "progenitor-client 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor 0.7.0", + "progenitor-client 0.7.0", "rand", "regress 0.9.1", "reqwest 0.11.27", @@ -3744,32 +3744,33 @@ dependencies = [ [[package]] name = "progenitor" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" dependencies = [ - "progenitor-client 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", - "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", - "progenitor-macro 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "progenitor-client 0.7.0", + "progenitor-impl 0.7.0", + "progenitor-macro 0.7.0", ] [[package]] name = "progenitor" -version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "293df5b79211fbf0c1ebad6513ba451d267e9c15f5f19ee5d3da775e2dd27331" dependencies = [ - "progenitor-client 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", - "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", - "progenitor-macro 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-client 0.8.0", + "progenitor-impl 0.8.0", + "progenitor-macro 0.8.0", ] [[package]] name = "progenitor-client" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" dependencies = [ "bytes", "futures-core", "percent-encoding", - "reqwest 0.12.7", + "reqwest 0.11.27", "serde", "serde_json", "serde_urlencoded", @@ -3777,13 +3778,14 @@ dependencies = [ [[package]] name = "progenitor-client" -version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a5db54eac3cae7007a0785854bc3e89fd418cca7dfc2207b99b43979154c1b" dependencies = [ "bytes", "futures-core", "percent-encoding", - "reqwest 0.11.27", + "reqwest 0.12.7", "serde", "serde_json", "serde_urlencoded", @@ -3792,7 +3794,7 @@ dependencies = [ [[package]] name = "progenitor-impl" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" dependencies = [ "heck 0.5.0", "http 0.2.12", @@ -3806,17 +3808,18 @@ dependencies = [ "serde_json", "syn 2.0.77", "thiserror", - "typify", + "typify 0.1.0", "unicode-ident", ] [[package]] name = "progenitor-impl" -version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d85934a440963a69f9f04f48507ff6e7aa2952a5b2d8f96cc37fa3dd5c270f66" dependencies = [ "heck 0.5.0", - "http 0.2.12", + "http 1.1.0", "indexmap 2.5.0", "openapiv3", "proc-macro2", @@ -3827,18 +3830,18 @@ dependencies = [ "serde_json", "syn 2.0.77", "thiserror", - "typify", + "typify 0.2.0", "unicode-ident", ] [[package]] name = "progenitor-macro" version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4#e6b4ef462cce01e5f65ec78b13f7bfda7c5953db" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" dependencies = [ "openapiv3", "proc-macro2", - "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=dependabot/cargo/reqwest-0.12.4)", + "progenitor-impl 0.7.0", "quote", "schemars", "serde", @@ -3850,12 +3853,13 @@ dependencies = [ [[package]] name = "progenitor-macro" -version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#921ce56db7ae9ce29ad234e9b3346eddbf4068f8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d99a5a259e2d65a4933054aa51717c70b6aba0522695731ac354a522124efc9b" dependencies = [ "openapiv3", "proc-macro2", - "progenitor-impl 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor-impl 0.8.0", "quote", "schemars", "serde", @@ -3873,7 +3877,7 @@ dependencies = [ "async-trait", "base64 0.21.7", "futures", - "progenitor 0.7.0 (git+https://github.com/oxidecomputer/progenitor?branch=main)", + "progenitor 0.7.0", "rand", "reqwest 0.11.27", "schemars", @@ -4097,9 +4101,9 @@ dependencies = [ [[package]] name = "regress" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16fe0a24af5daaae947294213d2fd2646fbf5e1fbacc1d4ba3e84b2393854842" +checksum = "1541daf4e4ed43a0922b7969bdc2170178bcacc5dabf7e39bc508a9fa3953a7a" dependencies = [ "hashbrown 0.14.5", "memchr", @@ -5254,18 +5258,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", @@ -5604,8 +5608,18 @@ name = "typify" version = "0.1.0" source = "git+https://github.com/oxidecomputer/typify#aa84fe0a67133c6e4e2257fb175f82ef9a24e761" dependencies = [ - "typify-impl", - "typify-macro", + "typify-impl 0.1.0", + "typify-macro 0.1.0", +] + +[[package]] +name = "typify" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c644dda9862f0fef3a570d8ddb3c2cfb1d5ac824a1f2ddfa7bc8f071a5ad8a" +dependencies = [ + "typify-impl 0.2.0", + "typify-macro 0.2.0", ] [[package]] @@ -5617,7 +5631,27 @@ dependencies = [ "log", "proc-macro2", "quote", - "regress 0.10.0", + "regress 0.10.1", + "schemars", + "semver 1.0.23", + "serde", + "serde_json", + "syn 2.0.77", + "thiserror", + "unicode-ident", +] + +[[package]] +name = "typify-impl" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59ab345b6c0d8ae9500b9ff334a4c7c0d316c1c628dc55726b95887eb8dbd11" +dependencies = [ + "heck 0.5.0", + "log", + "proc-macro2", + "quote", + "regress 0.10.1", "schemars", "semver 1.0.23", "serde", @@ -5640,7 +5674,24 @@ dependencies = [ "serde_json", "serde_tokenstream", "syn 2.0.77", - "typify-impl", + "typify-impl 0.1.0", +] + +[[package]] +name = "typify-macro" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "785e2cdcef0df8160fdd762ed548a637aaec1e83704fdbc14da0df66013ee8d0" +dependencies = [ + "proc-macro2", + "quote", + "schemars", + "semver 1.0.23", + "serde", + "serde_json", + "serde_tokenstream", + "syn 2.0.77", + "typify-impl 0.2.0", ] [[package]] @@ -5657,9 +5708,9 @@ checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-normalization" diff --git a/Cargo.toml b/Cargo.toml index dfd8ed40..795ffd9c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,7 +51,8 @@ serde = { version = "1.0.210", features = ["derive"] } hostname = "0.3" thiserror = "1.0" # dropshot = { git = "https://github.com/oxidecomputer/dropshot", branch = "main" } -dropshot = { git = "https://github.com/seanmonstar/dropshot", branch = "hyper-v1-2.4-own-body", features = ["usdt-probes"] } +# dropshot = { git = "https://github.com/seanmonstar/dropshot", branch = "hyper-v1-2.4-own-body", features = ["usdt-probes"] } +dropshot = { version = "0.12.0", branch = "main" } schemars = { version = "0.8", features = [ "uuid1", "chrono" ] } tokio = { version = "1.37", features = ["full"] } serde_repr = "0.1" @@ -63,7 +64,7 @@ percent-encoding = "2.3.1" libnet = { git = "https://github.com/oxidecomputer/netadm-sys", branch = "main" } reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls"] } reqwest11 = { package = "reqwest", version = "0.11", features = ["json", "stream", "rustls-tls"] } -progenitor = { git = "https://github.com/oxidecomputer/progenitor", branch = "dependabot/cargo/reqwest-0.12.4" } +progenitor = "0.8.0" clap = { version = "4.5.17", features = ["derive", "unstable-styles", "env"] } tabwriter = { version = "1", features = ["ansi_formatting"] } colored = "2.1" From b13b5b240f3967de753fd589b1036745d2770b52 Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Thu, 26 Sep 2024 17:16:13 -0700 Subject: [PATCH 13/13] fix --- Cargo.lock | 90 +++++++++++++++--------------------------------------- Cargo.toml | 2 +- 2 files changed, 26 insertions(+), 66 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 532e88e3..b8e05ca5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -187,9 +187,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.82" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", @@ -783,7 +783,7 @@ dependencies = [ "chrono", "common", "dpd-client", - "dropshot 0.11.1-dev (git+https://github.com/seanmonstar/dropshot?branch=hyper-v1-2.4-own-body)", + "dropshot 0.12.0", "hostname 0.3.1", "http-body-util", "hyper 1.4.1", @@ -1059,7 +1059,7 @@ dependencies = [ [[package]] name = "dropshot" version = "0.11.1-dev" -source = "git+https://github.com/seanmonstar/dropshot?branch=hyper-v1-2.4-own-body#9075a2a56f0e6cd8797ecc3a0842922718f0560b" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#2ad43f522a74c42bdb6bcaaef024801b853c1d3c" dependencies = [ "async-stream", "async-trait", @@ -1068,14 +1068,12 @@ dependencies = [ "camino", "chrono", "debug-ignore", - "dropshot_endpoint 0.11.1-dev (git+https://github.com/seanmonstar/dropshot?branch=hyper-v1-2.4-own-body)", + "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", + "http 0.2.12", + "hyper 0.14.30", "indexmap 2.5.0", "multer", "openapiv3", @@ -1106,8 +1104,9 @@ dependencies = [ [[package]] name = "dropshot" -version = "0.11.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#2ad43f522a74c42bdb6bcaaef024801b853c1d3c" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab804b8d4ab58d96e1e19c8ef87e1747a70d2819e92b659d6fe8d5ac5ac44d50" dependencies = [ "async-stream", "async-trait", @@ -1116,12 +1115,14 @@ dependencies = [ "camino", "chrono", "debug-ignore", - "dropshot_endpoint 0.11.1-dev (git+https://github.com/oxidecomputer/dropshot?branch=main)", + "dropshot_endpoint 0.12.0", "form_urlencoded", "futures", "hostname 0.4.0", - "http 0.2.12", - "hyper 0.14.30", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", + "hyper-util", "indexmap 2.5.0", "multer", "openapiv3", @@ -1153,7 +1154,7 @@ dependencies = [ [[package]] name = "dropshot_endpoint" version = "0.11.1-dev" -source = "git+https://github.com/seanmonstar/dropshot?branch=hyper-v1-2.4-own-body#9075a2a56f0e6cd8797ecc3a0842922718f0560b" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#2ad43f522a74c42bdb6bcaaef024801b853c1d3c" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -1165,8 +1166,9 @@ dependencies = [ [[package]] name = "dropshot_endpoint" -version = "0.11.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#2ad43f522a74c42bdb6bcaaef024801b853c1d3c" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "796be76b11b79de0decd7be2105add01220f8bbe04cf1f83214c0b801414a722" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -1943,9 +1945,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" dependencies = [ "bytes", "futures-channel", @@ -1956,7 +1958,6 @@ dependencies = [ "pin-project-lite", "socket2", "tokio", - "tower", "tower-service", "tracing", ] @@ -2604,7 +2605,7 @@ dependencies = [ "chrono", "clap", "colored", - "dropshot 0.11.1-dev (git+https://github.com/seanmonstar/dropshot?branch=hyper-v1-2.4-own-body)", + "dropshot 0.12.0", "hostname 0.3.1", "http 1.1.0", "mg-common", @@ -2787,7 +2788,7 @@ dependencies = [ "derive-where", "derive_more", "dns-service-client", - "dropshot 0.11.1-dev (git+https://github.com/oxidecomputer/dropshot?branch=main)", + "dropshot 0.11.1-dev", "futures", "gateway-client", "http 0.2.12", @@ -3008,7 +3009,7 @@ dependencies = [ "backoff", "camino", "chrono", - "dropshot 0.11.1-dev (git+https://github.com/oxidecomputer/dropshot?branch=main)", + "dropshot 0.11.1-dev", "futures", "hex", "http 0.2.12", @@ -3314,7 +3315,7 @@ version = "0.1.0" source = "git+https://github.com/oxidecomputer/omicron?branch=main#61e1b382ca76a2175d78a07cd82929de8bc1cd20" dependencies = [ "chrono", - "dropshot 0.11.1-dev (git+https://github.com/oxidecomputer/dropshot?branch=main)", + "dropshot 0.11.1-dev", "internal-dns", "nexus-client", "omicron-common", @@ -3575,26 +3576,6 @@ dependencies = [ "serde_derive", ] -[[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.77", -] - [[package]] name = "pin-project-lite" version = "0.2.14" @@ -5514,27 +5495,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d" -[[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.3" diff --git a/Cargo.toml b/Cargo.toml index 795ffd9c..b77cea6e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -52,7 +52,7 @@ hostname = "0.3" thiserror = "1.0" # dropshot = { git = "https://github.com/oxidecomputer/dropshot", branch = "main" } # dropshot = { git = "https://github.com/seanmonstar/dropshot", branch = "hyper-v1-2.4-own-body", features = ["usdt-probes"] } -dropshot = { version = "0.12.0", branch = "main" } +dropshot = { version = "0.12.0", features = ["usdt-probes"] } schemars = { version = "0.8", features = [ "uuid1", "chrono" ] } tokio = { version = "1.37", features = ["full"] } serde_repr = "0.1"