Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/buildomat/jobs/a4x2-prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#:
#: name = "a4x2-prepare"
#: variety = "basic"
#: target = "helios-2.0"
#: target = "helios-3.0"
#: rust_toolchain = true
#: output_rules = [
#: "=/out/cargo-bay-ce.tgz",
Expand Down
2 changes: 1 addition & 1 deletion .github/buildomat/jobs/build-and-test-helios.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#:
#: name = "build-and-test (helios)"
#: variety = "basic"
#: target = "helios-2.0-32c256gb"
#: target = "helios-3.0-32c256gb"
#: rust_toolchain = true
#: output_rules = [
#: "%/work/*",
Expand Down
2 changes: 1 addition & 1 deletion .github/buildomat/jobs/check-features.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#:
#: name = "check-features (helios)"
#: variety = "basic"
#: target = "helios-2.0"
#: target = "helios-3.0"
#: rust_toolchain = true
#: output_rules = [
#: "/out/*",
Expand Down
2 changes: 1 addition & 1 deletion .github/buildomat/jobs/clippy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#:
#: name = "clippy (helios)"
#: variety = "basic"
#: target = "helios-2.0"
#: target = "helios-3.0"
#: rust_toolchain = true
#: output_rules = []

Expand Down
2 changes: 1 addition & 1 deletion .github/buildomat/jobs/omicron-common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#:
#: name = "omicron-common (helios)"
#: variety = "basic"
#: target = "helios-2.0"
#: target = "helios-3.0"
#: rust_toolchain = true
#: output_rules = []

Expand Down
2 changes: 1 addition & 1 deletion .github/buildomat/jobs/package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#:
#: name = "helios / package"
#: variety = "basic"
#: target = "helios-2.0-16c64gb"
#: target = "helios-3.0-16c64gb"
#: rust_toolchain = true
#: output_rules = [
#: "=/work/package.tar.gz",
Expand Down
2 changes: 1 addition & 1 deletion .github/buildomat/jobs/tuf-repo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#:
#: name = "helios / build TUF repo"
#: variety = "basic"
#: target = "helios-2.0-16c128gb"
#: target = "helios-3.0-16c128gb"
#: rust_toolchain = true
#: output_rules = [
#: "=/work/manifest.toml",
Expand Down
20 changes: 18 additions & 2 deletions dev-tools/releng/src/helios.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const MANIFEST_PATH: &str = "incorporation.p5m";
const REPO_PATH: &str = "incorporation";
pub const ARCHIVE_PATH: &str = "incorporation.p5p";

pub const PUBLISHER: &str = "helios-dev";
pub const PUBLISHER: &str = "helios";

