From 173ecdd0965a6e3ddfae2370bd9d2ad67ccaa25f Mon Sep 17 00:00:00 2001 From: Don Khan Date: Mon, 6 Jan 2025 16:40:51 -0500 Subject: [PATCH] Add note covering non unique host NQNs on OCP. --- .../csmoperator/drivers/powermax.md | 33 ++++++++++++++++++- .../csmoperator/drivers/powerstore.md | 31 +++++++++++++++++ .../helm/drivers/installation/powermax.md | 32 +++++++++++++++++- .../helm/drivers/installation/powerstore.md | 31 +++++++++++++++++ 4 files changed, 125 insertions(+), 2 deletions(-) diff --git a/content/docs/deployment/csmoperator/drivers/powermax.md b/content/docs/deployment/csmoperator/drivers/powermax.md index 0f503d2ada..b273d2da9e 100644 --- a/content/docs/deployment/csmoperator/drivers/powermax.md +++ b/content/docs/deployment/csmoperator/drivers/powermax.md @@ -114,6 +114,37 @@ modprobe nvme_tcp **Cluster requirments** - All OpenShift or Kubernetes nodes connecting to Dell storage arrays must use unique host NQNs. + +> The OpenShift deployment process for RHCOS will set the same host NQN for all nodes. The host NQN is stored in the file /etc/nvme/hostnqn. One possible solution to ensure unique host NQNs is to add the following machine config to your OCP cluster: + +```yaml +apiVersion: machineconfiguration.openshift.io/v1 +kind: MachineConfig +metadata: + labels: + machineconfiguration.openshift.io/role: worker + name: 99-worker-custom-nvme-hostnqn +spec: + config: + ignition: + version: 3.2.0 + systemd: + units: + - contents: | + [Unit] + Description=Custom CoreOS Generate NVMe Hostnqn + + [Service] + Type=oneshot + ExecStart=/usr/bin/sh -c '/usr/sbin/nvme gen-hostnqn > /etc/nvme/hostnqn' + RemainAfterExit=yes + + [Install] + WantedBy=multi-user.target + enabled: true + name: custom-coreos-generate-nvme-hostnqn.service +``` + - The driver requires the NVMe command-line interface (nvme-cli) to manage the NVMe clients and targets. The NVMe CLI tool is installed in the host using the following command on RPM oriented Linux distributions. ```bash @@ -408,7 +439,7 @@ Create a secret named powermax-certs in the namespace where the CSI PowerMax dri # Choose which transport protocol to use (ISCSI, FC, NVMETCP, auto) defaults to auto if nothing is specified X_CSI_TRANSPORT_PROTOCOL: "" # IP address of the Unisphere for PowerMax (Required), Defaults to https://0.0.0.0:8443 - X_CSI_POWERMAX_ENDPOINT: "https://10.0.0.0:8443" + X_CSI_POWERMAX_ENDPOINT: "https://10.0.0.0:8443" # List of comma-separated array ID(s) which will be managed by the driver (Required) X_CSI_MANAGED_ARRAYS: "000000000000,000000000000," ``` diff --git a/content/docs/deployment/csmoperator/drivers/powerstore.md b/content/docs/deployment/csmoperator/drivers/powerstore.md index fc4ab304dd..18eb09c18a 100644 --- a/content/docs/deployment/csmoperator/drivers/powerstore.md +++ b/content/docs/deployment/csmoperator/drivers/powerstore.md @@ -82,6 +82,37 @@ Refer to the [Dell Host Connectivity Guide](https://elabnavigator.dell.com/vault The following requirements must be fulfilled in order to successfully use the NVMe protocols with the CSI PowerStore driver: - All OpenShift or Kubernetes nodes connecting to Dell storage arrays must use unique host NQNs. + +> The OpenShift deployment process for RHCOS will set the same host NQN for all nodes. The host NQN is stored in the file /etc/nvme/hostnqn. One possible solution to ensure unique host NQNs is to add the following machine config to your OCP cluster: + +```yaml +apiVersion: machineconfiguration.openshift.io/v1 +kind: MachineConfig +metadata: + labels: + machineconfiguration.openshift.io/role: worker + name: 99-worker-custom-nvme-hostnqn +spec: + config: + ignition: + version: 3.2.0 + systemd: + units: + - contents: | + [Unit] + Description=Custom CoreOS Generate NVMe Hostnqn + + [Service] + Type=oneshot + ExecStart=/usr/bin/sh -c '/usr/sbin/nvme gen-hostnqn > /etc/nvme/hostnqn' + RemainAfterExit=yes + + [Install] + WantedBy=multi-user.target + enabled: true + name: custom-coreos-generate-nvme-hostnqn.service +``` + - The driver requires the NVMe command-line interface (nvme-cli) to manage the NVMe clients and targets. The NVMe CLI tool is installed in the host using the following command on RPM oriented Linux distributions. ```bash diff --git a/content/docs/deployment/helm/drivers/installation/powermax.md b/content/docs/deployment/helm/drivers/installation/powermax.md index 2b8b777769..62feefbc1a 100644 --- a/content/docs/deployment/helm/drivers/installation/powermax.md +++ b/content/docs/deployment/helm/drivers/installation/powermax.md @@ -117,10 +117,40 @@ modprobe nvme_tcp > Starting with OCP 4.14 NVMe/TCP is enabled by default on RCOS nodes. - **Cluster requirments** - All OpenShift or Kubernetes nodes connecting to Dell storage arrays must use unique host NQNs. + +> The OpenShift deployment process for RHCOS will set the same host NQN for all nodes. The host NQN is stored in the file /etc/nvme/hostnqn. One possible solution to ensure unique host NQNs is to add the following machine config to your OCP cluster: + +```yaml +apiVersion: machineconfiguration.openshift.io/v1 +kind: MachineConfig +metadata: + labels: + machineconfiguration.openshift.io/role: worker + name: 99-worker-custom-nvme-hostnqn +spec: + config: + ignition: + version: 3.2.0 + systemd: + units: + - contents: | + [Unit] + Description=Custom CoreOS Generate NVMe Hostnqn + + [Service] + Type=oneshot + ExecStart=/usr/bin/sh -c '/usr/sbin/nvme gen-hostnqn > /etc/nvme/hostnqn' + RemainAfterExit=yes + + [Install] + WantedBy=multi-user.target + enabled: true + name: custom-coreos-generate-nvme-hostnqn.service +``` + - The driver requires the NVMe command-line interface (nvme-cli) to manage the NVMe clients and targets. The NVMe CLI tool is installed in the host using the following command on RPM oriented Linux distributions. ```bash diff --git a/content/docs/deployment/helm/drivers/installation/powerstore.md b/content/docs/deployment/helm/drivers/installation/powerstore.md index 7c19ab3924..43c94f1b33 100644 --- a/content/docs/deployment/helm/drivers/installation/powerstore.md +++ b/content/docs/deployment/helm/drivers/installation/powerstore.md @@ -85,6 +85,37 @@ Refer to the [Dell Host Connectivity Guide](https://elabnavigator.dell.com/vault The following requirements must be fulfilled in order to successfully use the NVMe protocols with the CSI PowerStore driver: - All OpenShift or Kubernetes nodes connecting to Dell storage arrays must use unique host NQNs. + +> The OpenShift deployment process for RHCOS will set the same host NQN for all nodes. The host NQN is stored in the file /etc/nvme/hostnqn. One possible solution to ensure unique host NQNs is to add the following machine config to your OCP cluster: + +```yaml +apiVersion: machineconfiguration.openshift.io/v1 +kind: MachineConfig +metadata: + labels: + machineconfiguration.openshift.io/role: worker + name: 99-worker-custom-nvme-hostnqn +spec: + config: + ignition: + version: 3.2.0 + systemd: + units: + - contents: | + [Unit] + Description=Custom CoreOS Generate NVMe Hostnqn + + [Service] + Type=oneshot + ExecStart=/usr/bin/sh -c '/usr/sbin/nvme gen-hostnqn > /etc/nvme/hostnqn' + RemainAfterExit=yes + + [Install] + WantedBy=multi-user.target + enabled: true + name: custom-coreos-generate-nvme-hostnqn.service +``` + - The driver requires the NVMe command-line interface (nvme-cli) to manage the NVMe clients and targets. The NVMe CLI tool is installed in the host using the following command on RPM oriented Linux distributions. ```bash