Customize hostname
SUSE® Rancher Prime OS Manager hostname management overview
When a host boots from the SUSE® Rancher Prime OS Manager ISO, the hostname is temporarily set (transient hostname) to the one provided from the DHCP server.
If the DHCP server doesn’t provide a hostname, the SUSE® Rancher Prime OS Manager ISO provides a transient hostname
in the form: rancher-${RANDOM}
.
As soon as the boot process is finished, the registration phase kicks in: the host connects to
the SUSE® Rancher Prime OS Manager Operator, which creates a MachineInventory
for the host.
Each host registered with the SUSE® Rancher Prime OS Manager Operator is tracked by a MachineInventory
resource.
The name
of the MachineInventory
resource associated with the node is the permanent (static) hostname
eventually set to the host.
This permanent hostname is set on the node during the K8s cluster provisioning phase only.
Before the K8s provisioning phase, the node hostname is either the DHCP assigned one or rancher-${RANDOM}
.
For the remainder of this section we will refer to the hostname
meaning the permanent hostname,
i.e., the hostname that is set after the host has been provisioned as part of a K8s cluster.
Default hostname
The default name assigned to each newly created MachineInventory is in the form m-{$UUID}
.
When the host is provisioned as part of a Cluster, that m-{UUID}
name is set as the hostname of
the corresponding host, overriding the previous assigned hostname (rancher-{$RANDOM}
or the DHCP assigned one).
Set a custom hostname
The hostname can be specified setting the machineName
field in the
'MachineRegistration' resource.
The hostname set in the machineName
field is expected to be in a template form, in order to be uniquely generated
for each registering node, using SMBIOS and Hardware Labels data.
The This means that if you don’t use a templated |
import Registration from "!!raw-loader!@site/examples/quickstart/registration-hardware-dhcphostname.yaml"
Keep the hostname assigned from DHCP
In order to keep the hostname assigned from the DHCP server before the host registers to the operator,
the MachineRegistration
machineName field
should be set
to the ${System Data/Runtime/Hostname}
Hardware Label.
This way SUSE® Rancher Prime OS Manager will use the current hostname as the MachineInventory
name during
the registration phase, which will be later set as the static hostname of the host during the
provisioning phase.
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
name: my-nodes
namespace: fleet-default
spec:
machineName: "${System Data/Runtime/Hostname}"
config:
cloud-config:
users:
- name: root
passwd: root
elemental:
install:
reboot: true
device: /dev/sda
debug: true
machineInventoryLabels:
elemental.cattle.io/CpuTotalCores: "${System Data/CPU/Total Cores}"
elemental.cattle.io/CpuTotalThreads: "${System Data/CPU/Total Threads}"
elemental.cattle.io/TotalMemoryBytes: "${System Data/Memory/Total Physical Bytes}"
elemental.cattle.io/NumberBlockDevices: "${System Data/Block Devices/Number Devices}"