Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update to Rust 1.78.0 / bump OPTE to 0.29.250 #5722

Merged
merged 9 commits into from
May 23, 2024
Merged

update to Rust 1.78.0 / bump OPTE to 0.29.250 #5722

merged 9 commits into from
May 23, 2024

Conversation

iliana
Copy link
Contributor

@iliana iliana commented May 9, 2024

The most severe changes in this PR are dead code removal; I am not exactly sure why, but it seems like dead code detection became a little more robust between 1.77 and 1.78.

The 1.78.0 toolchain includes two new Clippy lints that are fixed in this PR:

@iliana
Copy link
Contributor Author

iliana commented May 9, 2024

Interesting:

thread 'main' panicked at /home/build/.cargo/git/checkouts/opte-c3062ea19cee8fd4/7ee353a/lib/opte-ioctl/src/lib.rs:294:9:
assertion failed: rioctl.resp_len_actual != 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

This appears to go away when I change the rust-toolchain.toml back.

iliana added a commit to oxidecomputer/opte that referenced this pull request May 9, 2024
@iliana
Copy link
Contributor Author

iliana commented May 9, 2024

OPTE fix at oxidecomputer/opte#527

@iliana iliana changed the title update to Rust 1.78.0 update to Rust 1.78.0 / bump OPTE to 0.29.250 May 15, 2024
@iliana iliana added this to the 9 milestone May 15, 2024
@iliana iliana requested review from luqmana and jgallagher May 15, 2024 15:57
Copy link
Contributor

@jgallagher jgallagher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks - all the code changes LGTM. I'm a little nervous about the helios/deploy failure, but I don't see any smoking guns there - just NTP failing to sync, which I think is a known flake (#5598).

@iliana
Copy link
Contributor Author

iliana commented May 15, 2024

It has now happened twice in a row, which is kind of concerning (I hit retry once already).

@FelixMcFelix
Copy link
Contributor

FelixMcFelix commented May 15, 2024

I had a quick peek at the logs there:

2024-05-15T16:15:46.446Z	+ pfexec /opt/oxide/opte/bin/opteadm dump-v2b
2024-05-15T16:15:46.446Z	Virtual to Boundary Mappings
2024-05-15T16:15:46.446Z	======================================================================
2024-05-15T16:15:46.446Z	
2024-05-15T16:15:46.446Z	IPv4 mappings
2024-05-15T16:15:46.446Z	----------------------------------------------------------------------
2024-05-15T16:15:46.446Z	TUNNELED PREFIX  BOUNDARY IP  VNI
2024-05-15T16:15:46.446Z	
2024-05-15T16:15:46.446Z	IPv6 mappings
2024-05-15T16:15:46.447Z	----------------------------------------------------------------------
2024-05-15T16:15:46.447Z	TUNNELED PREFIX  BOUNDARY IP  VNI
2024-05-15T16:15:46.447Z

I don't think this is a flake. Part of an OPTE API bump now is that you need to update maghemite and its binaries to a compatible version, as mgd also inserts V2B mappings using the opte-ioctl crate. The most obvious consequence of this mismatch is that if the API version changes, you lose external connectivity since OPTE ports are never told of upstream routes. Levon's RPW work handles the upgrade here, among other spots.

@iliana
Copy link
Contributor Author

iliana commented May 15, 2024

Aha. I will hold off on this until that can get merged then.

@iliana iliana marked this pull request as ready for review May 23, 2024 03:10
@iliana iliana merged commit c2f3515 into main May 23, 2024
21 checks passed
@iliana iliana deleted the iliana/rust-1.78 branch May 23, 2024 04:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants