Update default illumos image to omnios-bloody and enhance image configuration

This commit replaces `openindiana-hipster` with `omnios-bloody` as the default illumos image in the orchestrator. It adds detailed configuration for the new image, including source URL, local path, and resource defaults, while retaining `openindiana-hipster` as a reference. Corresponding test cases and YAML updates are included.
This commit is contained in:
Till Wegmueller 2025-11-02 18:58:46 +01:00
parent c1380b1095
commit 5cfde45e4c
No known key found for this signature in database
2 changed files with 27 additions and 17 deletions

View file

@ -195,12 +195,12 @@ mod tests {
let yaml = r#"
default_label: illumos-latest
aliases:
illumos-latest: openindiana-hipster
illumos-latest: omnios-bloody
images:
openindiana-hipster:
source: "https://example.com/oi.img"
local_path: "/tmp/oi.img"
decompress: zstd
omnios-bloody:
source: "https://example.com/omnios.qcow2"
local_path: "/tmp/omnios.qcow2"
decompress: none
nocloud: true
defaults:
cpu: 2
@ -209,14 +209,14 @@ mod tests {
"#;
let cfg: OrchestratorConfig = serde_yaml::from_str(yaml).expect("parse yaml");
// resolve default
assert_eq!(cfg.resolve_label(None), Some("openindiana-hipster"));
assert_eq!(cfg.resolve_label(None), Some("omnios-bloody"));
// alias mapping
assert_eq!(
cfg.resolve_label(Some("illumos-latest")),
Some("openindiana-hipster")
Some("omnios-bloody")
);
// image for canonical key
let img = cfg.image_for("openindiana-hipster").expect("image exists");
let img = cfg.image_for("omnios-bloody").expect("image exists");
assert!(img.nocloud);
assert_eq!(img.defaults.as_ref().and_then(|d| d.cpu), Some(2));
assert_eq!(img.defaults.as_ref().and_then(|d| d.ram_mb), Some(2048));

View file

@ -12,7 +12,7 @@ default_label: illumos-latest
# Optional label aliases
aliases:
illumos-latest: openindiana-hipster
illumos-latest: omnios-bloody
# Size presets (matrix): CPUs and RAM in MiB
sizes:
@ -28,14 +28,13 @@ sizes:
# Images by canonical label
images:
# OpenIndiana Hipster cloud image (illumos). Intended for bhyve brand zones on illumos hosts.
openindiana-hipster:
# OmniOS bloody cloud image (illumos) with cloud-init support.
omnios-bloody:
# All images are backend-agnostic and must support NoCloud. Backends are chosen by host.
source: https://dlc.openindiana.org/isos/hipster/20250402/OI-hipster-cloudimage.img.zstd
#source: file:///home/toasty/ws/illumos/installer/cloudimage-ttya-openindiana-hipster.raw.zst
# Local path (raw .img) target after download/decompression. Adjust per host.
local_path: /var/lib/solstice/images/openindiana-hipster.img
decompress: zstd # if omitted, assumed already uncompressed raw or qcow2
source: https://downloads.omnios.org/media/bloody/omnios-bloody-20250902.cloud.qcow2
# Local path (qcow2) target after download. Adjust per host.
local_path: /var/lib/solstice/images/omnios-bloody.qcow2
decompress: none
nocloud: true
# Default resources if job doesn't specify (vCPUs, RAM MiB, disk GiB for overlay/clone)
defaults:
@ -43,7 +42,18 @@ images:
ram_mb: 2048
disk_gb: 40
# Example Ubuntu image for libvirt/KVM on Linux hosts (commented by default)
# OpenIndiana Hipster cloud image kept for reference (no longer default)
openindiana-hipster:
source: https://dlc.openindiana.org/isos/hipster/20250402/OI-hipster-cloudimage.img.zstd
local_path: /var/lib/solstice/images/openindiana-hipster.img
decompress: zstd
nocloud: true
defaults:
cpu: 2
ram_mb: 2048
disk_gb: 40
# Example Ubuntu image for libvirt/KVM on Linux hosts
ubuntu-22.04:
source: https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
local_path: /var/lib/solstice/images/ubuntu-22.04-base.qcow2