diff --git a/Cargo.lock b/Cargo.lock index 009ac21d795..df4e701a69e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -52,21 +52,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "aes-gcm-siv" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae0784134ba9375416d469ec31e7c5f9fa94405049cf08c5ce5b4698be673e0d" -dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "polyval", - "subtle", - "zeroize", -] - [[package]] name = "ahash" version = "0.8.3" @@ -87,12 +72,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" - [[package]] name = "android-tzdata" version = "0.1.1" @@ -190,16 +169,6 @@ dependencies = [ "syn 2.0.32", ] -[[package]] -name = "api_identity" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#3dcc8d2eb648c87b42454882a2ce024b409cbb8c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.32", -] - [[package]] name = "approx" version = "0.5.1" @@ -248,12 +217,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "ascii" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" - [[package]] name = "ascii-canvas" version = "3.0.0" @@ -296,17 +259,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "async-recursion" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.32", -] - [[package]] name = "async-stream" version = "0.3.5" @@ -495,7 +447,7 @@ dependencies = [ [[package]] name = "bhyve_api" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=4019eb10fc2f4ba9bf210d0461dc6292b68309c2#4019eb10fc2f4ba9bf210d0461dc6292b68309c2" +source = "git+https://github.com/oxidecomputer/propolis?rev=5ed82315541271e2734746a9ca79e39f35c12283#5ed82315541271e2734746a9ca79e39f35c12283" dependencies = [ "bhyve_api_sys", "libc", @@ -505,7 +457,7 @@ dependencies = [ [[package]] name = "bhyve_api_sys" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=4019eb10fc2f4ba9bf210d0461dc6292b68309c2#4019eb10fc2f4ba9bf210d0461dc6292b68309c2" +source = "git+https://github.com/oxidecomputer/propolis?rev=5ed82315541271e2734746a9ca79e39f35c12283#5ed82315541271e2734746a9ca79e39f35c12283" dependencies = [ "libc", "strum", @@ -558,12 +510,6 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" -[[package]] -name = "bit_field" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" - [[package]] name = "bitfield" version = "0.14.0" @@ -585,26 +531,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bitstruct" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1b10c3912af09af44ea1dafe307edb5ed374b2a32658eb610e372270c9017b4" -dependencies = [ - "bitstruct_derive", -] - -[[package]] -name = "bitstruct_derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35fd19022c2b750d14eb9724c204d08ab7544570105b3b466d8a9f2f3feded27" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "bitvec" version = "1.0.1" @@ -678,7 +604,7 @@ dependencies = [ "derive_more", "hex", "hkdf", - "omicron-common 0.1.0", + "omicron-common", "omicron-rpaths", "omicron-test-utils", "omicron-workspace-hack", @@ -707,7 +633,7 @@ dependencies = [ "async-trait", "chrono", "ipnetwork", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "progenitor", "regress", @@ -909,7 +835,6 @@ version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ - "jobserver", "libc", ] @@ -1114,26 +1039,6 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" -[[package]] -name = "const_format" -version = "0.2.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c990efc7a285731f9a4378d81aff2f0e85a2c8781a05ef0f8baa8dac54d0ff48" -dependencies = [ - "const_format_proc_macros", -] - -[[package]] -name = "const_format_proc_macros" -version = "0.2.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e026b6ce194a874cb9cf32cd5772d1ef9767cc8fcb5765948d74f37a9d8b2bf6" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - [[package]] name = "constant_time_eq" version = "0.2.6" @@ -1193,18 +1098,6 @@ dependencies = [ "libc", ] -[[package]] -name = "cpuid_profile_config" -version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=4019eb10fc2f4ba9bf210d0461dc6292b68309c2#4019eb10fc2f4ba9bf210d0461dc6292b68309c2" -dependencies = [ - "propolis", - "serde", - "serde_derive", - "thiserror", - "toml 0.7.8", -] - [[package]] name = "crc" version = "3.0.1" @@ -1385,51 +1278,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "crucible" -version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=da534e73380f3cc53ca0de073e1ea862ae32109b#da534e73380f3cc53ca0de073e1ea862ae32109b" -dependencies = [ - "aes-gcm-siv", - "anyhow", - "async-recursion", - "async-trait", - "base64 0.21.5", - "bytes", - "chrono", - "crucible-client-types", - "crucible-common", - "crucible-protocol", - "crucible-workspace-hack", - "dropshot", - "futures", - "futures-core", - "itertools 0.11.0", - "libc", - "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "oximeter-producer 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "rand 0.8.5", - "rand_chacha 0.3.1", - "reqwest", - "ringbuffer", - "schemars", - "serde", - "serde_json", - "slog", - "slog-async", - "slog-dtrace", - "slog-term", - "tokio", - "tokio-rustls", - "tokio-util", - "toml 0.8.8", - "tracing", - "usdt", - "uuid", - "version_check", -] - [[package]] name = "crucible-agent-client" version = "0.0.1" @@ -1446,47 +1294,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "crucible-client-types" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/crucible?rev=da534e73380f3cc53ca0de073e1ea862ae32109b#da534e73380f3cc53ca0de073e1ea862ae32109b" -dependencies = [ - "base64 0.21.5", - "crucible-workspace-hack", - "schemars", - "serde", - "serde_json", - "uuid", -] - -[[package]] -name = "crucible-common" -version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=da534e73380f3cc53ca0de073e1ea862ae32109b#da534e73380f3cc53ca0de073e1ea862ae32109b" -dependencies = [ - "anyhow", - "atty", - "crucible-workspace-hack", - "nix 0.26.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rusqlite", - "rustls-pemfile", - "schemars", - "serde", - "serde_json", - "slog", - "slog-async", - "slog-bunyan", - "slog-dtrace", - "slog-term", - "tempfile", - "thiserror", - "tokio-rustls", - "toml 0.8.8", - "twox-hash", - "uuid", - "vergen", -] - [[package]] name = "crucible-pantry-client" version = "0.0.1" @@ -1504,23 +1311,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "crucible-protocol" -version = "0.0.0" -source = "git+https://github.com/oxidecomputer/crucible?rev=da534e73380f3cc53ca0de073e1ea862ae32109b#da534e73380f3cc53ca0de073e1ea862ae32109b" -dependencies = [ - "anyhow", - "bincode", - "bytes", - "crucible-common", - "crucible-workspace-hack", - "num_enum 0.7.0", - "schemars", - "serde", - "tokio-util", - "uuid", -] - [[package]] name = "crucible-smf" version = "0.0.0" @@ -1737,7 +1527,7 @@ version = "0.1.0" dependencies = [ "anyhow", "either", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "omicron-zone-package", "progenitor", @@ -1972,15 +1762,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f77af9e75578c1ab34f5f04545a8b05be0c36fbd7a9bb3cf2d2a971e435fdbb9" -[[package]] -name = "dladm" -version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=4019eb10fc2f4ba9bf210d0461dc6292b68309c2#4019eb10fc2f4ba9bf210d0461dc6292b68309c2" -dependencies = [ - "libc", - "strum", -] - [[package]] name = "dlpi" version = "0.2.0" @@ -1988,7 +1769,7 @@ source = "git+https://github.com/oxidecomputer/dlpi-sys#1d587ea98cf2d36f1b1624b0 dependencies = [ "libc", "libdlpi-sys", - "num_enum 0.5.11", + "num_enum", "pretty-hex 0.2.1", "thiserror", "tokio", @@ -2002,14 +1783,14 @@ dependencies = [ "camino", "chrono", "clap 4.4.3", - "dns-service-client 0.1.0", + "dns-service-client", "dropshot", "expectorate", "http", "omicron-test-utils", "omicron-workspace-hack", "openapi-lint", - "openapiv3", + "openapiv3 1.0.3", "pretty-hex 0.3.0", "schemars", "serde", @@ -2048,22 +1829,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "dns-service-client" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#3dcc8d2eb648c87b42454882a2ce024b409cbb8c" -dependencies = [ - "chrono", - "http", - "progenitor", - "reqwest", - "schemars", - "serde", - "serde_json", - "slog", - "uuid", -] - [[package]] name = "doc-comment" version = "0.3.3" @@ -2115,7 +1880,7 @@ dependencies = [ [[package]] name = "dropshot" version = "0.9.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#fa728d07970824fd5f3bd57a3d4dc0fdbea09bfd" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#37ca89ee38e46c04b38faecb32554ecd4c45460c" dependencies = [ "async-stream", "async-trait", @@ -2132,7 +1897,7 @@ dependencies = [ "hyper", "indexmap 2.1.0", "multer", - "openapiv3", + "openapiv3 2.0.0-rc.1", "paste", "percent-encoding", "proc-macro2", @@ -2151,7 +1916,7 @@ dependencies = [ "slog-term", "tokio", "tokio-rustls", - "toml 0.7.8", + "toml 0.8.8", "usdt", "uuid", "version_check", @@ -2161,7 +1926,7 @@ dependencies = [ [[package]] name = "dropshot_endpoint" version = "0.9.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#fa728d07970824fd5f3bd57a3d4dc0fdbea09bfd" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#37ca89ee38e46c04b38faecb32554ecd4c45460c" dependencies = [ "proc-macro2", "quote", @@ -2312,19 +2077,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "env_logger" version = "0.10.0" @@ -2342,15 +2094,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -[[package]] -name = "erased-serde" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "837c0466252947ada828b975e12daf82e18bb5444e4df87be6038d4469e2a3d2" -dependencies = [ - "serde", -] - [[package]] name = "errno" version = "0.3.2" @@ -2389,12 +2132,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" -[[package]] -name = "fallible-streaming-iterator" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" - [[package]] name = "fastrand" version = "2.0.0" @@ -2701,7 +2438,7 @@ dependencies = [ "gateway-messages", "hex", "libc", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "reqwest", "serde", @@ -2763,7 +2500,7 @@ dependencies = [ "hubpack 0.1.2", "hubtools", "lru-cache", - "nix 0.26.2 (git+https://github.com/jgallagher/nix?branch=r0.26-illumos)", + "nix", "once_cell", "paste", "serde", @@ -2856,19 +2593,6 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" -[[package]] -name = "git2" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044" -dependencies = [ - "bitflags 1.3.2", - "libc", - "libgit2-sys", - "log", - "url", -] - [[package]] name = "glob" version = "0.3.1" @@ -2953,19 +2677,6 @@ name = "hashbrown" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "hashlink" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312f66718a2d7789ffef4f4b7b213138ed9f1eb3aa1d0d82fc99f88fb3ffd26f" -dependencies = [ - "hashbrown 0.14.2", -] [[package]] name = "headers" @@ -3349,7 +3060,7 @@ source = "git+https://github.com/oxidecomputer/illumos-devinfo?branch=main#4323b dependencies = [ "anyhow", "libc", - "num_enum 0.5.11", + "num_enum", ] [[package]] @@ -3373,7 +3084,7 @@ dependencies = [ "libc", "macaddr", "mockall", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "opte-ioctl", "oxide-vpc", @@ -3482,7 +3193,7 @@ dependencies = [ "ipcc-key-value", "itertools 0.11.0", "libc", - "omicron-common 0.1.0", + "omicron-common", "omicron-test-utils", "omicron-workspace-hack", "once_cell", @@ -3538,11 +3249,11 @@ dependencies = [ "expectorate", "hyper", "installinator-common", - "omicron-common 0.1.0", + "omicron-common", "omicron-test-utils", "omicron-workspace-hack", "openapi-lint", - "openapiv3", + "openapiv3 1.0.3", "schemars", "serde", "serde_json", @@ -3559,7 +3270,7 @@ dependencies = [ "anyhow", "camino", "illumos-utils", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "schemars", "serde", @@ -3586,12 +3297,12 @@ dependencies = [ "assert_matches", "chrono", "dns-server", - "dns-service-client 0.1.0", + "dns-service-client", "dropshot", "expectorate", "futures", "hyper", - "omicron-common 0.1.0", + "omicron-common", "omicron-test-utils", "omicron-workspace-hack", "progenitor", @@ -3608,25 +3319,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "internal-dns" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#3dcc8d2eb648c87b42454882a2ce024b409cbb8c" -dependencies = [ - "anyhow", - "chrono", - "dns-service-client 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "futures", - "hyper", - "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "reqwest", - "slog", - "thiserror", - "trust-dns-proto", - "trust-dns-resolver", - "uuid", -] - [[package]] name = "internal-dns-cli" version = "0.1.0" @@ -3634,8 +3326,8 @@ dependencies = [ "anyhow", "clap 4.4.3", "dropshot", - "internal-dns 0.1.0", - "omicron-common 0.1.0", + "internal-dns", + "omicron-common", "omicron-workspace-hack", "slog", "tokio", @@ -3659,7 +3351,7 @@ version = "0.1.0" dependencies = [ "ciborium", "libc", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "proptest", "serde", @@ -3737,15 +3429,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" -[[package]] -name = "jobserver" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" -dependencies = [ - "libc", -] - [[package]] name = "js-sys" version = "0.3.64" @@ -3770,7 +3453,7 @@ version = "0.1.0" dependencies = [ "async-trait", "hkdf", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "secrecy", "sha3", @@ -3870,18 +3553,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b024e211b1b371da58cd69e4fb8fa4ed16915edcc0e2e1fb04ac4bad61959f25" -[[package]] -name = "libgit2-sys" -version = "0.15.2+1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a80df2e11fb4a61f4ba2ab42dbe7f74468da143f1a75c74e11dee7c813f694fa" -dependencies = [ - "cc", - "libc", - "libz-sys", - "pkg-config", -] - [[package]] name = "libloading" version = "0.7.4" @@ -3908,7 +3579,7 @@ dependencies = [ "colored", "dlpi", "libc", - "num_enum 0.5.11", + "num_enum", "nvpair", "nvpair-sys", "rusty-doors", @@ -3917,16 +3588,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "libsqlite3-sys" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326" -dependencies = [ - "pkg-config", - "vcpkg", -] - [[package]] name = "libsw" version = "3.3.0" @@ -3958,18 +3619,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "libz-sys" -version = "1.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "linear-map" version = "1.2.0" @@ -4030,7 +3679,7 @@ dependencies = [ "const-oid", "crc-any", "der", - "env_logger 0.10.0", + "env_logger", "hex", "log", "lpc55_areas", @@ -4139,7 +3788,7 @@ version = "0.1.0" dependencies = [ "anyhow", "either", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "omicron-zone-package", "progenitor", @@ -4302,8 +3951,8 @@ dependencies = [ "chrono", "futures", "ipnetwork", - "omicron-common 0.1.0", - "omicron-passwords 0.1.0", + "omicron-common", + "omicron-passwords", "omicron-workspace-hack", "progenitor", "regress", @@ -4315,26 +3964,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "nexus-client" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#3dcc8d2eb648c87b42454882a2ce024b409cbb8c" -dependencies = [ - "chrono", - "futures", - "ipnetwork", - "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "omicron-passwords 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "progenitor", - "regress", - "reqwest", - "schemars", - "serde", - "serde_json", - "slog", - "uuid", -] - [[package]] name = "nexus-db-model" version = "0.1.0" @@ -4351,11 +3980,11 @@ dependencies = [ "nexus-defaults", "nexus-types", "omicron-certificates", - "omicron-common 0.1.0", - "omicron-passwords 0.1.0", + "omicron-common", + "omicron-passwords", "omicron-rpaths", "omicron-workspace-hack", - "parse-display 0.8.2", + "parse-display", "pq-sys", "rand 0.8.5", "ref-cast", @@ -4396,7 +4025,7 @@ dependencies = [ "http", "hyper", "hyper-rustls", - "internal-dns 0.1.0", + "internal-dns", "ipnetwork", "itertools 0.11.0", "lazy_static", @@ -4407,19 +4036,19 @@ dependencies = [ "nexus-inventory", "nexus-test-utils", "nexus-types", - "omicron-common 0.1.0", - "omicron-passwords 0.1.0", + "omicron-common", + "omicron-passwords", "omicron-rpaths", "omicron-sled-agent", "omicron-test-utils", "omicron-workspace-hack", "once_cell", - "openapiv3", + "openapiv3 1.0.3", "openssl", "openssl-probe", "openssl-sys", "oso", - "oximeter 0.1.0", + "oximeter", "paste", "pem 1.1.1", "petgraph", @@ -4458,7 +4087,7 @@ version = "0.1.0" dependencies = [ "ipnetwork", "lazy_static", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "rand 0.8.5", "serde_json", @@ -4490,9 +4119,9 @@ version = "0.1.0" dependencies = [ "async-trait", "dropshot", - "internal-dns 0.1.0", + "internal-dns", "nexus-types", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "slog", "uuid", @@ -4509,27 +4138,27 @@ dependencies = [ "chrono", "crucible-agent-client", "dns-server", - "dns-service-client 0.1.0", + "dns-service-client", "dropshot", "gateway-messages", "gateway-test-utils", "headers", "http", "hyper", - "internal-dns 0.1.0", + "internal-dns", "nexus-db-queries", "nexus-test-interface", "nexus-types", - "omicron-common 0.1.0", - "omicron-passwords 0.1.0", + "omicron-common", + "omicron-passwords", "omicron-sled-agent", "omicron-test-utils", "omicron-workspace-hack", - "oximeter 0.1.0", + "oximeter", "oximeter-client", "oximeter-collector", - "oximeter-producer 0.1.0", - "parse-display 0.8.2", + "oximeter-producer", + "parse-display", "serde", "serde_json", "serde_urlencoded", @@ -4555,20 +4184,20 @@ name = "nexus-types" version = "0.1.0" dependencies = [ "anyhow", - "api_identity 0.1.0", + "api_identity", "base64 0.21.5", "chrono", - "dns-service-client 0.1.0", + "dns-service-client", "futures", "gateway-client", "newtype_derive", - "omicron-common 0.1.0", - "omicron-passwords 0.1.0", + "omicron-common", + "omicron-passwords", "omicron-workspace-hack", "openssl", "openssl-probe", "openssl-sys", - "parse-display 0.8.2", + "parse-display", "schemars", "serde", "serde_json", @@ -4586,20 +4215,6 @@ dependencies = [ "smallvec 1.11.0", ] -[[package]] -name = "nix" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" -dependencies = [ - "bitflags 1.3.2", - "cfg-if 1.0.0", - "libc", - "memoffset 0.7.1", - "pin-utils", - "static_assertions", -] - [[package]] name = "nix" version = "0.26.2" @@ -4765,16 +4380,7 @@ version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70bf6736f74634d299d00086f02986875b3c2d924781a6a2cb6c201e73da0ceb" -dependencies = [ - "num_enum_derive 0.7.0", + "num_enum_derive", ] [[package]] @@ -4789,18 +4395,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "num_enum_derive" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ea360eafe1022f7cc56cd7b869ed57330fb2453d0c7831d99b74c65d2f5597" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.32", -] - [[package]] name = "num_threads" version = "0.1.6" @@ -4869,7 +4463,7 @@ version = "0.1.0" dependencies = [ "display-error-chain", "foreign-types 0.3.2", - "omicron-common 0.1.0", + "omicron-common", "omicron-test-utils", "omicron-workspace-hack", "openssl", @@ -4883,7 +4477,7 @@ name = "omicron-common" version = "0.1.0" dependencies = [ "anyhow", - "api_identity 0.1.0", + "api_identity", "async-trait", "backoff", "camino", @@ -4900,53 +4494,11 @@ dependencies = [ "libc", "macaddr", "omicron-workspace-hack", - "parse-display 0.8.2", + "parse-display", "progenitor", "proptest", "rand 0.8.5", - "regress", - "reqwest", - "ring 0.16.20", - "schemars", - "semver 1.0.20", - "serde", - "serde_derive", - "serde_human_bytes", - "serde_json", - "serde_urlencoded", - "serde_with", - "slog", - "strum", - "test-strategy", - "thiserror", - "tokio", - "tokio-postgres", - "toml 0.8.8", - "uuid", -] - -[[package]] -name = "omicron-common" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#3dcc8d2eb648c87b42454882a2ce024b409cbb8c" -dependencies = [ - "anyhow", - "api_identity 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "async-trait", - "backoff", - "camino", - "chrono", - "dropshot", - "futures", - "hex", - "http", - "hyper", - "ipnetwork", - "lazy_static", - "macaddr", - "parse-display 0.7.0", - "progenitor", - "rand 0.8.5", + "regress", "reqwest", "ring 0.16.20", "schemars", @@ -4955,13 +4507,15 @@ dependencies = [ "serde_derive", "serde_human_bytes", "serde_json", + "serde_urlencoded", "serde_with", "slog", "strum", + "test-strategy", "thiserror", "tokio", "tokio-postgres", - "toml 0.7.8", + "toml 0.8.8", "uuid", ] @@ -4996,7 +4550,7 @@ dependencies = [ "libc", "nexus-test-interface", "nexus-test-utils", - "omicron-common 0.1.0", + "omicron-common", "omicron-nexus", "omicron-rpaths", "omicron-sled-agent", @@ -5034,12 +4588,12 @@ dependencies = [ "hyper", "illumos-utils", "ipcc-key-value", - "omicron-common 0.1.0", + "omicron-common", "omicron-test-utils", "omicron-workspace-hack", "once_cell", "openapi-lint", - "openapiv3", + "openapiv3 1.0.3", "schemars", "serde", "serde_human_bytes", @@ -5079,7 +4633,7 @@ dependencies = [ "crucible-pantry-client", "diesel", "dns-server", - "dns-service-client 0.1.0", + "dns-service-client", "dpd-client", "dropshot", "expectorate", @@ -5095,7 +4649,7 @@ dependencies = [ "hubtools", "hyper", "hyper-rustls", - "internal-dns 0.1.0", + "internal-dns", "ipnetwork", "itertools 0.11.0", "lazy_static", @@ -5112,26 +4666,26 @@ dependencies = [ "nexus-test-utils-macros", "nexus-types", "num-integer", - "omicron-common 0.1.0", - "omicron-passwords 0.1.0", + "omicron-common", + "omicron-passwords", "omicron-rpaths", "omicron-sled-agent", "omicron-test-utils", "omicron-workspace-hack", "once_cell", "openapi-lint", - "openapiv3", + "openapiv3 1.0.3", "openssl", "openssl-probe", "openssl-sys", "oso", "oxide-client", - "oximeter 0.1.0", + "oximeter", "oximeter-client", "oximeter-db", "oximeter-instruments", - "oximeter-producer 0.1.0", - "parse-display 0.8.2", + "oximeter-producer", + "parse-display", "paste", "pem 1.1.1", "petgraph", @@ -5191,15 +4745,15 @@ dependencies = [ "gateway-messages", "gateway-test-utils", "humantime", - "internal-dns 0.1.0", + "internal-dns", "ipnetwork", - "nexus-client 0.1.0", + "nexus-client", "nexus-db-model", "nexus-db-queries", "nexus-test-utils", "nexus-test-utils-macros", "nexus-types", - "omicron-common 0.1.0", + "omicron-common", "omicron-nexus", "omicron-rpaths", "omicron-test-utils", @@ -5230,7 +4784,7 @@ dependencies = [ "hex", "illumos-utils", "indicatif", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "omicron-zone-package", "petgraph", @@ -5271,19 +4825,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "omicron-passwords" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#3dcc8d2eb648c87b42454882a2ce024b409cbb8c" -dependencies = [ - "argon2", - "rand 0.8.5", - "schemars", - "serde", - "serde_with", - "thiserror", -] - [[package]] name = "omicron-rpaths" version = "0.1.0" @@ -5310,11 +4851,10 @@ dependencies = [ "chrono", "clap 4.4.3", "crucible-agent-client", - "crucible-client-types", "ddm-admin-client", "derive_more", "dns-server", - "dns-service-client 0.1.0", + "dns-service-client", "dpd-client", "dropshot", "expectorate", @@ -5326,28 +4866,28 @@ dependencies = [ "hyper", "hyper-staticfile", "illumos-utils", - "internal-dns 0.1.0", + "internal-dns", "ipnetwork", "itertools 0.11.0", "key-manager", "libc", "macaddr", - "nexus-client 0.1.0", - "omicron-common 0.1.0", + "nexus-client", + "omicron-common", "omicron-test-utils", "omicron-workspace-hack", "once_cell", "openapi-lint", - "openapiv3", + "openapiv3 1.0.3", "opte-ioctl", - "oximeter 0.1.0", + "oximeter", "oximeter-instruments", - "oximeter-producer 0.1.0", + "oximeter-producer", "percent-encoding", "pretty_assertions", "progenitor", "propolis-client", - "propolis-server", + "propolis-mock-server", "rand 0.8.5", "rcgen", "reqwest", @@ -5395,7 +4935,7 @@ dependencies = [ "hex", "http", "libc", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "pem 1.1.1", "rcgen", @@ -5422,12 +4962,10 @@ dependencies = [ "bit-vec", "bitflags 1.3.2", "bitflags 2.4.0", - "bitvec", "bstr 0.2.17", "bstr 1.6.0", "byteorder", "bytes", - "cc", "chrono", "cipher", "clap 4.4.3", @@ -5453,7 +4991,6 @@ dependencies = [ "generic-array", "getrandom 0.2.10", "hashbrown 0.13.2", - "hashbrown 0.14.2", "hex", "hyper", "hyper-rustls", @@ -5473,7 +5010,7 @@ dependencies = [ "num-iter", "num-traits", "once_cell", - "openapiv3", + "openapiv3 2.0.0-rc.1", "petgraph", "postgres-types", "ppv-lite86", @@ -5482,7 +5019,6 @@ dependencies = [ "rand_chacha 0.3.1", "regex", "regex-automata 0.4.3", - "regex-syntax 0.6.29", "regex-syntax 0.8.2", "reqwest", "ring 0.16.20", @@ -5513,7 +5049,6 @@ dependencies = [ "trust-dns-proto", "unicode-bidi", "unicode-normalization", - "unicode-xid", "usdt", "uuid", "yasna", @@ -5571,7 +5106,7 @@ dependencies = [ "heck 0.4.1", "indexmap 2.1.0", "lazy_static", - "openapiv3", + "openapiv3 1.0.3", "regex", ] @@ -5586,6 +5121,17 @@ dependencies = [ "serde_json", ] +[[package]] +name = "openapiv3" +version = "2.0.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25316406f0191559189c56d99731b63130775de7284d98df5e976ce67882ca8a" +dependencies = [ + "indexmap 2.1.0", + "serde", + "serde_json", +] + [[package]] name = "openssl" version = "0.10.57" @@ -5755,9 +5301,9 @@ dependencies = [ "bytes", "chrono", "num", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", - "oximeter-macro-impl 0.1.0", + "oximeter-macro-impl", "rstest", "schemars", "serde", @@ -5767,29 +5313,13 @@ dependencies = [ "uuid", ] -[[package]] -name = "oximeter" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#3dcc8d2eb648c87b42454882a2ce024b409cbb8c" -dependencies = [ - "bytes", - "chrono", - "num-traits", - "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "oximeter-macro-impl 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "schemars", - "serde", - "thiserror", - "uuid", -] - [[package]] name = "oximeter-client" version = "0.1.0" dependencies = [ "chrono", "futures", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "progenitor", "reqwest", @@ -5807,15 +5337,15 @@ dependencies = [ "dropshot", "expectorate", "futures", - "internal-dns 0.1.0", - "nexus-client 0.1.0", + "internal-dns", + "nexus-client", "nexus-types", - "omicron-common 0.1.0", + "omicron-common", "omicron-test-utils", "omicron-workspace-hack", "openapi-lint", - "openapiv3", - "oximeter 0.1.0", + "openapiv3 1.0.3", + "oximeter", "oximeter-client", "oximeter-db", "rand 0.8.5", @@ -5850,7 +5380,7 @@ dependencies = [ "itertools 0.11.0", "omicron-test-utils", "omicron-workspace-hack", - "oximeter 0.1.0", + "oximeter", "regex", "reqwest", "schemars", @@ -5878,7 +5408,7 @@ dependencies = [ "http", "kstat-rs", "omicron-workspace-hack", - "oximeter 0.1.0", + "oximeter", "rand 0.8.5", "slog", "slog-async", @@ -5898,16 +5428,6 @@ dependencies = [ "syn 2.0.32", ] -[[package]] -name = "oximeter-macro-impl" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#3dcc8d2eb648c87b42454882a2ce024b409cbb8c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.32", -] - [[package]] name = "oximeter-producer" version = "0.1.0" @@ -5916,30 +5436,10 @@ dependencies = [ "chrono", "clap 4.4.3", "dropshot", - "nexus-client 0.1.0", - "omicron-common 0.1.0", + "nexus-client", + "omicron-common", "omicron-workspace-hack", - "oximeter 0.1.0", - "reqwest", - "schemars", - "serde", - "slog", - "slog-dtrace", - "thiserror", - "tokio", - "uuid", -] - -[[package]] -name = "oximeter-producer" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#3dcc8d2eb648c87b42454882a2ce024b409cbb8c" -dependencies = [ - "chrono", - "dropshot", - "nexus-client 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", + "oximeter", "reqwest", "schemars", "serde", @@ -6031,17 +5531,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "parse-display" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac6b32f6c8212838b74c0f5ba412194e88897923020810d9bec72d3594c2588d" -dependencies = [ - "once_cell", - "parse-display-derive 0.7.0", - "regex", -] - [[package]] name = "parse-display" version = "0.8.2" @@ -6049,23 +5538,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6509d08722b53e8dafe97f2027b22ccbe3a5db83cb352931e9716b0aa44bc5c" dependencies = [ "once_cell", - "parse-display-derive 0.8.2", - "regex", -] - -[[package]] -name = "parse-display-derive" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6ec9ab2477935d04fcdf7c51c9ee94a1be988938886de3239aed40980b7180" -dependencies = [ - "once_cell", - "proc-macro2", - "quote", + "parse-display-derive", "regex", - "regex-syntax 0.6.29", - "structmeta 0.1.6", - "syn 1.0.109", ] [[package]] @@ -6079,7 +5553,7 @@ dependencies = [ "quote", "regex", "regex-syntax 0.7.5", - "structmeta 0.2.0", + "structmeta", "syn 2.0.32", ] @@ -6611,17 +6085,17 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] [[package]] name = "progenitor" -version = "0.3.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#5c941c0b41b0235031f3ade33a9c119945f1fd51" +version = "0.4.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#575506c45625d210a76ffe2002b7cf77da08915f" dependencies = [ "progenitor-client", "progenitor-impl", @@ -6631,8 +6105,8 @@ dependencies = [ [[package]] name = "progenitor-client" -version = "0.3.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#5c941c0b41b0235031f3ade33a9c119945f1fd51" +version = "0.4.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#575506c45625d210a76ffe2002b7cf77da08915f" dependencies = [ "bytes", "futures-core", @@ -6645,14 +6119,14 @@ dependencies = [ [[package]] name = "progenitor-impl" -version = "0.3.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#5c941c0b41b0235031f3ade33a9c119945f1fd51" +version = "0.4.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#575506c45625d210a76ffe2002b7cf77da08915f" dependencies = [ "getopts", "heck 0.4.1", "http", "indexmap 2.1.0", - "openapiv3", + "openapiv3 2.0.0-rc.1", "proc-macro2", "quote", "regex", @@ -6667,10 +6141,10 @@ dependencies = [ [[package]] name = "progenitor-macro" -version = "0.3.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#5c941c0b41b0235031f3ade33a9c119945f1fd51" +version = "0.4.0" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#575506c45625d210a76ffe2002b7cf77da08915f" dependencies = [ - "openapiv3", + "openapiv3 2.0.0-rc.1", "proc-macro2", "progenitor-impl", "quote", @@ -6682,53 +6156,17 @@ dependencies = [ "syn 2.0.32", ] -[[package]] -name = "propolis" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=4019eb10fc2f4ba9bf210d0461dc6292b68309c2#4019eb10fc2f4ba9bf210d0461dc6292b68309c2" -dependencies = [ - "anyhow", - "bhyve_api", - "bitflags 2.4.0", - "bitstruct", - "byteorder", - "crucible", - "crucible-client-types", - "dladm", - "erased-serde", - "futures", - "lazy_static", - "libc", - "nexus-client 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "propolis_types", - "rfb", - "serde", - "serde_arrays", - "serde_json", - "slog", - "strum", - "thiserror", - "tokio", - "usdt", - "uuid", - "viona_api", -] - [[package]] name = "propolis-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=4019eb10fc2f4ba9bf210d0461dc6292b68309c2#4019eb10fc2f4ba9bf210d0461dc6292b68309c2" +source = "git+https://github.com/oxidecomputer/propolis?rev=5ed82315541271e2734746a9ca79e39f35c12283#5ed82315541271e2734746a9ca79e39f35c12283" dependencies = [ "async-trait", "base64 0.21.5", - "crucible-client-types", "futures", "progenitor", - "propolis_types", "rand 0.8.5", "reqwest", - "ring 0.16.20", "schemars", "serde", "serde_json", @@ -6740,73 +6178,39 @@ dependencies = [ ] [[package]] -name = "propolis-server" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=4019eb10fc2f4ba9bf210d0461dc6292b68309c2#4019eb10fc2f4ba9bf210d0461dc6292b68309c2" +name = "propolis-mock-server" +version = "0.0.0" +source = "git+https://github.com/oxidecomputer/propolis?rev=5ed82315541271e2734746a9ca79e39f35c12283#5ed82315541271e2734746a9ca79e39f35c12283" dependencies = [ "anyhow", - "async-trait", "atty", "base64 0.21.5", - "bit_field", - "bitvec", - "bytes", - "cfg-if 1.0.0", - "chrono", "clap 4.4.3", - "const_format", - "crucible-client-types", "dropshot", - "erased-serde", "futures", - "http", "hyper", - "internal-dns 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "lazy_static", - "nexus-client 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "oximeter-producer 0.1.0 (git+https://github.com/oxidecomputer/omicron?branch=main)", - "propolis", - "propolis-client", - "propolis-server-config", - "rfb", - "ron 0.7.1", + "progenitor", + "propolis_types", + "rand 0.8.5", + "reqwest", "schemars", "serde", - "serde_derive", "serde_json", "slog", "slog-async", "slog-bunyan", "slog-dtrace", "slog-term", - "strum", "thiserror", "tokio", "tokio-tungstenite 0.20.1", - "tokio-util", - "toml 0.7.8", - "usdt", "uuid", ] -[[package]] -name = "propolis-server-config" -version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=4019eb10fc2f4ba9bf210d0461dc6292b68309c2#4019eb10fc2f4ba9bf210d0461dc6292b68309c2" -dependencies = [ - "cpuid_profile_config", - "serde", - "serde_derive", - "thiserror", - "toml 0.7.8", -] - [[package]] name = "propolis_types" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=4019eb10fc2f4ba9bf210d0461dc6292b68309c2#4019eb10fc2f4ba9bf210d0461dc6292b68309c2" +source = "git+https://github.com/oxidecomputer/propolis?rev=5ed82315541271e2734746a9ca79e39f35c12283#5ed82315541271e2734746a9ca79e39f35c12283" dependencies = [ "schemars", "serde", @@ -7199,9 +6603,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.20" +version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ "base64 0.21.5", "bytes", @@ -7227,6 +6631,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "system-configuration", "tokio", "tokio-native-tls", "tokio-rustls", @@ -7251,21 +6656,6 @@ dependencies = [ "quick-error", ] -[[package]] -name = "rfb" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/rfb?rev=0cac8d9c25eb27acfa35df80f3b9d371de98ab3b#0cac8d9c25eb27acfa35df80f3b9d371de98ab3b" -dependencies = [ - "ascii", - "async-trait", - "bitflags 1.3.2", - "env_logger 0.9.3", - "futures", - "log", - "thiserror", - "tokio", -] - [[package]] name = "ring" version = "0.16.20" @@ -7295,23 +6685,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "ringbuffer" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df6368f71f205ff9c33c076d170dd56ebf68e8161c733c0caa07a7a5509ed53" - -[[package]] -name = "ron" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a" -dependencies = [ - "base64 0.13.1", - "bitflags 1.3.2", - "serde", -] - [[package]] name = "ron" version = "0.8.1" @@ -7398,20 +6771,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "rusqlite" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "549b9d036d571d42e6e85d1c1425e2ac83491075078ca9a15be021c56b1641f2" -dependencies = [ - "bitflags 2.4.0", - "fallible-iterator", - "fallible-streaming-iterator", - "hashlink", - "libsqlite3-sys", - "smallvec 1.11.0", -] - [[package]] name = "russh" version = "0.39.0" @@ -7834,9 +7193,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" dependencies = [ "serde_derive", ] @@ -7870,20 +7229,11 @@ dependencies = [ "smallvec 0.6.14", ] -[[package]] -name = "serde_arrays" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38636132857f68ec3d5f3eb121166d2af33cb55174c4d5ff645db6165cbef0fd" -dependencies = [ - "serde", -] - [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" dependencies = [ "proc-macro2", "quote", @@ -8063,9 +7413,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -8221,7 +7571,7 @@ dependencies = [ "async-trait", "chrono", "ipnetwork", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "progenitor", "regress", @@ -8245,8 +7595,8 @@ dependencies = [ "libc", "libefi-illumos", "macaddr", - "nexus-client 0.1.0", - "omicron-common 0.1.0", + "nexus-client", + "omicron-common", "omicron-test-utils", "omicron-workspace-hack", "rand 0.8.5", @@ -8473,7 +7823,7 @@ dependencies = [ "futures", "gateway-messages", "hex", - "omicron-common 0.1.0", + "omicron-common", "omicron-gateway", "omicron-workspace-hack", "serde", @@ -8616,18 +7966,6 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -[[package]] -name = "structmeta" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "104842d6278bf64aa9d2f182ba4bde31e8aec7a131d29b7f444bb9b344a09e2a" -dependencies = [ - "proc-macro2", - "quote", - "structmeta-derive 0.1.6", - "syn 1.0.109", -] - [[package]] name = "structmeta" version = "0.2.0" @@ -8636,21 +7974,10 @@ checksum = "78ad9e09554f0456d67a69c1584c9798ba733a5b50349a6c0d0948710523922d" dependencies = [ "proc-macro2", "quote", - "structmeta-derive 0.2.0", + "structmeta-derive", "syn 2.0.32", ] -[[package]] -name = "structmeta-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24420be405b590e2d746d83b01f09af673270cf80e9b003a5fa7b651c58c7d93" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "structmeta-derive" version = "0.2.0" @@ -8787,6 +8114,27 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tabled" version = "0.14.0" @@ -8910,7 +8258,7 @@ checksum = "b8361c808554228ad09bfed70f5c823caf8a3450b6881cc3a38eb57e8c08c1d9" dependencies = [ "proc-macro2", "quote", - "structmeta 0.2.0", + "structmeta", "syn 2.0.32", ] @@ -9093,7 +8441,7 @@ name = "tlvc-text" version = "0.3.0" source = "git+https://github.com/oxidecomputer/tlvc.git#e644a21a7ca973ed31499106ea926bd63ebccc6f" dependencies = [ - "ron 0.8.1", + "ron", "serde", "tlvc 0.3.1 (git+https://github.com/oxidecomputer/tlvc.git)", "zerocopy 0.6.4", @@ -9510,7 +8858,7 @@ dependencies = [ "datatest-stable", "fs-err", "humantime", - "omicron-common 0.1.0", + "omicron-common", "omicron-test-utils", "omicron-workspace-hack", "predicates 3.0.4", @@ -9539,7 +8887,7 @@ dependencies = [ "hex", "hubtools", "itertools 0.11.0", - "omicron-common 0.1.0", + "omicron-common", "omicron-test-utils", "omicron-workspace-hack", "rand 0.8.5", @@ -9604,17 +8952,6 @@ dependencies = [ "utf-8", ] -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if 1.0.0", - "rand 0.8.5", - "static_assertions", -] - [[package]] name = "typenum" version = "1.16.0" @@ -9623,8 +8960,8 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "typify" -version = "0.0.13" -source = "git+https://github.com/oxidecomputer/typify#de16c4238a2b34400d0fece086a6469951c3236b" +version = "0.0.14" +source = "git+https://github.com/oxidecomputer/typify#a128f3edec91e48d6cc0d3849466db8f64f780c1" dependencies = [ "typify-impl", "typify-macro", @@ -9632,8 +8969,8 @@ dependencies = [ [[package]] name = "typify-impl" -version = "0.0.13" -source = "git+https://github.com/oxidecomputer/typify#de16c4238a2b34400d0fece086a6469951c3236b" +version = "0.0.14" +source = "git+https://github.com/oxidecomputer/typify#a128f3edec91e48d6cc0d3849466db8f64f780c1" dependencies = [ "heck 0.4.1", "log", @@ -9649,8 +8986,8 @@ dependencies = [ [[package]] name = "typify-macro" -version = "0.0.13" -source = "git+https://github.com/oxidecomputer/typify#de16c4238a2b34400d0fece086a6469951c3236b" +version = "0.0.14" +source = "git+https://github.com/oxidecomputer/typify#a128f3edec91e48d6cc0d3849466db8f64f780c1" dependencies = [ "proc-macro2", "quote", @@ -9898,42 +9235,12 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" -[[package]] -name = "vergen" -version = "8.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbc5ad0d9d26b2c49a5ab7da76c3e79d3ee37e7821799f8223fcb8f2f391a2e7" -dependencies = [ - "anyhow", - "git2", - "rustc_version 0.4.0", - "rustversion", - "time", -] - [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "viona_api" -version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=4019eb10fc2f4ba9bf210d0461dc6292b68309c2#4019eb10fc2f4ba9bf210d0461dc6292b68309c2" -dependencies = [ - "libc", - "viona_api_sys", -] - -[[package]] -name = "viona_api_sys" -version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=4019eb10fc2f4ba9bf210d0461dc6292b68309c2#4019eb10fc2f4ba9bf210d0461dc6292b68309c2" -dependencies = [ - "libc", -] - [[package]] name = "vsss-rs" version = "3.3.1" @@ -10155,8 +9462,8 @@ dependencies = [ "indexmap 2.1.0", "indicatif", "itertools 0.11.0", - "omicron-common 0.1.0", - "omicron-passwords 0.1.0", + "omicron-common", + "omicron-passwords", "omicron-workspace-hack", "once_cell", "owo-colors", @@ -10194,7 +9501,7 @@ version = "0.1.0" dependencies = [ "anyhow", "gateway-client", - "omicron-common 0.1.0", + "omicron-common", "omicron-workspace-hack", "schemars", "serde", @@ -10260,17 +9567,17 @@ dependencies = [ "installinator-artifact-client", "installinator-artifactd", "installinator-common", - "internal-dns 0.1.0", + "internal-dns", "ipnetwork", "itertools 0.11.0", "maplit", "omicron-certificates", - "omicron-common 0.1.0", - "omicron-passwords 0.1.0", + "omicron-common", + "omicron-passwords", "omicron-test-utils", "omicron-workspace-hack", "openapi-lint", - "openapiv3", + "openapiv3 1.0.3", "rand 0.8.5", "reqwest", "schemars", diff --git a/Cargo.toml b/Cargo.toml index 0e139465339..b8704bb2771 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -168,7 +168,6 @@ criterion = { version = "0.5.1", features = [ "async_tokio" ] } crossbeam = "0.8" crossterm = { version = "0.27.0", features = ["event-stream"] } crucible-agent-client = { git = "https://github.com/oxidecomputer/crucible", rev = "da534e73380f3cc53ca0de073e1ea862ae32109b" } -crucible-client-types = { git = "https://github.com/oxidecomputer/crucible", rev = "da534e73380f3cc53ca0de073e1ea862ae32109b" } crucible-pantry-client = { git = "https://github.com/oxidecomputer/crucible", rev = "da534e73380f3cc53ca0de073e1ea862ae32109b" } crucible-smf = { git = "https://github.com/oxidecomputer/crucible", rev = "da534e73380f3cc53ca0de073e1ea862ae32109b" } curve25519-dalek = "4" @@ -289,9 +288,9 @@ pretty-hex = "0.3.0" proc-macro2 = "1.0" progenitor = { git = "https://github.com/oxidecomputer/progenitor", branch = "main" } progenitor-client = { git = "https://github.com/oxidecomputer/progenitor", branch = "main" } -bhyve_api = { git = "https://github.com/oxidecomputer/propolis", rev = "4019eb10fc2f4ba9bf210d0461dc6292b68309c2" } -propolis-client = { git = "https://github.com/oxidecomputer/propolis", rev = "4019eb10fc2f4ba9bf210d0461dc6292b68309c2", features = [ "generated-migration" ] } -propolis-server = { git = "https://github.com/oxidecomputer/propolis", rev = "4019eb10fc2f4ba9bf210d0461dc6292b68309c2", default-features = false, features = ["mock-only"] } +bhyve_api = { git = "https://github.com/oxidecomputer/propolis", rev = "5ed82315541271e2734746a9ca79e39f35c12283" } +propolis-client = { git = "https://github.com/oxidecomputer/propolis", rev = "5ed82315541271e2734746a9ca79e39f35c12283" } +propolis-mock-server = { git = "https://github.com/oxidecomputer/propolis", rev = "5ed82315541271e2734746a9ca79e39f35c12283" } proptest = "1.3.1" quote = "1.0" rand = "0.8.5" @@ -544,9 +543,9 @@ opt-level = 3 #steno = { path = "../steno" } #[patch."https://github.com/oxidecomputer/propolis"] #propolis-client = { path = "../propolis/lib/propolis-client" } +#propolis-mock-server = { path = "../propolis/bin/mock-server" } #[patch."https://github.com/oxidecomputer/crucible"] #crucible-agent-client = { path = "../crucible/agent-client" } -#crucible-client-types = { path = "../crucible/crucible-client-types" } #crucible-pantry-client = { path = "../crucible/pantry-client" } #crucible-smf = { path = "../crucible/smf" } #[patch.crates-io] diff --git a/sled-agent/Cargo.toml b/sled-agent/Cargo.toml index 06cc8092cea..e71a83c8e32 100644 --- a/sled-agent/Cargo.toml +++ b/sled-agent/Cargo.toml @@ -20,7 +20,6 @@ cfg-if.workspace = true chrono.workspace = true clap.workspace = true # Only used by the simulated sled agent. -crucible-client-types.workspace = true crucible-agent-client.workspace = true ddm-admin-client.workspace = true derive_more.workspace = true @@ -49,8 +48,8 @@ oximeter-instruments.workspace = true oximeter-producer.workspace = true percent-encoding.workspace = true progenitor.workspace = true -propolis-client = { workspace = true, features = [ "generated-migration" ] } -propolis-server.workspace = true # Only used by the simulated sled agent +propolis-client.workspace = true +propolis-mock-server.workspace = true # Only used by the simulated sled agent rand = { workspace = true, features = ["getrandom"] } reqwest = { workspace = true, features = ["rustls-tls", "stream"] } schemars = { workspace = true, features = [ "chrono", "uuid1" ] } diff --git a/sled-agent/src/common/disk.rs b/sled-agent/src/common/disk.rs index 18160950d3f..57868937d07 100644 --- a/sled-agent/src/common/disk.rs +++ b/sled-agent/src/common/disk.rs @@ -9,7 +9,7 @@ use chrono::Utc; use omicron_common::api::external::DiskState; use omicron_common::api::external::Error; use omicron_common::api::internal::nexus::DiskRuntimeState; -use propolis_client::api::DiskAttachmentState as PropolisDiskState; +use propolis_client::types::DiskAttachmentState as PropolisDiskState; use uuid::Uuid; /// Action to be taken on behalf of state transition. diff --git a/sled-agent/src/common/instance.rs b/sled-agent/src/common/instance.rs index 9e285840e02..d7ee8982e08 100644 --- a/sled-agent/src/common/instance.rs +++ b/sled-agent/src/common/instance.rs @@ -10,8 +10,9 @@ use omicron_common::api::external::InstanceState as ApiInstanceState; use omicron_common::api::internal::nexus::{ InstanceRuntimeState, SledInstanceState, VmmRuntimeState, }; -use propolis_client::api::{ +use propolis_client::types::{ InstanceState as PropolisApiState, InstanceStateMonitorResponse, + MigrationState, }; use uuid::Uuid; @@ -36,7 +37,7 @@ impl From for PropolisInstanceState { impl From for ApiInstanceState { fn from(value: PropolisInstanceState) -> Self { - use propolis_client::api::InstanceState as State; + use propolis_client::types::InstanceState as State; match value.0 { // Nexus uses the VMM state as the externally-visible instance state // when an instance has an active VMM. A Propolis that is "creating" @@ -119,7 +120,6 @@ impl ObservedPropolisState { (Some(this_id), Some(propolis_migration)) if this_id == propolis_migration.migration_id => { - use propolis_client::api::MigrationState; match propolis_migration.state { MigrationState::Finish => { ObservedMigrationStatus::Succeeded @@ -510,7 +510,7 @@ mod test { use chrono::Utc; use omicron_common::api::external::Generation; use omicron_common::api::internal::nexus::InstanceRuntimeState; - use propolis_client::api::InstanceState as Observed; + use propolis_client::types::InstanceState as Observed; use uuid::Uuid; fn make_instance() -> InstanceStates { diff --git a/sled-agent/src/instance.rs b/sled-agent/src/instance.rs index 6db3b117406..bd5fbe48dbb 100644 --- a/sled-agent/src/instance.rs +++ b/sled-agent/src/instance.rs @@ -190,7 +190,7 @@ struct InstanceInner { log: Logger, // Properties visible to Propolis - properties: propolis_client::api::InstanceProperties, + properties: propolis_client::types::InstanceProperties, // The ID of the Propolis server (and zone) running this instance propolis_id: Uuid, @@ -214,7 +214,7 @@ struct InstanceInner { // Disk related properties // TODO: replace `propolis_client::handmade::*` with properly-modeled local types - requested_disks: Vec, + requested_disks: Vec, cloud_init_bytes: Option, // Internal State management @@ -379,7 +379,7 @@ impl InstanceInner { /// Sends an instance state PUT request to this instance's Propolis. async fn propolis_state_put( &self, - request: propolis_client::api::InstanceStateRequested, + request: propolis_client::types::InstanceStateRequested, ) -> Result<(), Error> { let res = self .running_state @@ -409,11 +409,11 @@ impl InstanceInner { ) -> Result<(), Error> { let nics = running_zone .opte_ports() - .map(|port| propolis_client::api::NetworkInterfaceRequest { + .map(|port| propolis_client::types::NetworkInterfaceRequest { // TODO-correctness: Remove `.vnic()` call when we use the port // directly. name: port.vnic_name().to_string(), - slot: propolis_client::api::Slot(port.slot()), + slot: propolis_client::types::Slot(port.slot()), }) .collect(); @@ -423,7 +423,7 @@ impl InstanceInner { self.state.instance().migration_id.ok_or_else(|| { Error::Migration(anyhow!("Missing Migration UUID")) })?; - Some(propolis_client::api::InstanceMigrateInitiateRequest { + Some(propolis_client::types::InstanceMigrateInitiateRequest { src_addr: params.src_propolis_addr.to_string(), src_uuid: params.src_propolis_id, migration_id, @@ -432,7 +432,7 @@ impl InstanceInner { None => None, }; - let request = propolis_client::api::InstanceEnsureRequest { + let request = propolis_client::types::InstanceEnsureRequest { properties: self.properties.clone(), nics, disks: self @@ -648,7 +648,7 @@ impl Instance { let instance = InstanceInner { log: log.new(o!("instance_id" => id.to_string())), // NOTE: Mostly lies. - properties: propolis_client::api::InstanceProperties { + properties: propolis_client::types::InstanceProperties { id, name: hardware.properties.hostname.clone(), description: "Test description".to_string(), @@ -789,7 +789,7 @@ impl Instance { &self, state: crate::params::InstanceStateRequested, ) -> Result { - use propolis_client::api::InstanceStateRequested as PropolisRequest; + use propolis_client::types::InstanceStateRequested as PropolisRequest; let mut inner = self.inner.lock().await; let (propolis_state, next_published) = match state { InstanceStateRequested::MigrationTarget(migration_params) => { @@ -1035,7 +1035,9 @@ impl Instance { // known to Propolis. let response = client .instance_state_monitor() - .body(propolis_client::api::InstanceStateMonitorRequest { gen }) + .body(propolis_client::types::InstanceStateMonitorRequest { + gen, + }) .send() .await? .into_inner(); diff --git a/sled-agent/src/params.rs b/sled-agent/src/params.rs index cd84c9acd4a..9c839264342 100644 --- a/sled-agent/src/params.rs +++ b/sled-agent/src/params.rs @@ -70,8 +70,8 @@ pub struct InstanceHardware { pub external_ips: Vec, pub firewall_rules: Vec, pub dhcp_config: DhcpConfig, - // TODO: replace `propolis_client::handmade::*` with locally-modeled request type - pub disks: Vec, + // TODO: replace `propolis_client::*` with locally-modeled request type + pub disks: Vec, pub cloud_init_bytes: Option, } diff --git a/sled-agent/src/sim/disk.rs b/sled-agent/src/sim/disk.rs index 2d2c18be258..0f08289b74d 100644 --- a/sled-agent/src/sim/disk.rs +++ b/sled-agent/src/sim/disk.rs @@ -19,7 +19,7 @@ use omicron_common::api::internal::nexus::DiskRuntimeState; use omicron_common::api::internal::nexus::ProducerEndpoint; use oximeter_producer::LogConfig; use oximeter_producer::Server as ProducerServer; -use propolis_client::api::DiskAttachmentState as PropolisDiskState; +use propolis_client::types::DiskAttachmentState as PropolisDiskState; use std::net::{Ipv6Addr, SocketAddr}; use std::sync::Arc; use std::time::Duration; diff --git a/sled-agent/src/sim/http_entrypoints_pantry.rs b/sled-agent/src/sim/http_entrypoints_pantry.rs index 46686a74e22..64b26a83a4f 100644 --- a/sled-agent/src/sim/http_entrypoints_pantry.rs +++ b/sled-agent/src/sim/http_entrypoints_pantry.rs @@ -4,11 +4,11 @@ //! HTTP entrypoint functions for simulating the crucible pantry API. -use crucible_client_types::VolumeConstructionRequest; use dropshot::{ endpoint, ApiDescription, HttpError, HttpResponseDeleted, HttpResponseOk, HttpResponseUpdatedNoContent, Path as TypedPath, RequestContext, TypedBody, }; +use propolis_client::types::VolumeConstructionRequest; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use std::sync::Arc; diff --git a/sled-agent/src/sim/instance.rs b/sled-agent/src/sim/instance.rs index 397a1980a58..15ff83c9699 100644 --- a/sled-agent/src/sim/instance.rs +++ b/sled-agent/src/sim/instance.rs @@ -19,9 +19,10 @@ use omicron_common::api::external::ResourceType; use omicron_common::api::internal::nexus::{ InstanceRuntimeState, SledInstanceState, }; -use propolis_client::api::InstanceMigrateStatusResponse as PropolisMigrateStatus; -use propolis_client::api::InstanceState as PropolisInstanceState; -use propolis_client::api::InstanceStateMonitorResponse; +use propolis_client::types::{ + InstanceMigrateStatusResponse as PropolisMigrateStatus, + InstanceState as PropolisInstanceState, InstanceStateMonitorResponse, +}; use std::collections::VecDeque; use std::sync::Arc; use std::sync::Mutex; @@ -131,11 +132,11 @@ impl SimInstanceInner { }); self.queue_migration_status(PropolisMigrateStatus { migration_id, - state: propolis_client::api::MigrationState::Sync, + state: propolis_client::types::MigrationState::Sync, }); self.queue_migration_status(PropolisMigrateStatus { migration_id, - state: propolis_client::api::MigrationState::Finish, + state: propolis_client::types::MigrationState::Finish, }); self.queue_propolis_state(PropolisInstanceState::Running); } diff --git a/sled-agent/src/sim/sled_agent.rs b/sled-agent/src/sim/sled_agent.rs index e4dac2f4b98..c06ae96f2e0 100644 --- a/sled-agent/src/sim/sled_agent.rs +++ b/sled-agent/src/sim/sled_agent.rs @@ -35,15 +35,16 @@ use uuid::Uuid; use std::collections::HashMap; use std::str::FromStr; -use crucible_client_types::VolumeConstructionRequest; use dropshot::HttpServer; use illumos_utils::opte::params::{ DeleteVirtualNetworkInterfaceHost, SetVirtualNetworkInterfaceHost, }; use nexus_client::types::PhysicalDiskKind; use omicron_common::address::PROPOLIS_PORT; -use propolis_client::Client as PropolisClient; -use propolis_server::mock_server::Context as PropolisContext; +use propolis_client::{ + types::VolumeConstructionRequest, Client as PropolisClient, +}; +use propolis_mock_server::Context as PropolisContext; /// Simulates management of the control plane on a sled /// @@ -70,13 +71,14 @@ pub struct SledAgent { } fn extract_targets_from_volume_construction_request( - vec: &mut Vec, vcr: &VolumeConstructionRequest, -) { +) -> Result, std::net::AddrParseError> { // A snapshot is simply a flush with an extra parameter, and flushes are // only sent to sub volumes, not the read only parent. Flushes are only // processed by regions, so extract each region that would be affected by a // flush. + + let mut res = vec![]; match vcr { VolumeConstructionRequest::Volume { id: _, @@ -85,9 +87,9 @@ fn extract_targets_from_volume_construction_request( read_only_parent: _, } => { for sub_volume in sub_volumes.iter() { - extract_targets_from_volume_construction_request( - vec, sub_volume, - ); + res.extend(extract_targets_from_volume_construction_request( + sub_volume, + )?); } } @@ -103,7 +105,7 @@ fn extract_targets_from_volume_construction_request( gen: _, } => { for target in &opts.target { - vec.push(*target); + res.push(SocketAddr::from_str(target)?); } } @@ -111,6 +113,7 @@ fn extract_targets_from_volume_construction_request( // noop } } + Ok(res) } impl SledAgent { @@ -171,23 +174,19 @@ impl SledAgent { volume_construction_request: &VolumeConstructionRequest, ) -> Result<(), Error> { let disk_id = match volume_construction_request { - VolumeConstructionRequest::Volume { - id, - block_size: _, - sub_volumes: _, - read_only_parent: _, - } => id, + VolumeConstructionRequest::Volume { id, .. } => id, _ => { panic!("root of volume construction request not a volume!"); } }; - let mut targets = Vec::new(); - extract_targets_from_volume_construction_request( - &mut targets, + let targets = extract_targets_from_volume_construction_request( &volume_construction_request, - ); + ) + .map_err(|e| { + Error::invalid_request(&format!("bad socketaddr: {e:?}")) + })?; let mut region_ids = Vec::new(); @@ -640,11 +639,10 @@ impl SledAgent { ..Default::default() }; let propolis_log = log.new(o!("component" => "propolis-server-mock")); - let private = - Arc::new(PropolisContext::new(Default::default(), propolis_log)); + let private = Arc::new(PropolisContext::new(propolis_log)); info!(log, "Starting mock propolis-server..."); let dropshot_log = log.new(o!("component" => "dropshot")); - let mock_api = propolis_server::mock_server::api(); + let mock_api = propolis_mock_server::api(); let srv = dropshot::HttpServerStarter::new( &dropshot_config, diff --git a/sled-agent/src/sim/storage.rs b/sled-agent/src/sim/storage.rs index 89b1f59c7af..2528a258d71 100644 --- a/sled-agent/src/sim/storage.rs +++ b/sled-agent/src/sim/storage.rs @@ -16,13 +16,13 @@ use chrono::prelude::*; use crucible_agent_client::types::{ CreateRegion, Region, RegionId, RunningSnapshot, Snapshot, State, }; -use crucible_client_types::VolumeConstructionRequest; use dropshot::HandlerTaskMode; use dropshot::HttpError; use futures::lock::Mutex; use nexus_client::types::{ ByteCount, PhysicalDiskKind, PhysicalDiskPutRequest, ZpoolPutRequest, }; +use propolis_client::types::VolumeConstructionRequest; use slog::Logger; use std::collections::HashMap; use std::collections::HashSet; diff --git a/tools/update_crucible.sh b/tools/update_crucible.sh index af834091ca2..020a33927ec 100755 --- a/tools/update_crucible.sh +++ b/tools/update_crucible.sh @@ -21,7 +21,6 @@ PACKAGES=( CRATES=( "crucible-agent-client" - "crucible-client-types" "crucible-pantry-client" "crucible-smf" ) diff --git a/workspace-hack/Cargo.toml b/workspace-hack/Cargo.toml index 1de7f68f2ff..2af9190a6aa 100644 --- a/workspace-hack/Cargo.toml +++ b/workspace-hack/Cargo.toml @@ -19,7 +19,6 @@ bit-set = { version = "0.5.3" } bit-vec = { version = "0.6.3" } bitflags-dff4ba8e3ae991db = { package = "bitflags", version = "1.3.2" } bitflags-f595c2ba2a3f28df = { package = "bitflags", version = "2.4.0", default-features = false, features = ["serde"] } -bitvec = { version = "1.0.1" } bstr-6f8ce4dd05d13bba = { package = "bstr", version = "0.2.17" } bstr-dff4ba8e3ae991db = { package = "bstr", version = "1.6.0" } byteorder = { version = "1.5.0" } @@ -48,8 +47,7 @@ futures-util = { version = "0.3.29", features = ["channel", "io", "sink"] } gateway-messages = { git = "https://github.com/oxidecomputer/management-gateway-service", rev = "2739c18e80697aa6bc235c935176d14b4d757ee9", features = ["std"] } generic-array = { version = "0.14.7", default-features = false, features = ["more_lengths", "zeroize"] } getrandom = { version = "0.2.10", default-features = false, features = ["js", "rdrand", "std"] } -hashbrown-582f2526e08bb6a0 = { package = "hashbrown", version = "0.14.2", features = ["raw"] } -hashbrown-594e8ee84c453af0 = { package = "hashbrown", version = "0.13.2" } +hashbrown = { version = "0.13.2" } hex = { version = "0.4.3", features = ["serde"] } hyper = { version = "0.14.27", features = ["full"] } indexmap = { version = "2.1.0", features = ["serde"] } @@ -66,21 +64,21 @@ num-bigint = { version = "0.4.4", features = ["rand"] } num-integer = { version = "0.1.45", features = ["i128"] } num-iter = { version = "0.1.43", default-features = false, features = ["i128"] } num-traits = { version = "0.2.16", features = ["i128", "libm"] } -openapiv3 = { version = "1.0.3", default-features = false, features = ["skip_serializing_defaults"] } +openapiv3 = { version = "2.0.0-rc.1", default-features = false, features = ["skip_serializing_defaults"] } petgraph = { version = "0.6.4", features = ["serde-1"] } postgres-types = { version = "0.2.6", default-features = false, features = ["with-chrono-0_4", "with-serde_json-1", "with-uuid-1"] } ppv-lite86 = { version = "0.2.17", default-features = false, features = ["simd", "std"] } predicates = { version = "3.0.4" } -rand = { version = "0.8.5", features = ["min_const_gen", "small_rng"] } -rand_chacha = { version = "0.3.1" } +rand = { version = "0.8.5" } +rand_chacha = { version = "0.3.1", default-features = false, features = ["std"] } regex = { version = "1.10.2" } regex-automata = { version = "0.4.3", default-features = false, features = ["dfa-onepass", "hybrid", "meta", "nfa-backtrack", "perf-inline", "perf-literal", "unicode"] } -regex-syntax-c38e5c1d305a1b54 = { package = "regex-syntax", version = "0.8.2" } -reqwest = { version = "0.11.20", features = ["blocking", "json", "rustls-tls", "stream"] } +regex-syntax = { version = "0.8.2" } +reqwest = { version = "0.11.22", features = ["blocking", "json", "rustls-tls", "stream"] } ring = { version = "0.16.20", features = ["std"] } schemars = { version = "0.8.13", features = ["bytes", "chrono", "uuid1"] } semver = { version = "1.0.20", features = ["serde"] } -serde = { version = "1.0.188", features = ["alloc", "derive", "rc"] } +serde = { version = "1.0.192", features = ["alloc", "derive", "rc"] } serde_json = { version = "1.0.108", features = ["raw_value"] } sha2 = { version = "0.10.8", features = ["oid"] } signature = { version = "2.1.0", default-features = false, features = ["digest", "rand_core", "std"] } @@ -113,12 +111,10 @@ bit-set = { version = "0.5.3" } bit-vec = { version = "0.6.3" } bitflags-dff4ba8e3ae991db = { package = "bitflags", version = "1.3.2" } bitflags-f595c2ba2a3f28df = { package = "bitflags", version = "2.4.0", default-features = false, features = ["serde"] } -bitvec = { version = "1.0.1" } bstr-6f8ce4dd05d13bba = { package = "bstr", version = "0.2.17" } bstr-dff4ba8e3ae991db = { package = "bstr", version = "1.6.0" } byteorder = { version = "1.5.0" } bytes = { version = "1.5.0", features = ["serde"] } -cc = { version = "1.0.83", default-features = false, features = ["parallel"] } chrono = { version = "0.4.31", features = ["alloc", "serde"] } cipher = { version = "0.4.4", default-features = false, features = ["block-padding", "zeroize"] } clap = { version = "4.4.3", features = ["derive", "env", "wrap_help"] } @@ -143,8 +139,7 @@ futures-util = { version = "0.3.29", features = ["channel", "io", "sink"] } gateway-messages = { git = "https://github.com/oxidecomputer/management-gateway-service", rev = "2739c18e80697aa6bc235c935176d14b4d757ee9", features = ["std"] } generic-array = { version = "0.14.7", default-features = false, features = ["more_lengths", "zeroize"] } getrandom = { version = "0.2.10", default-features = false, features = ["js", "rdrand", "std"] } -hashbrown-582f2526e08bb6a0 = { package = "hashbrown", version = "0.14.2", features = ["raw"] } -hashbrown-594e8ee84c453af0 = { package = "hashbrown", version = "0.13.2" } +hashbrown = { version = "0.13.2" } hex = { version = "0.4.3", features = ["serde"] } hyper = { version = "0.14.27", features = ["full"] } indexmap = { version = "2.1.0", features = ["serde"] } @@ -161,22 +156,21 @@ num-bigint = { version = "0.4.4", features = ["rand"] } num-integer = { version = "0.1.45", features = ["i128"] } num-iter = { version = "0.1.43", default-features = false, features = ["i128"] } num-traits = { version = "0.2.16", features = ["i128", "libm"] } -openapiv3 = { version = "1.0.3", default-features = false, features = ["skip_serializing_defaults"] } +openapiv3 = { version = "2.0.0-rc.1", default-features = false, features = ["skip_serializing_defaults"] } petgraph = { version = "0.6.4", features = ["serde-1"] } postgres-types = { version = "0.2.6", default-features = false, features = ["with-chrono-0_4", "with-serde_json-1", "with-uuid-1"] } ppv-lite86 = { version = "0.2.17", default-features = false, features = ["simd", "std"] } predicates = { version = "3.0.4" } -rand = { version = "0.8.5", features = ["min_const_gen", "small_rng"] } -rand_chacha = { version = "0.3.1" } +rand = { version = "0.8.5" } +rand_chacha = { version = "0.3.1", default-features = false, features = ["std"] } regex = { version = "1.10.2" } regex-automata = { version = "0.4.3", default-features = false, features = ["dfa-onepass", "hybrid", "meta", "nfa-backtrack", "perf-inline", "perf-literal", "unicode"] } -regex-syntax-3b31131e45eafb45 = { package = "regex-syntax", version = "0.6.29" } -regex-syntax-c38e5c1d305a1b54 = { package = "regex-syntax", version = "0.8.2" } -reqwest = { version = "0.11.20", features = ["blocking", "json", "rustls-tls", "stream"] } +regex-syntax = { version = "0.8.2" } +reqwest = { version = "0.11.22", features = ["blocking", "json", "rustls-tls", "stream"] } ring = { version = "0.16.20", features = ["std"] } schemars = { version = "0.8.13", features = ["bytes", "chrono", "uuid1"] } semver = { version = "1.0.20", features = ["serde"] } -serde = { version = "1.0.188", features = ["alloc", "derive", "rc"] } +serde = { version = "1.0.192", features = ["alloc", "derive", "rc"] } serde_json = { version = "1.0.108", features = ["raw_value"] } sha2 = { version = "0.10.8", features = ["oid"] } signature = { version = "2.1.0", default-features = false, features = ["digest", "rand_core", "std"] } @@ -198,7 +192,6 @@ tracing = { version = "0.1.37", features = ["log"] } trust-dns-proto = { version = "0.22.0" } unicode-bidi = { version = "0.3.13" } unicode-normalization = { version = "0.1.22" } -unicode-xid = { version = "0.2.4" } usdt = { version = "0.3.5" } uuid = { version = "1.5.0", features = ["serde", "v4"] } yasna = { version = "0.5.2", features = ["bit-vec", "num-bigint", "std", "time"] }