Skip to content

Commit ed4d662

Browse files
incorporate maghemite #533 (#9449)
- Connects IPv6 routes from the switch port settings API to maghemite through the sync switch configuration RPW - Adds tests to verify that v6 routes make it all the way to mgd - Fixes some hardcoded ports for mgs and mgd to allow e2e maghemite testing - Fixes `tools/update_maghemite.sh` as maghemite no longer ships openapi definitions as buildomat artifacts. --------- Signed-off-by: Trey Aspelund <trey@oxidecomputer.com> Co-authored-by: Ryan Goodfellow <ryan.goodfellow@oxide.computer>
1 parent 9c3799d commit ed4d662

File tree

4 files changed

+29262
-22
lines changed

4 files changed

+29262
-22
lines changed

nexus/external-api/src/lib.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ use omicron_common::api::external::{
3434
use openapiv3::OpenAPI;
3535

3636
/// Copies of data that changed prior to adding dual-stack NICs.
37-
mod v2025121100;
37+
mod v2025121700;
3838

3939
/// Copies of data types that changed between versions
4040
mod v2025112000;
@@ -1616,7 +1616,7 @@ pub trait NexusExternalApi {
16161616
query_params: Query<params::ProjectSelector>,
16171617
new_instance: TypedBody<v2025112000::InstanceCreate>,
16181618
) -> Result<HttpResponseCreated<Instance>, HttpError> {
1619-
Self::v2025121100_instance_create(
1619+
Self::v2025121700_instance_create(
16201620
rqctx,
16211621
query_params,
16221622
new_instance.map(Into::into),
@@ -1632,10 +1632,10 @@ pub trait NexusExternalApi {
16321632
tags = ["instances"],
16331633
versions = VERSION_LOCAL_STORAGE..VERSION_DUAL_STACK_NICS,
16341634
}]
1635-
async fn v2025121100_instance_create(
1635+
async fn v2025121700_instance_create(
16361636
rqctx: RequestContext<Self::Context>,
16371637
query_params: Query<params::ProjectSelector>,
1638-
new_instance: TypedBody<v2025121100::InstanceCreate>,
1638+
new_instance: TypedBody<v2025121700::InstanceCreate>,
16391639
) -> Result<HttpResponseCreated<Instance>, HttpError> {
16401640
Self::instance_create(
16411641
rqctx,
@@ -2801,18 +2801,18 @@ pub trait NexusExternalApi {
28012801
tags = ["instances"],
28022802
versions = ..VERSION_DUAL_STACK_NICS,
28032803
}]
2804-
async fn v2025121100_instance_network_interface_list(
2804+
async fn v2025121700_instance_network_interface_list(
28052805
rqctx: RequestContext<Self::Context>,
28062806
query_params: Query<PaginatedByNameOrId<params::InstanceSelector>>,
28072807
) -> Result<
2808-
HttpResponseOk<ResultsPage<v2025121100::InstanceNetworkInterface>>,
2808+
HttpResponseOk<ResultsPage<v2025121700::InstanceNetworkInterface>>,
28092809
HttpError,
28102810
> {
28112811
let HttpResponseOk(ResultsPage { next_page, items }) =
28122812
Self::instance_network_interface_list(rqctx, query_params).await?;
28132813
items
28142814
.into_iter()
2815-
.map(v2025121100::InstanceNetworkInterface::try_from)
2815+
.map(v2025121700::InstanceNetworkInterface::try_from)
28162816
.collect::<Result<_, _>>()
28172817
.map(|items| HttpResponseOk(ResultsPage { next_page, items }))
28182818
.map_err(HttpError::from)
@@ -2839,14 +2839,14 @@ pub trait NexusExternalApi {
28392839
tags = ["instances"],
28402840
versions = ..VERSION_DUAL_STACK_NICS,
28412841
}]
2842-
async fn v2025121100_instance_network_interface_create(
2842+
async fn v2025121700_instance_network_interface_create(
28432843
rqctx: RequestContext<Self::Context>,
28442844
query_params: Query<params::InstanceSelector>,
28452845
interface_params: TypedBody<
2846-
v2025121100::InstanceNetworkInterfaceCreate,
2846+
v2025121700::InstanceNetworkInterfaceCreate,
28472847
>,
28482848
) -> Result<
2849-
HttpResponseCreated<v2025121100::InstanceNetworkInterface>,
2849+
HttpResponseCreated<v2025121700::InstanceNetworkInterface>,
28502850
HttpError,
28512851
> {
28522852
let interface_params = interface_params.try_map(TryInto::try_into)?;
@@ -2897,11 +2897,11 @@ pub trait NexusExternalApi {
28972897
tags = ["instances"],
28982898
versions = ..VERSION_DUAL_STACK_NICS,
28992899
}]
2900-
async fn v2025121100_instance_network_interface_view(
2900+
async fn v2025121700_instance_network_interface_view(
29012901
rqctx: RequestContext<Self::Context>,
29022902
path_params: Path<params::NetworkInterfacePath>,
29032903
query_params: Query<params::OptionalInstanceSelector>,
2904-
) -> Result<HttpResponseOk<v2025121100::InstanceNetworkInterface>, HttpError>
2904+
) -> Result<HttpResponseOk<v2025121700::InstanceNetworkInterface>, HttpError>
29052905
{
29062906
let HttpResponseOk(nic) = Self::instance_network_interface_view(
29072907
rqctx,
@@ -2934,12 +2934,12 @@ pub trait NexusExternalApi {
29342934
tags = ["instances"],
29352935
versions = ..VERSION_DUAL_STACK_NICS,
29362936
}]
2937-
async fn v2025121100_instance_network_interface_update(
2937+
async fn v2025121700_instance_network_interface_update(
29382938
rqctx: RequestContext<Self::Context>,
29392939
path_params: Path<params::NetworkInterfacePath>,
29402940
query_params: Query<params::OptionalInstanceSelector>,
2941-
updated_iface: TypedBody<v2025121100::InstanceNetworkInterfaceUpdate>,
2942-
) -> Result<HttpResponseOk<v2025121100::InstanceNetworkInterface>, HttpError>
2941+
updated_iface: TypedBody<v2025121700::InstanceNetworkInterfaceUpdate>,
2942+
) -> Result<HttpResponseOk<v2025121700::InstanceNetworkInterface>, HttpError>
29432943
{
29442944
let updated_iface = updated_iface.try_map(TryInto::try_into)?;
29452945
let HttpResponseOk(nic) = Self::instance_network_interface_update(

nexus/external-api/src/v2025112000.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
77
use std::net::IpAddr;
88

9-
use crate::v2025121100;
9+
use crate::v2025121700;
1010
use nexus_types::external_api::params;
1111
use omicron_common::api::external;
1212
use omicron_common::api::external::IdentityMetadataCreateParams;
@@ -230,7 +230,7 @@ impl Default for InstanceNetworkInterfaceAttachment {
230230
}
231231

232232
impl From<InstanceNetworkInterfaceAttachment>
233-
for v2025121100::InstanceNetworkInterfaceAttachment
233+
for v2025121700::InstanceNetworkInterfaceAttachment
234234
{
235235
fn from(value: InstanceNetworkInterfaceAttachment) -> Self {
236236
match value {
@@ -261,7 +261,7 @@ pub struct InstanceNetworkInterfaceCreate {
261261
}
262262

263263
impl From<InstanceNetworkInterfaceCreate>
264-
for v2025121100::InstanceNetworkInterfaceCreate
264+
for v2025121700::InstanceNetworkInterfaceCreate
265265
{
266266
fn from(value: InstanceNetworkInterfaceCreate) -> Self {
267267
Self {
@@ -390,9 +390,9 @@ pub struct InstanceCreate {
390390
pub cpu_platform: Option<external::InstanceCpuPlatform>,
391391
}
392392

393-
impl From<InstanceCreate> for v2025121100::InstanceCreate {
394-
fn from(old: InstanceCreate) -> v2025121100::InstanceCreate {
395-
v2025121100::InstanceCreate {
393+
impl From<InstanceCreate> for v2025121700::InstanceCreate {
394+
fn from(old: InstanceCreate) -> v2025121700::InstanceCreate {
395+
v2025121700::InstanceCreate {
396396
identity: old.identity,
397397
ncpus: old.ncpus,
398398
memory: old.memory,
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// License, v. 2.0. If a copy of the MPL was not distributed with this
33
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
44

5-
//! Nexus external types that changed from 2025120300 to 2025121100
5+
//! Nexus external types that changed from 2025120300 to 2025121700
66
77
use api_identity::ObjectIdentity;
88
use itertools::Either;

0 commit comments

Comments
 (0)