mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 12:46:18 +01:00
264 lines
7.8 KiB
Plaintext
264 lines
7.8 KiB
Plaintext
// Module included in the following assemblies:
|
|
//
|
|
// * installing/installing_ibm_z/ibmz-post-install.adoc
|
|
|
|
:_mod-docs-content-type: PROCEDURE
|
|
[id="configure-additional-devices-using-mco_{context}"]
|
|
= Configuring additional devices using the Machine Config Operator (MCO)
|
|
|
|
Tasks in this section describe how to use features of the Machine Config Operator (MCO) to configure additional devices in an {ibm-z-name} or {ibm-linuxone-name} environment. Configuring devices with the MCO is persistent but only allows specific configurations for compute nodes. MCO does not allow control plane nodes to have different configurations.
|
|
|
|
.Prerequisites
|
|
|
|
* You are logged in to the cluster as a user with administrative privileges.
|
|
* The device must be available to the z/VM guest.
|
|
* The device is already attached.
|
|
* The device is not included in the `cio_ignore` list, which can be set in the kernel parameters.
|
|
* You have created a `MachineConfig` object file with the following YAML:
|
|
+
|
|
[source,yaml]
|
|
----
|
|
apiVersion: machineconfiguration.openshift.io/v1
|
|
kind: MachineConfigPool
|
|
metadata:
|
|
name: worker0
|
|
spec:
|
|
machineConfigSelector:
|
|
matchExpressions:
|
|
- {key: machineconfiguration.openshift.io/role, operator: In, values: [worker,worker0]}
|
|
nodeSelector:
|
|
matchLabels:
|
|
node-role.kubernetes.io/worker0: ""
|
|
----
|
|
|
|
[id="configuring-fcp-host"]
|
|
== Configuring a Fibre Channel Protocol (FCP) host
|
|
|
|
The following is an example of how to configure an FCP host adapter with N_Port Identifier Virtualization (NPIV) by adding a udev rule.
|
|
|
|
.Procedure
|
|
|
|
. Take the following sample udev rule `441-zfcp-host-0.0.8000.rules`:
|
|
+
|
|
[source,terminal]
|
|
----
|
|
ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.8000", DRIVER=="zfcp", GOTO="cfg_zfcp_host_0.0.8000"
|
|
ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="zfcp", TEST=="[ccw/0.0.8000]", GOTO="cfg_zfcp_host_0.0.8000"
|
|
GOTO="end_zfcp_host_0.0.8000"
|
|
|
|
LABEL="cfg_zfcp_host_0.0.8000"
|
|
ATTR{[ccw/0.0.8000]online}="1"
|
|
|
|
LABEL="end_zfcp_host_0.0.8000"
|
|
----
|
|
|
|
. Convert the rule to Base64 encoded by running the following command:
|
|
+
|
|
[source,terminal]
|
|
----
|
|
$ base64 /path/to/file/
|
|
----
|
|
|
|
. Copy the following MCO sample profile into a YAML file:
|
|
+
|
|
[source,yaml]
|
|
----
|
|
apiVersion: machineconfiguration.openshift.io/v1
|
|
kind: MachineConfig
|
|
metadata:
|
|
labels:
|
|
machineconfiguration.openshift.io/role: worker0 <1>
|
|
name: 99-worker0-devices
|
|
spec:
|
|
config:
|
|
ignition:
|
|
version: 3.2.0
|
|
storage:
|
|
files:
|
|
- contents:
|
|
source: data:text/plain;base64,<encoded_base64_string> <2>
|
|
filesystem: root
|
|
mode: 420
|
|
path: /etc/udev/rules.d/41-zfcp-host-0.0.8000.rules <3>
|
|
----
|
|
<1> The role you have defined in the machine config file.
|
|
<2> The Base64 encoded string that you have generated in the previous step.
|
|
<3> The path where the udev rule is located.
|
|
|
|
[id="configuring-fcp-lun"]
|
|
== Configuring an FCP LUN
|
|
The following is an example of how to configure an FCP LUN by adding a udev rule. You can add new FCP LUNs or add additional paths to LUNs that are already configured with multipathing.
|
|
|
|
.Procedure
|
|
|
|
. Take the following sample udev rule `41-zfcp-lun-0.0.8000:0x500507680d760026:0x00bc000000000000.rules`:
|
|
+
|
|
[source,terminal]
|
|
----
|
|
ACTION=="add", SUBSYSTEMS=="ccw", KERNELS=="0.0.8000", GOTO="start_zfcp_lun_0.0.8207"
|
|
GOTO="end_zfcp_lun_0.0.8000"
|
|
|
|
LABEL="start_zfcp_lun_0.0.8000"
|
|
SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="0x500507680d760026", GOTO="cfg_fc_0.0.8000_0x500507680d760026"
|
|
GOTO="end_zfcp_lun_0.0.8000"
|
|
|
|
LABEL="cfg_fc_0.0.8000_0x500507680d760026"
|
|
ATTR{[ccw/0.0.8000]0x500507680d760026/unit_add}="0x00bc000000000000"
|
|
GOTO="end_zfcp_lun_0.0.8000"
|
|
|
|
LABEL="end_zfcp_lun_0.0.8000"
|
|
----
|
|
|
|
. Convert the rule to Base64 encoded by running the following command:
|
|
+
|
|
[source,terminal]
|
|
----
|
|
$ base64 /path/to/file/
|
|
----
|
|
|
|
. Copy the following MCO sample profile into a YAML file:
|
|
+
|
|
[source,yaml]
|
|
----
|
|
apiVersion: machineconfiguration.openshift.io/v1
|
|
kind: MachineConfig
|
|
metadata:
|
|
labels:
|
|
machineconfiguration.openshift.io/role: worker0 <1>
|
|
name: 99-worker0-devices
|
|
spec:
|
|
config:
|
|
ignition:
|
|
version: 3.2.0
|
|
storage:
|
|
files:
|
|
- contents:
|
|
source: data:text/plain;base64,<encoded_base64_string> <2>
|
|
filesystem: root
|
|
mode: 420
|
|
path: /etc/udev/rules.d/41-zfcp-lun-0.0.8000:0x500507680d760026:0x00bc000000000000.rules <3>
|
|
----
|
|
<1> The role you have defined in the machine config file.
|
|
<2> The Base64 encoded string that you have generated in the previous step.
|
|
<3> The path where the udev rule is located.
|
|
|
|
[id="configuring-dasd"]
|
|
== Configuring DASD
|
|
|
|
The following is an example of how to configure a DASD device by adding a udev rule.
|
|
|
|
.Procedure
|
|
|
|
. Take the following sample udev rule `41-dasd-eckd-0.0.4444.rules`:
|
|
+
|
|
[source,terminal]
|
|
----
|
|
ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.4444", DRIVER=="dasd-eckd", GOTO="cfg_dasd_eckd_0.0.4444"
|
|
ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="dasd-eckd", TEST=="[ccw/0.0.4444]", GOTO="cfg_dasd_eckd_0.0.4444"
|
|
GOTO="end_dasd_eckd_0.0.4444"
|
|
|
|
LABEL="cfg_dasd_eckd_0.0.4444"
|
|
ATTR{[ccw/0.0.4444]online}="1"
|
|
|
|
LABEL="end_dasd_eckd_0.0.4444"
|
|
----
|
|
|
|
. Convert the rule to Base64 encoded by running the following command:
|
|
+
|
|
[source,terminal]
|
|
----
|
|
$ base64 /path/to/file/
|
|
----
|
|
|
|
. Copy the following MCO sample profile into a YAML file:
|
|
+
|
|
[source,yaml]
|
|
----
|
|
apiVersion: machineconfiguration.openshift.io/v1
|
|
kind: MachineConfig
|
|
metadata:
|
|
labels:
|
|
machineconfiguration.openshift.io/role: worker0 <1>
|
|
name: 99-worker0-devices
|
|
spec:
|
|
config:
|
|
ignition:
|
|
version: 3.2.0
|
|
storage:
|
|
files:
|
|
- contents:
|
|
source: data:text/plain;base64,<encoded_base64_string> <2>
|
|
filesystem: root
|
|
mode: 420
|
|
path: /etc/udev/rules.d/41-dasd-eckd-0.0.4444.rules <3>
|
|
----
|
|
<1> The role you have defined in the machine config file.
|
|
<2> The Base64 encoded string that you have generated in the previous step.
|
|
<3> The path where the udev rule is located.
|
|
|
|
[id="configuring-qeth"]
|
|
== Configuring qeth
|
|
|
|
The following is an example of how to configure a qeth device by adding a udev rule.
|
|
|
|
.Procedure
|
|
|
|
. Take the following sample udev rule `41-qeth-0.0.1000.rules`:
|
|
+
|
|
[source,terminal]
|
|
----
|
|
ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="qeth", GOTO="group_qeth_0.0.1000"
|
|
ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1000", DRIVER=="qeth", GOTO="group_qeth_0.0.1000"
|
|
ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1001", DRIVER=="qeth", GOTO="group_qeth_0.0.1000"
|
|
ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1002", DRIVER=="qeth", GOTO="group_qeth_0.0.1000"
|
|
ACTION=="add", SUBSYSTEM=="ccwgroup", KERNEL=="0.0.1000", DRIVER=="qeth", GOTO="cfg_qeth_0.0.1000"
|
|
GOTO="end_qeth_0.0.1000"
|
|
|
|
LABEL="group_qeth_0.0.1000"
|
|
TEST=="[ccwgroup/0.0.1000]", GOTO="end_qeth_0.0.1000"
|
|
TEST!="[ccw/0.0.1000]", GOTO="end_qeth_0.0.1000"
|
|
TEST!="[ccw/0.0.1001]", GOTO="end_qeth_0.0.1000"
|
|
TEST!="[ccw/0.0.1002]", GOTO="end_qeth_0.0.1000"
|
|
ATTR{[drivers/ccwgroup:qeth]group}="0.0.1000,0.0.1001,0.0.1002"
|
|
GOTO="end_qeth_0.0.1000"
|
|
|
|
LABEL="cfg_qeth_0.0.1000"
|
|
ATTR{[ccwgroup/0.0.1000]online}="1"
|
|
|
|
LABEL="end_qeth_0.0.1000"
|
|
----
|
|
|
|
. Convert the rule to Base64 encoded by running the following command:
|
|
+
|
|
[source,terminal]
|
|
----
|
|
$ base64 /path/to/file/
|
|
----
|
|
|
|
. Copy the following MCO sample profile into a YAML file:
|
|
+
|
|
[source,yaml]
|
|
----
|
|
apiVersion: machineconfiguration.openshift.io/v1
|
|
kind: MachineConfig
|
|
metadata:
|
|
labels:
|
|
machineconfiguration.openshift.io/role: worker0 <1>
|
|
name: 99-worker0-devices
|
|
spec:
|
|
config:
|
|
ignition:
|
|
version: 3.2.0
|
|
storage:
|
|
files:
|
|
- contents:
|
|
source: data:text/plain;base64,<encoded_base64_string> <2>
|
|
filesystem: root
|
|
mode: 420
|
|
path: /etc/udev/rules.d/41-dasd-eckd-0.0.4444.rules <3>
|
|
----
|
|
<1> The role you have defined in the machine config file.
|
|
<2> The Base64 encoded string that you have generated in the previous step.
|
|
<3> The path where the udev rule is located.
|
|
|