adamant-kite-43734
04/09/2026, 5:33 AMancient-processor-61935
04/09/2026, 5:40 AMabundant-camera-87627
04/09/2026, 5:40 AM/oem/90_custom.yaml (not sure it contains private keys?) or any specific section?abundant-camera-87627
04/09/2026, 5:44 AM# cat /oem/90_custom.yaml
name: Harvester Configuration
stages:
initramfs:
- commands:
- modprobe kvm
- modprobe vhost_net
- rm -f /var/lib/kubelet/cpu_manager_state
- sed -i 's/^NETCONFIG_DNS_STATIC_SERVERS.*/NETCONFIG_DNS_STATIC_SERVERS="192.168.154.150"/' /etc/sysconfig/network/config
files:
- path: /etc/multipath/conf.d/99-longhorn.conf
permissions: 420
owner: 0
group: 0
content: YmxhY2tsaXN0IHsgCiAgZGV2aWNlIHsgCiAgICB2ZW5kb3IgIklFVCIgCiAgICBwcm9kdWN0ICJWSVJUVUFMLURJU0siCiAgfQp9
encoding: base64
ownerstring: ""
- path: /etc/systemd/system/multipathd.service
permissions: 420
owner: 0
group: 0
content: W1VuaXRdCkRlc2NyaXB0aW9uPURldmljZS1NYXBwZXIgTXVsdGlwYXRoIERldmljZSBDb250cm9sbGVyCkJlZm9yZT1sdm0yLWFjdGl2YXRpb24tZWFybHkuc2VydmljZQpCZWZvcmU9bG9jYWwtZnMtcHJlLnRhcmdldCBibGstYXZhaWxhYmlsaXR5LnNlcnZpY2Ugc2h1dGRvd24udGFyZ2V0CldhbnRzPXN5c3RlbWQtdWRldmQta2VybmVsLnNvY2tldApBZnRlcj1zeXN0ZW1kLXVkZXZkLWtlcm5lbC5zb2NrZXQKQWZ0ZXI9bXVsdGlwYXRoZC5zb2NrZXQgc3lzdGVtZC1yZW1vdW50LWZzLnNlcnZpY2UKQmVmb3JlPWluaXRyZC1jbGVhbnVwLnNlcnZpY2UKRGVmYXVsdERlcGVuZGVuY2llcz1ubwpDb25mbGljdHM9c2h1dGRvd24udGFyZ2V0CkNvbmZsaWN0cz1pbml0cmQtY2xlYW51cC5zZXJ2aWNlCkNvbmRpdGlvbktlcm5lbENvbW1hbmRMaW5lPSFub21wYXRoCkNvbmRpdGlvblZpcnR1YWxpemF0aW9uPSFjb250YWluZXIKCltTZXJ2aWNlXQpUeXBlPW5vdGlmeQpOb3RpZnlBY2Nlc3M9bWFpbgpFeGVjU3RhcnQ9L3NiaW4vbXVsdGlwYXRoZCAtZCAtcwpFeGVjUmVsb2FkPS9zYmluL211bHRpcGF0aGQgcmVjb25maWd1cmUKVGFza3NNYXg9aW5maW5pdHkKCltJbnN0YWxsXQpXYW50ZWRCeT1zeXNpbml0LnRhcmdldA==
encoding: base64
ownerstring: ""
- path: /etc/rancher/rancherd/config.yaml
permissions: 384
owner: 0
group: 0
content: |
server: <https://192.168.154.100:443>
role: agent
token: "resize-suggest-random"
kubernetesVersion: v1.32.3+rke2r1
rancherVersion: v2.11.0
rancherInstallerImage: rancher/system-agent-installer-rancher:v2.11.0
labels:
- <http://harvesterhci.io/managed=true|harvesterhci.io/managed=true>
extraConfig:
disable:
- rke2-snapshot-controller
- rke2-snapshot-controller-crd
- rke2-snapshot-validation-webhook
encoding: ""
ownerstring: ""
- path: /etc/rancher/rke2/config.yaml.d/91-harvester-cdi.yaml
permissions: 384
owner: 0
group: 0
content: |-
# handle the permission issue of Longhorn for CDI
"nonroot-devices": true
encoding: ""
ownerstring: ""
- path: /etc/rancher/rke2/config.yaml.d/92-harvester-kube-audit-policy.yaml
permissions: 384
owner: 0
group: 0
content: |
apiVersion: <http://audit.k8s.io/v1|audit.k8s.io/v1>
kind: Policy
omitStages:
- "ResponseStarted"
- "ResponseComplete"
rules:
# Any include/exclude rules are added here
# A catch-all rule to log all other (create/delete/patch) requests at the Metadata level
- level: Metadata
verbs: ["create", "delete", "patch"]
omitStages:
- "ResponseStarted"
- "ResponseComplete"
encoding: ""
ownerstring: ""
- path: /etc/rancher/rke2/config.yaml.d/90-harvester-agent.yaml
permissions: 384
owner: 0
group: 0
content: |-
kubelet-arg:
- "max-pods=200"
encoding: ""
ownerstring: ""
- path: /etc/rancher/rke2/config.yaml.d/99-z00-harvester-reserved-resources.yaml
permissions: 384
owner: 0
group: 0
content: |-
kubelet-arg+:
- "system-reserved=cpu=400m"
- "kube-reserved=cpu=600m"
encoding: ""
ownerstring: ""
- path: /etc/wicked/scripts/setup_bond.sh
permissions: 493
owner: 0
group: 0
content: |
#!/bin/sh
ACTION=$1
INTERFACE=$2
case $ACTION in
post-up)
# inherit MAC address
ip link set dev mgmt-br address $(ip -json link show dev $INTERFACE | jq -j '.[0]["address"]')
# PVID=1 by default
;;
esac
encoding: ""
ownerstring: ""
- path: /etc/sysconfig/network/ifcfg-mgmt-bo
permissions: 384
owner: 0
group: 0
content: |+
STARTMODE='onboot'
BONDING_MASTER='yes'
BOOTPROTO='none'
POST_UP_SCRIPT="wicked:setup_bond.sh"
BONDING_SLAVE_0='enp2s0f0'
BONDING_SLAVE_1='enp2s0f1'
BONDING_MODULE_OPTS='miimon=100 mode=active-backup '
DHCLIENT_SET_DEFAULT_ROUTE='no'
encoding: ""
ownerstring: ""
- path: /etc/sysconfig/network/ifcfg-enp2s0f0
permissions: 384
owner: 0
group: 0
content: |
STARTMODE='hotplug'
BOOTPROTO='none'
encoding: ""
ownerstring: ""
- path: /etc/sysconfig/network/ifcfg-enp2s0f1
permissions: 384
owner: 0
group: 0
content: |
STARTMODE='hotplug'
BOOTPROTO='none'
encoding: ""
ownerstring: ""
- path: /etc/wicked/scripts/setup_bridge.sh
permissions: 493
owner: 0
group: 0
content: |
#!/bin/sh
ACTION=$1
INTERFACE=$2
case $ACTION in
pre-up)
# enable vlan-aware
ip link set $INTERFACE type bridge vlan_filtering 1
;;
post-up)
# PVID=1 by default
;;
esac
encoding: ""
ownerstring: ""
- path: /etc/sysconfig/network/ifcfg-mgmt-br
permissions: 384
owner: 0
group: 0
content: |+
STARTMODE='onboot'
BOOTPROTO='static'
BRIDGE='yes'
BRIDGE_STP='off'
BRIDGE_FORWARDDELAY='0'
BRIDGE_PORTS='mgmt-bo'
PRE_UP_SCRIPT="wicked:setup_bridge.sh"
POST_UP_SCRIPT="wicked:setup_bridge.sh"
IPADDR=192.168.154.101
NETMASK=255.255.255.0
DHCLIENT_SET_DEFAULT_ROUTE='yes'
encoding: ""
ownerstring: ""
- path: /etc/sysconfig/network/ifroute-mgmt-br
permissions: 384
owner: 0
group: 0
content: |
default 192.168.154.1 - mgmt-br
encoding: ""
ownerstring: ""
directories:
- path: /etc/multipath/conf.d
permissions: 420
owner: 0
group: 0
- path: /etc/rancher/rke2/config.yaml.d
permissions: 384
owner: 0
group: 0
- path: /etc/wicked/scripts
permissions: 420
owner: 0
group: 0
- path: /etc/wicked/scripts
permissions: 420
owner: 0
group: 0
hostname: lab-hv-01
users:
rancher:
passwd: <removed>
systemctl:
enable:
- systemd-timesyncd
- systemd-time-wait-sync
timesyncd:
NTP: <http://0.suse.pool.ntp.org|0.suse.pool.ntp.org>
network:
- authorized_keys:
rancher: []
rootfs:
- if: '[ ! -f "/run/cos/recovery_mode" ]'
name: Rootfs layout overwrite
environment:
OVERLAY: tmpfs:25%
PERSISTENT_STATE_BIND: "true"
PERSISTENT_STATE_PATHS: /etc/systemd /etc/rancher /etc/ssh /etc/iscsi /etc/nvme /etc/cni /etc/pki/trust/anchors /home /opt /root /usr/libexec /var/log /var/lib/rancher /var/lib/kubelet /var/lib/wicked /var/lib/cni /var/lib/third-party /var/crash /var/lib/longhorn
RW_PATHS: /var /etc /srv /boot /lib/firmware
VOLUMES: LABEL=COS_OEM:/oem LABEL=COS_PERSISTENT:/usr/local LABEL=HARV_LH_DEFAULT:/var/lib/harvester/defaultdisk
environment_file: /run/cos/cos-layout.env
And
# cat /oem/harvester.config
schemeversion: 1
serverurl: <https://192.168.154.100:443>
token: resize-suggest-random
os:
afterinstallchrootcommands: []
sshauthorizedkeys: []
writefiles: []
hostname: lab-hv-01
modules:
- kvm
- vhost_net
sysctls: {}
ntpservers:
- <http://0.suse.pool.ntp.org|0.suse.pool.ntp.org>
dnsnameservers:
- 192.168.154.150
wifi: []
password: <removed>
environment: {}
labels: {}
sshd:
sftp: false
persistentstatepaths: []
externalstorage:
enabled: false
multipathconfig: []
additionalkernelarguments: ""
install:
automatic: false
skipchecks: true
mode: join
managementinterface:
interfaces:
- name: enp2s0f0
hwaddr: 0c:c4:7a:bd:15:58
- name: enp2s0f1
hwaddr: 0c:c4:7a:bd:15:59
method: static
ip: 192.168.154.101
subnet_mask: 255.255.255.0
gateway: 192.168.154.1
defaultroute: true
bond_options:
miimon: "100"
mode: active-backup
mtu: 0
vlanid: 0
vip: ""
viphwaddr: ""
vipmode: ""
clusterdns: ""
clusterpodcidr: ""
clusterservicecidr: ""
forceefi: false
device: /dev/nvme1n1
configurl: ""
silent: false
isourl: ""
poweroff: false
noformat: false
debug: false
tty: tty1
forcegpt: true
role: default
withnetimages: false
wipealldisks: false
wipediskslist: []
forcembr: false
datadisk: /dev/nvme0n1
webhooks: []
addons: {}
harvester:
storageclass:
replicacount: 0
longhorn:
defaultsettings:
guaranteedenginemanagercpu: null
guaranteedreplicamanagercpu: null
guaranteedinstancemanagercpu: null
enablegocoverdir: false
rawdiskimagepath: ""
persistentpartitionsize: ""
runtimeversion: v1.32.3+rke2r1
rancherversion: v2.11.0
harvesterchartversion: 1.5.0
monitoringchartversion: 105.1.2+up61.3.2
systemsettings:
ntp-servers: '{"ntpServers":["<http://0.suse.pool.ntp.org|0.suse.pool.ntp.org>"]}'
loggingchartversion: 105.2.0+up4.10.0ancient-processor-61935
04/09/2026, 5:55 AMancient-processor-61935
04/09/2026, 5:56 AM/oem/90_custom.yaml & /oem/harvester.config ?ancient-processor-61935
04/09/2026, 5:57 AMancient-processor-61935
04/09/2026, 5:58 AMabundant-camera-87627
04/09/2026, 6:02 AM/oem/harvester.config the way I think it should be. So that's why you probably don't see any clear changes.abundant-camera-87627
04/09/2026, 6:29 AM