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 thing-flinger to track changes to omicron #1001

Merged
merged 12 commits into from
May 3, 2022

Conversation

jgallagher
Copy link
Contributor

@jgallagher jgallagher commented May 2, 2022

This PR is the output of attempting to follow the instructions in deploy/README.adoc to use thing-flinger to set up a 2-sled omicron deployment on helios VMs on my Linux workstation. The changes are limited to deploy/ with two exceptions:

  1. Adding context to errors in omicron-package (in the spirit of [sled agent] Overhaul error handling to be more informative #967)
  2. Adding two command-line switches to install_prerequisites.sh to make it more friendly in a scripted context (-y to skip confirm prompts and -p to skip the check of $PATH at the end)

Even with these changes, deploying multisled via thing-flinger isn't completely working, for at least two reasons:

  1. If using VMs, one must manually run create_virtual_hardware.sh on each of the deployment target VMs. This might be worth adding to thing-flinger if testing on multiple VMs becomes more common?
  2. There are still some sled-specific configuration settings under smf/ that thing-flinger broadcasts to all sled-agents. The most immediate one is that RSS is responsible for distributing IP addresses assigned to service-specific zones, but the configuration of the service itself (including what IP address to bind to) is separate.

An example of the second point for nexus:

https://github.com/oxidecomputer/omicron/blob/main/smf/sled-agent/config-rss.toml#L43-L48 lists addresses RSS hands out for a nexus instance

https://github.com/oxidecomputer/omicron/blob/main/smf/nexus/config.toml#L23-L29 are the same addresses repeated in the nexus config

If one adds a second nexus service to RSS's config with a different pair of addresses, there's not currently a way to (automatically) distribute a tweaked nexus config.toml containing those different addresses. @smklein and I chatted briefly about this, and I think it's covered under #822 - if RSS is responsible for handing out addresses, they ultimately shouldn't be hardcoded into nexus's config at all.

@jgallagher jgallagher requested review from andrewjstone and smklein May 2, 2022 19:35
Copy link
Contributor

@andrewjstone andrewjstone left a comment

Choose a reason for hiding this comment

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

Looks great. Thanks for doing this @jgallagher!

deploy/README.adoc Outdated Show resolved Hide resolved
deploy/README.adoc Outdated Show resolved Hide resolved
deploy/README.adoc Outdated Show resolved Hide resolved
deploy/src/bin/thing-flinger.rs Outdated Show resolved Hide resolved
@jgallagher jgallagher enabled auto-merge (squash) May 3, 2022 14:21
@jgallagher jgallagher merged commit a70e6f9 into main May 3, 2022
@jgallagher jgallagher deleted the deploy-thing-flinger-updates branch May 3, 2022 16:48
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.

2 participants