oxidecomputer / oxidecomputer/helios

sled postboot service should not be included by default

Open
#227 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
481
Forks
21
Avg merge
1d 17h
Merged PRs (30d)
2

Description

I was rebuilding a Gimlet image with the following command:

ptime -m ./helios-build image \
    -p helios-dev=https://pkg.oxide.computer/helios/2/dev/ \
    -P "$proto" \
    -B \
    -F optever=0.36 \
    -F ntp \
    -N "$name" \
    -o "$OSDIR/$image"

The image didn't end up working the way I expected, because it included a svc:/site/postboot service that conflicted with the definition of the one I layer in via the external proto area facility (-P).

It occurs to me that this service should not be included unless explicitly requested for bench Gimlet images, as it does things we do not want production sleds to do; e.g., importing a ZFS pool called "data" if one exists.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the ./helios-build image entry point and trace how the default svc:/site/postboot service is selected, including the external proto area facility passed with -P. Compare the generated image with and without that service. Done means postboot is absent by default and included only when explicitly requested, without importing the production data pool.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.