pub(crate) enum Action {
Generate { version: String },
Expand Down Expand Up @@ -119,9 +119,25 @@ async fn generate_incorporation_manifest(
fmri: String,
}

let stdout = Command::new("pkg")
.args([
"list",
"-H",
"-o",
"branch",
"-n",
"-g",
HELIOS_PKGREPO,
"release/name",
])
.ensure_stdout(&logger)
.await?;

let branch = stdout.trim();

let mut manifest = BufWriter::new(File::create(path).await?);
let preamble = format!(
r#"set name=pkg.fmri value=pkg://{PUBLISHER}/{INCORP_NAME}@{version},5.11
r#"set name=pkg.fmri value=pkg://{PUBLISHER}/{INCORP_NAME}@{version},5.11-{branch}
set name=pkg.summary value="Incorporation to constrain software delivered in Omicron Release V{version} images"
set name=info.classification value="org.opensolaris.category.2008:Meta Packages/Incorporations"
set name=variant.opensolaris.zone value=global value=nonglobal
Expand Down
6 changes: 3 additions & 3 deletions dev-tools/releng/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ const TUF_PACKAGES: [&PackageName; 12] = [
&PackageName::new_const("probe"),
];

const HELIOS_PKGREPO: &str = "https://pkg.oxide.computer/helios/2/dev/";
const HELIOS_PKGREPO: &str = "https://pkg.oxide.computer/helios/3/dev/";
const HELIOS_REPO: &str = "https://github.com/oxidecomputer/helios.git";

static WORKSPACE_DIR: LazyLock<Utf8PathBuf> = LazyLock::new(|| {
Expand Down Expand Up @@ -158,7 +158,7 @@ struct Args {
#[clap(long)]
extra_manifest: Option<Utf8PathBuf>,

/// Extra helios-dev origin to be passed along to helios-build
/// Extra helios origin to be passed along to helios-build
#[clap(long)]
extra_origin: Option<String>,

Expand Down Expand Up @@ -672,7 +672,7 @@ async fn main() -> Result<()> {
if !args.helios_local {
image_cmd = image_cmd
.arg("-p") // use an external package repository
.arg(format!("helios-dev={HELIOS_PKGREPO}"))
.arg(format!("helios={HELIOS_PKGREPO}"))
}

// helios-build experiment-image
Expand Down
11 changes: 8 additions & 3 deletions package-manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ source.type = "local"
source.rust.binary_names = ["nexus", "schema-updater"]
source.rust.release = true
source.paths = [
{ from = "/opt/ooce/pgsql-13/lib/amd64", to = "/opt/ooce/pgsql-13/lib/amd64" },
{ from = "/opt/ooce/pgsql-18/lib/amd64", to = "/opt/ooce/pgsql-18/lib/amd64" },
{ from = "smf/nexus/manifest.xml", to = "/var/svc/manifest/site/nexus/manifest.xml" },
{ from = "smf/nexus/{{rack-topology}}", to = "/var/svc/manifest/site/nexus" },
{ from = "out/console-assets", to = "/var/nexus/static" },
Expand All @@ -132,7 +132,8 @@ source.paths = [
output.type = "zone"
setup_hint = """
- Run `cargo xtask download console` to download the web console assets
- Run `pkg install library/postgresql-13` to download Postgres libraries
- Run `pkg install library/postgresql-18` to download Postgres libraries
- Run `pkg set-mediator -V 18 postgresql` to select the library version
"""
output.intermediate_only = true

Expand Down Expand Up @@ -540,10 +541,14 @@ source.type = "local"
source.paths = [
{ from = "smf/switch_zone_setup/manifest.xml", to = "/var/svc/manifest/site/switch_zone_setup/manifest.xml" },
{ from = "smf/switch_zone_setup/support_authorized_keys", to = "/opt/oxide/support/authorized_keys" },
{ from = "/opt/ooce/pgsql-13/lib/amd64", to = "/opt/ooce/pgsql-13/lib/amd64" },
{ from = "/opt/ooce/pgsql-18/lib/amd64", to = "/opt/ooce/pgsql-18/lib/amd64" },
]
output.type = "zone"
output.intermediate_only = true
setup_hint = """
- Run `pkg install library/postgresql-18` to download Postgres libraries
- Run `pkg set-mediator -V 18 postgresql` to select the library version
"""

[package.sp-sim]
service_name = "sp-sim"
Expand Down
27 changes: 17 additions & 10 deletions tools/install_builder_prerequisites.sh
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ HOST_OS=$(uname -s)
function install_packages {
if [[ "${HOST_OS}" == "Linux" ]]; then
# If Nix is in use, we don't need to install any packagess here,
# as they're provided by the Nix flake.
# as they're provided by the Nix flake.
if [[ "${OMICRON_USE_FLAKE-}" = 1 ]] && nix flake show &> /dev/null; then
echo "OMICRON_USE_FLAKE=1 in environment and nix detected in PATH, skipping package installation"
return
Expand Down Expand Up @@ -145,7 +145,7 @@ function install_packages {
fi
elif [[ "${HOST_OS}" == "SunOS" ]]; then
CLANGVER=15
PGVER=13
PGVER=18
packages=(
"pkg:/package/pkg"
"build-essential"
Expand Down Expand Up @@ -174,7 +174,8 @@ function install_packages {
# Explicitly manage the return code using "rc" to observe the result of this
# command without exiting the script entirely (due to bash's "errexit").
rc=0
confirm "Install (or update) [${packages[*]}]?" && { pfexec pkg install -v "${packages[@]}" || rc=$?; }
confirm "Install (or update) [${packages[*]}]?" &&
{ pfexec pkg install -v "${packages[@]}" || rc=$?; }
# Return codes:
# 0: Normal Success
# 4: Failure because we're already up-to-date. Also acceptable.
Expand All @@ -191,13 +192,19 @@ function install_packages {
pkg publisher
pkg list -afv "${packages[@]}"
elif [[ "${HOST_OS}" == "Darwin" ]]; then
PGVER=18
packages=(
'coreutils'
'postgresql@14'
'pkg-config'
'libxmlsec1'
"coreutils"
"postgresql@$PGVER"
"pkg-config"
"libxmlsec1"
)
confirm "Install (or update) [${packages[*]}]?" && brew install "${packages[@]}"
confirm "Install (or update) [${packages[*]}]?" &&
brew install "${packages[@]}"
confirm "Set symlinks?" && {
brew unlink postgresql
brew link --force --overwrite postgresql@$PGVER
}
else
echo "Skipping builder prereqs for unsupported OS: ${HOST_OS}"
exit 1
Expand Down Expand Up @@ -239,12 +246,12 @@ function show_hint
case "$1" in
"pg_config")
if [[ "${HOST_OS}" == "SunOS" ]]; then
echo "On illumos, $1 is typically found in '/opt/ooce/bin'"
echo "On helios, $1 is typically found in '/opt/ooce/bin'"
fi
;;
"pkg-config")
if [[ "${HOST_OS}" == "SunOS" ]]; then
echo "On illumos, $1 is typically found in '/usr/bin'"
echo "On helios, $1 is typically found in '/usr/bin'"
fi
;;
"cockroach")
Expand Down
2 changes: 1 addition & 1 deletion tools/install_opte.sh
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ fi

# Actually install the xde kernel module and opteadm tool
RC=0
pfexec pkg install -v pkg://helios-dev/driver/network/opte@"$OPTE_VERSION" || RC=$?
pfexec pkg install -v pkg://helios/driver/network/opte@"$OPTE_VERSION" || RC=$?
if [[ "$RC" -eq 0 ]]; then
echo "xde driver installed successfully"
elif [[ "$RC" -eq 4 ]]; then
Expand Down
2 changes: 1 addition & 1 deletion tools/install_runner_prerequisites.sh
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ function install_packages {
if [[ "${HOST_OS}" == "SunOS" ]]; then
packages=(
'pkg:/package/pkg'
'library/postgresql-13'
'library/postgresql-18'
'pkg-config'
'brand/omicron1/tools'
'library/libxmlsec1'
Expand Down
2 changes: 1 addition & 1 deletion tools/scrimlet/create-softnpu-zone.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ cp out/softnpu/scadm /opt/oxide/softnpu/stuff/

zfs create -p -o mountpoint=/softnpu-zone rpool/softnpu-zone

pkg set-publisher --search-first helios-dev
pkg set-publisher --search-first helios

zonecfg -z softnpu -f tools/scrimlet/softnpu-zone.txt
zoneadm -z softnpu install
Expand Down
10 changes: 5 additions & 5 deletions tools/uninstall_opte.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ fi
PUBLISHERS=("on-nightly" "helios-netdev")

# The stock Helios publisher and incorporation base information to revert to
HELIOS_PUBLISHER="helios-dev"
HELIOS_PUBLISHER="helios"
STOCK_CONSOLIDATION="pkg://$HELIOS_PUBLISHER/consolidation/osnet/osnet-incorporation"

# Saved list of publisher origins we've removed if we need to restore them
Expand Down Expand Up @@ -71,7 +71,7 @@ function restore_removed_publishers {
done
}

# Install stock incorporation from helios-dev, pushing the publisher to the top
# Install stock incorporation from helios, pushing the publisher to the top
function to_stock_helios {
local CONSOLIDATION="$1"
echo "Installing stock Helios kernel and networking bits"
Expand Down Expand Up @@ -125,7 +125,7 @@ function to_stock_helios {
pkg install --no-refresh -v "${REJECT_ARGS[@]}" "$CONSOLIDATION"
}

# If helios-dev exists, echo the full osnet-incorporation package we'll be
# If helios exists, echo the full osnet-incorporation package we'll be
# installing to. If it does _not_ exist, fail.
function ensure_helios_publisher_exists {
pkg publisher "$HELIOS_PUBLISHER" > /dev/null || \
Expand All @@ -135,8 +135,8 @@ function ensure_helios_publisher_exists {
echo "No osnet-incorporation package exists on this system,"
echo "so we cannot determine the exact package to install"
echo "to revert to stock Helios. You may need to update your"
echo "helios-dev publisher to refresh that publishers list of"
echo "available packages, with \"pkg refresh helios-dev\""
echo "helios publisher to refresh that publishers list of"
echo "available packages, with \"pkg refresh helios\""
exit 1
fi
echo "$CONSOLIDATION" | tr -s ' ' | awk '{ print $1 "@" $(NF-1); }'
Expand Down
Loading