Skip to content

Commit a34381e

Browse files
merge main into multicast-e2e
2 parents b555b53 + fad6bbc commit a34381e

528 files changed

Lines changed: 33260 additions & 18090 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Cargo.lock

Lines changed: 142 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ members = [
7575
"internal-dns/types/versions",
7676
"ipcc",
7777
"key-manager",
78+
"key-manager/types",
7879
"live-tests",
7980
"live-tests/macros",
8081
"nexus",
@@ -110,6 +111,7 @@ members = [
110111
"nexus/test-utils-macros",
111112
"nexus/test-utils",
112113
"nexus/types",
114+
"nexus/types/versions",
113115
"ntp-admin",
114116
"ntp-admin/api",
115117
"ntp-admin/types",
@@ -250,6 +252,7 @@ default-members = [
250252
"internal-dns/types/versions",
251253
"ipcc",
252254
"key-manager",
255+
"key-manager/types",
253256
"live-tests",
254257
"live-tests/macros",
255258
"nexus",
@@ -285,6 +288,7 @@ default-members = [
285288
"nexus/test-utils-macros",
286289
"nexus/test-utils",
287290
"nexus/types",
291+
"nexus/types/versions",
288292
"ntp-admin",
289293
"ntp-admin/api",
290294
"ntp-admin/types",
@@ -560,6 +564,7 @@ ipnetwork = { version = "0.21", features = ["schemars", "serde"] }
560564
ispf = { git = "https://github.com/oxidecomputer/ispf" }
561565
jiff = "0.2.15"
562566
key-manager = { path = "key-manager" }
567+
key-manager-types = { path = "key-manager/types" }
563568
kstat-rs = "0.2.4"
564569
libc = "0.2.174"
565570
libipcc = { git = "https://github.com/oxidecomputer/ipcc-rs", rev = "524eb8f125003dff50b9703900c6b323f00f9e1b" }
@@ -610,6 +615,7 @@ nexus-test-interface = { path = "nexus/test-interface" }
610615
nexus-test-utils-macros = { path = "nexus/test-utils-macros" }
611616
nexus-test-utils = { path = "nexus/test-utils" }
612617
nexus-types = { path = "nexus/types" }
618+
nexus-types-versions = { path = "nexus/types/versions" }
613619
nix = { version = "0.30", features = ["fs", "net"] }
614620
nom = "7.1.3"
615621
nonempty = "0.12.0"
@@ -687,10 +693,10 @@ progenitor-client = "0.10.0"
687693
# NOTE: if you change the pinned revision of the `bhyve_api` and propolis
688694
# dependencies, you must also update the references in package-manifest.toml to
689695
# match the new revision.
690-
bhyve_api = { git = "https://github.com/oxidecomputer/propolis", rev = "bc121ef55741656ce118b02ceeda949b9261f49f" }
691-
propolis_api_types = { git = "https://github.com/oxidecomputer/propolis", rev = "bc121ef55741656ce118b02ceeda949b9261f49f" }
692-
propolis-client = { git = "https://github.com/oxidecomputer/propolis", rev = "bc121ef55741656ce118b02ceeda949b9261f49f" }
693-
propolis-mock-server = { git = "https://github.com/oxidecomputer/propolis", rev = "bc121ef55741656ce118b02ceeda949b9261f49f" }
696+
bhyve_api = { git = "https://github.com/oxidecomputer/propolis", rev = "36f20be9bb4c3b362029237f5feb6377c982395f" }
697+
propolis_api_types = { git = "https://github.com/oxidecomputer/propolis", rev = "36f20be9bb4c3b362029237f5feb6377c982395f" }
698+
propolis-client = { git = "https://github.com/oxidecomputer/propolis", rev = "36f20be9bb4c3b362029237f5feb6377c982395f" }
699+
propolis-mock-server = { git = "https://github.com/oxidecomputer/propolis", rev = "36f20be9bb4c3b362029237f5feb6377c982395f" }
694700
# NOTE: see above!
695701
proptest = "1.7.0"
696702
qorb = "0.4.1"
@@ -774,10 +780,10 @@ slog-term = "2.9.1"
774780
smf = "0.2"
775781
socket2 = { version = "0.5", features = ["all"] }
776782
sp-sim = { path = "sp-sim" }
777-
sprockets-tls = { git = "https://github.com/oxidecomputer/sprockets.git", rev = "8ba93f6e785e11175059b3303bfd7e8b52ad12f8" }
778-
sprockets-tls-test-utils = { git = "https://github.com/oxidecomputer/sprockets.git", rev = "8ba93f6e785e11175059b3303bfd7e8b52ad12f8" }
783+
sprockets-tls = { git = "https://github.com/oxidecomputer/sprockets.git", rev = "d2b68e4f47e3c22bce0455aeb4cfb2e61ad229ba" }
784+
sprockets-tls-test-utils = { git = "https://github.com/oxidecomputer/sprockets.git", rev = "d2b68e4f47e3c22bce0455aeb4cfb2e61ad229ba" }
779785
sqlformat = "0.3.5"
780-
sqlparser = { version = "0.45.0", features = [ "visitor" ] }
786+
sqlparser = { version = "0.61.0", features = [ "visitor" ] }
781787
static_assertions = "1.1.0"
782788
# Please do not change the Steno version to a Git dependency. It makes it
783789
# harder than expected to make breaking changes (even if you specify a specific

clients/nexus-client/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,8 @@ impl TryFrom<types::ProducerEndpoint>
266266
}
267267
}
268268

269-
impl From<nexus_types::external_api::shared::Baseboard> for types::Baseboard {
270-
fn from(value: nexus_types::external_api::shared::Baseboard) -> Self {
269+
impl From<nexus_types::external_api::hardware::Baseboard> for types::Baseboard {
270+
fn from(value: nexus_types::external_api::hardware::Baseboard) -> Self {
271271
types::Baseboard {
272272
part: value.part,
273273
revision: value.revision,

clients/sled-agent-client/src/lib.rs

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -201,70 +201,6 @@ impl From<types::MigrationState>
201201
}
202202
}
203203

204-
impl From<omicron_common::api::internal::nexus::DiskRuntimeState>
205-
for types::DiskRuntimeState
206-
{
207-
fn from(s: omicron_common::api::internal::nexus::DiskRuntimeState) -> Self {
208-
Self {
209-
disk_state: s.disk_state.into(),
210-
r#gen: s.generation,
211-
time_updated: s.time_updated,
212-
}
213-
}
214-
}
215-
216-
impl From<omicron_common::api::external::DiskState> for types::DiskState {
217-
fn from(s: omicron_common::api::external::DiskState) -> Self {
218-
use omicron_common::api::external::DiskState::*;
219-
match s {
220-
Creating => Self::Creating,
221-
Detached => Self::Detached,
222-
ImportReady => Self::ImportReady,
223-
ImportingFromUrl => Self::ImportingFromUrl,
224-
ImportingFromBulkWrites => Self::ImportingFromBulkWrites,
225-
Finalizing => Self::Finalizing,
226-
Maintenance => Self::Maintenance,
227-
Attaching(u) => Self::Attaching(u),
228-
Attached(u) => Self::Attached(u),
229-
Detaching(u) => Self::Detaching(u),
230-
Destroyed => Self::Destroyed,
231-
Faulted => Self::Faulted,
232-
}
233-
}
234-
}
235-
236-
impl From<types::DiskRuntimeState>
237-
for omicron_common::api::internal::nexus::DiskRuntimeState
238-
{
239-
fn from(s: types::DiskRuntimeState) -> Self {
240-
Self {
241-
disk_state: s.disk_state.into(),
242-
generation: s.r#gen,
243-
time_updated: s.time_updated,
244-
}
245-
}
246-
}
247-
248-
impl From<types::DiskState> for omicron_common::api::external::DiskState {
249-
fn from(s: types::DiskState) -> Self {
250-
use types::DiskState::*;
251-
match s {
252-
Creating => Self::Creating,
253-
Detached => Self::Detached,
254-
ImportReady => Self::ImportReady,
255-
ImportingFromUrl => Self::ImportingFromUrl,
256-
ImportingFromBulkWrites => Self::ImportingFromBulkWrites,
257-
Finalizing => Self::Finalizing,
258-
Maintenance => Self::Maintenance,
259-
Attaching(u) => Self::Attaching(u),
260-
Attached(u) => Self::Attached(u),
261-
Detaching(u) => Self::Detaching(u),
262-
Destroyed => Self::Destroyed,
263-
Faulted => Self::Faulted,
264-
}
265-
}
266-
}
267-
268204
impl From<omicron_common::api::external::L4PortRange> for types::L4PortRange {
269205
fn from(s: omicron_common::api::external::L4PortRange) -> Self {
270206
Self::try_from(s.to_string()).unwrap_or_else(|e| panic!("{}: {}", s, e))

cockroach-admin/src/cockroach_cli.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -586,6 +586,9 @@ mod tests {
586586
.arg("[::1]:0")
587587
.arg("--http-addr")
588588
.arg("[::1]:0")
589+
// See https://github.com/oxidecomputer/omicron-9874-findings for
590+
// why we set the max SQL memory to be 256MiB.
591+
.arg("--max-sql-memory=256MiB")
589592
.arg("--join")
590593
.arg("[::1]:0");
591594

common/src/api/internal/shared/mod.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ pub use rack_init::BfdPeerConfig;
5454
pub use rack_init::BgpConfig;
5555
pub use rack_init::BgpPeerConfig;
5656
pub use rack_init::ExternalPortDiscovery;
57-
pub use rack_init::HostPortConfig;
5857
pub use rack_init::LldpAdminStatus;
5958
pub use rack_init::LldpPortConfig;
6059
pub use rack_init::ParseLldpAdminStatusError;
@@ -65,7 +64,6 @@ pub use rack_init::PortSpeed;
6564
pub use rack_init::RackNetworkConfig;
6665
pub use rack_init::RouteConfig;
6766
pub use rack_init::SwitchLocation;
68-
pub use rack_init::SwitchPorts;
6967
pub use rack_init::TxEqConfig;
7068
pub use rack_init::UplinkAddressConfig;
7169
pub use rack_init::UplinkAddressConfigError;

common/src/api/internal/shared/rack_init/impls.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,11 @@
33
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
44

55
use super::BgpPeerConfig;
6-
use super::HostPortConfig;
76
use super::LldpAdminStatus;
87
use super::MaxPathConfig;
98
use super::MaxPathConfigError;
109
use super::ParseLldpAdminStatusError;
1110
use super::ParseSwitchLocationError;
12-
use super::PortConfig;
1311
use super::PortFec;
1412
use super::PortSpeed;
1513
use super::RouterLifetimeConfig;
@@ -196,17 +194,6 @@ impl FromStr for LldpAdminStatus {
196194
}
197195
}
198196

199-
impl From<PortConfig> for HostPortConfig {
200-
fn from(x: PortConfig) -> Self {
201-
Self {
202-
port: x.port,
203-
addrs: x.addresses,
204-
lldp: x.lldp.clone(),
205-
tx_eq: x.tx_eq,
206-
}
207-
}
208-
}
209-
210197
impl SwitchLocation {
211198
/// Return the location of the other switch, not ourself.
212199
pub const fn other(&self) -> Self {

common/src/api/internal/shared/rack_init/mod.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,11 @@ pub use v1::TxEqConfig;
2525

2626
pub use v2::BgpConfig;
2727
pub use v2::BgpPeerConfig;
28-
pub use v2::HostPortConfig;
2928
pub use v2::MaxPathConfig;
3029
pub use v2::MaxPathConfigError;
3130
pub use v2::PortConfig;
3231
pub use v2::RackNetworkConfig;
3332
pub use v2::RouterLifetimeConfig;
3433
pub use v2::RouterLifetimeConfigError;
35-
pub use v2::SwitchPorts;
3634
pub use v2::UplinkAddressConfig;
3735
pub use v2::UplinkAddressConfigError;

common/src/api/internal/shared/rack_init/v1.rs

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -225,25 +225,6 @@ pub struct PortConfig {
225225
pub tx_eq: Option<TxEqConfig>,
226226
}
227227

228-
/// A set of switch uplinks.
229-
#[derive(Clone, Debug, Serialize, Deserialize, JsonSchema)]
230-
pub struct SwitchPorts {
231-
pub uplinks: Vec<HostPortConfig>,
232-
}
233-
234-
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, JsonSchema)]
235-
pub struct HostPortConfig {
236-
/// Switchport to use for external connectivity
237-
pub port: String,
238-
239-
/// IP Address and prefix (e.g., `192.168.0.1/16`) to apply to switchport
240-
/// (must be in infra_ip pool). May also include an optional VLAN ID.
241-
pub addrs: Vec<UplinkAddressConfig>,
242-
243-
pub lldp: Option<LldpPortConfig>,
244-
pub tx_eq: Option<TxEqConfig>,
245-
}
246-
247228
/// Identifies switch physical location
248229
#[derive(
249230
Clone,

common/src/api/internal/shared/rack_init/v2.rs

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -337,40 +337,3 @@ pub enum RouterLifetimeConfigError {
337337
)]
338338
ParseIntError(#[from] std::num::ParseIntError),
339339
}
340-
341-
/// A set of switch uplinks.
342-
#[derive(Clone, Debug, Serialize, Deserialize, JsonSchema)]
343-
pub struct SwitchPorts {
344-
pub uplinks: Vec<HostPortConfig>,
345-
}
346-
347-
impl From<super::v1::SwitchPorts> for SwitchPorts {
348-
fn from(value: super::v1::SwitchPorts) -> Self {
349-
Self { uplinks: value.uplinks.into_iter().map(From::from).collect() }
350-
}
351-
}
352-
353-
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, JsonSchema)]
354-
pub struct HostPortConfig {
355-
/// Switchport to use for external connectivity
356-
pub port: String,
357-
358-
/// IP Address and prefix (e.g., `192.168.0.1/16`) to apply to switchport
359-
/// (must be in infra_ip pool). May also include an optional VLAN ID.
360-
pub addrs: Vec<UplinkAddressConfig>,
361-
362-
pub lldp: Option<LldpPortConfig>,
363-
364-
pub tx_eq: Option<TxEqConfig>,
365-
}
366-
367-
impl From<super::v1::HostPortConfig> for HostPortConfig {
368-
fn from(value: super::v1::HostPortConfig) -> Self {
369-
Self {
370-
port: value.port,
371-
addrs: value.addrs.into_iter().map(From::from).collect(),
372-
lldp: value.lldp,
373-
tx_eq: value.tx_eq,
374-
}
375-
}
376-
}

0 commit comments

Comments
 (0)