-
Notifications
You must be signed in to change notification settings - Fork 98
Open
Description
Bug
I'm trying to customize a CoreOS iso with an ignition file created with butane 0.23.0 but I'm unable to due to the resulting ignition file version being 3.5.0 and coreos-installer does not appear to support it. If I manually edit the version down to 3.4.0 it works fine.
Host Operating System Version
Fedora Linux 41 Server Edition
Target Operating System Version
CoreOS Stable
coreos-installer Version
0.23.0
Expected Behavior
The ignition configuration would be used to customize the iso
Actual Behavior
Error: parsing Ignition config /home/admin/ignition-conf/default.ign
Caused by:
unsupported config version: 3.5.0
Reproduction Steps
coreos-installer download -s stable -p metal -f iso -C ~/coreos-iso/butane --pretty --strict ~/butane-conf/default.bu > ~/ignition-conf/default.igncoreos-installer iso customize --dest-device /dev/sda --dest-ignition ~/ignition-conf/default.ign $COREOS_STABLE -o coreos-stable-default.isowhere$COREOS_STABLEis the path to the latest iso that was downloaded
Other Information
The butane file used is below
variant: fcos
version: 1.6.0
passwd:
users:
# Add ssh key
- name: core
ssh_authorized_keys:
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILyN+9/ySQCOdKXJf46oVBnVKFH5O8n2GEDOUXmb4pqO
storage:
disks:
- device: /dev/sdb
wipe_table: true
partitions:
- label: data
size_mib: 0
start_mib: 0
filesystems:
- device: /dev/disk/by-partlabel/data
path: /var
format: xfs
label: data
with_mount_unit: true
directories:
# Create directory for user level quadlets
- path: /home/core/.config/containers/systemd
user:
name: core
group:
name: core
# Create directory for app data
- path: /home/core/data
user:
name: core
group:
name: core
# Create directory for conf data
- path: /home/core/data/conf
user:
name: core
group:
name: core
# Create directory for rootless prometheus-podman-exporter data
- path: /home/core/data/conf/prometheus-podman-exporter
user:
name: core
group:
name: core
# Create directory for quadlets to symlink
- path: /home/core/quadlets
user:
name: core
group:
name: core
files:
# Add Zram device with default settings
- path: /etc/systemd/zram-generator.conf
mode: 0644
contents:
inline: |
# This config file enables a /dev/zram0 device with the default settings
[zram0]
# Add service for rootless prometheus-podman-exporter
- path: /home/core/.config/containers/systemd/prometheus-podman-exporter-rootless.service
user:
name: core
group:
name: core
contents:
inline: |
[Unit]
Description=Prometheus exporter for podman (v4) machine
[Service]
Restart=on-failure
EnvironmentFile=-/home/core/data/conf/prometheus-podman-exporter/prometheus-podman-exporter
ExecStart=/usr/bin/prometheus-podman-exporter $PODMAN_EXPORTER_OPTS
ExecReload=/bin/kill -HUP $MAINPID
TimeoutStopSec=20s
SendSIGKILL=no
[Install]
WantedBy=default.target
# Create the config for rootless prometheus-podman-exporter
- path: /home/core/data/conf/prometheus-podman-exporter/prometheus-podman-exporter
user:
name: core
group:
name: core
contents:
inline: |
PODMAN_EXPORTER_OPTS="--collector.enable-all --collector.enhance-metrics --collector.store_labels --web.disable-exporter-metrics --web.listen-address :9883"
systemd:
units:
# Installing qemu-guest-agent & prometheus-podman-exporter as a layered package with rpm-ostree
- name: rpm-ostree-install.service
enabled: true
contents: |
[Unit]
Description=Layer qemu-guest-agent and prometheus-podman-exporter with rpm-ostree
Wants=network-online.target
After=network-online.target
# We run before `zincati.service` to avoid conflicting rpm-ostree
# transactions.
Before=zincati.service
ConditionPathExists=!/var/lib/%N.stamp
[Service]
Type=oneshot
RemainAfterExit=yes
# `--allow-inactive` ensures that rpm-ostree does not return an error
# if the package is already installed. This is useful if the package is
# added to the root image in a future Fedora CoreOS release as it will
# prevent the service from failing.
ExecStart=/usr/bin/rpm-ostree install --apply-live --allow-inactive qemu-guest-agent prometheus-podman-exporter
ExecStart=/bin/touch /var/lib/%N.stamp
[Install]
WantedBy=multi-user.target
Metadata
Metadata
Assignees
Labels
No labels