diff --git a/modules/ztp-lvms-installing-lvms-cli.adoc b/modules/ztp-lvms-installing-lvms-cli.adoc new file mode 100644 index 0000000000..c59b04c262 --- /dev/null +++ b/modules/ztp-lvms-installing-lvms-cli.adoc @@ -0,0 +1,109 @@ +// Module included in the following assemblies: +// +// scalability_and_performance/ztp_far_edge/ztp-manual-install.adoc + +:_content-type: PROCEDURE +[id="ztp-lvms-installing-using-cli_{context}"] += Installing {lvms} by using the CLI + +You can use the OpenShift CLI (`oc`) to install {lvms}. + +.Prerequisites + +* Install the OpenShift CLI (`oc`). +* Install the latest version of the {rh-rhacm} Operator. +* Log in as a user with `cluster-admin` privileges. + +.Procedure + +. Create the `openshift-storage` namespace by running the following command: ++ +[source,terminal] +---- +$ oc create ns openshift-storage +---- + +. Create an `OperatorGroup` CR. + +.. Define the `OperatorGroup` CR and save the YAML file, for example, `lmvs-operatorgroup.yaml`: ++ +.Example OperatorGroup CR +[source,yaml] +---- +apiVersion: operators.coreos.com/v1 +kind: OperatorGroup +metadata: + name: lvms-operator-operatorgroup + namespace: openshift-storage + annotations: + ran.openshift.io/ztp-deploy-wave: "2" +spec: + targetNamespaces: + - openshift-storage +---- + +.. Create the `OperatorGroup` CR by running the following command: ++ +[source,terminal] +---- +$ oc create -f lmvs-operatorgroup.yaml +---- + +. Create a `Subscription` CR. + +.. Define the `Subscription` CR and save the YAML file, for example, `lvms-subscription.yaml`: ++ +.Example Subscription CR +[source,yaml,subs="attributes+"] +---- +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: lvms-operator + namespace: openshift-storage + annotations: + ran.openshift.io/ztp-deploy-wave: "2" +spec: + channel: "stable-{product-version}" + name: lvms-operator + source: redhat-operators + sourceNamespace: openshift-marketplace + installPlanApproval: Manual +---- + +.. Create the `Subscription` CR by running the following command: ++ +[source,terminal] +---- +$ oc create -f lvms-subscription.yaml +---- + +.Verification + +. Verify that the installation succeeded by inspecting the CSV resource: ++ +[source,terminal] +---- +$ oc get csv -n openshift-storage +---- ++ +.Example output +[source,terminal,subs="attributes+"] +---- +NAME DISPLAY VERSION REPLACES PHASE +lvms-operator.{product-version}.x LVM Storage {product-version}x Succeeded +---- + +. Verify that {lvms} is up and running: ++ +[source,terminal] +---- +$ oc get deploy -n openshift-storage +---- ++ +.Example output +[source,terminal] +---- +NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE +openshift-storage lvms-operator 1/1 1 1 14s +---- \ No newline at end of file diff --git a/modules/ztp-lvms-installing-lvms-web-console.adoc b/modules/ztp-lvms-installing-lvms-web-console.adoc new file mode 100644 index 0000000000..3e74c5f4ca --- /dev/null +++ b/modules/ztp-lvms-installing-lvms-web-console.adoc @@ -0,0 +1,33 @@ +// Module included in the following assemblies: +// +// scalability_and_performance/ztp_far_edge/ztp-manual-install.adoc + +:_content-type: PROCEDURE +[id="ztp-lvms-installing-using-web-console_{context}"] += Installing {lvms} by using the web console + +You can use the {product-title} web console to install {lvms-first}. + +.Prerequisites + +* Install the latest version of the {rh-rhacm} Operator. +* Log in as a user with `cluster-admin` privileges. + +.Procedure + +. In the {product-title} web console, navigate to *Operators* -> *OperatorHub*. +. Search for the *{lvms}* from the list of available Operators, and then click *Install*. +. Keep the default selection of *Installation mode* (*"All namespaces on the cluster (default)"*) and *Installed Namespace* (*"openshift-operators"*) to ensure that the Operator is installed properly. +. Click *Install*. + +.Verification + +. To confirm that the installation is successful: + +.. Navigate to the *Operators* -> *Installed Operators* page. +.. Check that the Operator is installed in the `All Namespaces` namespace and its status is `Succeeded`. + +. If the Operator is not installed successfully: + +.. Navigate to the *Operators* -> *Installed Operators* page and inspect the `Status` column for any errors or failures. +.. Navigate to the *Workloads* -> *Pods* page and check the logs in any containers in the `local-storage-operator` pod that are reporting issues. \ No newline at end of file diff --git a/modules/ztp-sno-du-configuring-lvms.adoc b/modules/ztp-sno-du-configuring-lvms.adoc new file mode 100644 index 0000000000..8a45e6de2d --- /dev/null +++ b/modules/ztp-sno-du-configuring-lvms.adoc @@ -0,0 +1,12 @@ +// Module included in the following assemblies: +// +// * scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.adoc + +:_content-type: CONCEPT +[id="lvms-configuring-lvms-on-sno_{context}"] += {lvms} + +You can dynamically provision local storage on {sno} clusters with {lvms-first}. +The following YAML example configures the storage of the node to be available to {product-title} applications. + +include::snippets/ztp-storage-lvms.adoc[] \ No newline at end of file diff --git a/scalability_and_performance/ztp_far_edge/ztp-manual-install.adoc b/scalability_and_performance/ztp_far_edge/ztp-manual-install.adoc index 800f251e77..2283cf60a0 100644 --- a/scalability_and_performance/ztp_far_edge/ztp-manual-install.adoc +++ b/scalability_and_performance/ztp_far_edge/ztp-manual-install.adoc @@ -42,4 +42,13 @@ include::modules/ztp-checking-the-managed-cluster-status.adoc[leveloffset=+1] include::modules/ztp-troubleshooting-the-managed-cluster.adoc[leveloffset=+1] +include::modules/ztp-lvms-installing-lvms-web-console.adoc[leveloffset=+1] + +[role="_additional-resources"] +.Additional resources + +* xref:../../storage/persistent_storage/persistent_storage_local/persistent-storage-using-lvms.adoc#lvms-preface-sno-ran_logical-volume-manager-storage[Deploying LVM Storage on single-node OpenShift clusters] + +include::modules/ztp-lvms-installing-lvms-cli.adoc[leveloffset=+1] + include::modules/ztp-installation-crs.adoc[leveloffset=+1] diff --git a/scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.adoc b/scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.adoc index 750a0f8db7..ad9dbe44d0 100644 --- a/scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.adoc +++ b/scalability_and_performance/ztp_far_edge/ztp-reference-cluster-configuration-for-vdu.adoc @@ -80,6 +80,8 @@ include::modules/ztp-sno-du-removing-the-console-operator.adoc[leveloffset=+2] include::modules/ztp-sno-du-reducing-resource-usage-with-cluster-monitoring.adoc[leveloffset=+2] +include::modules/ztp-sno-du-configuring-lvms.adoc[leveloffset=+2] + include::modules/ztp-sno-du-disabling-network-diagnostics.adoc[leveloffset=+2] [role="_additional-resources"] diff --git a/snippets/ztp-storage-lvms.adoc b/snippets/ztp-storage-lvms.adoc new file mode 100644 index 0000000000..fb8f87189a --- /dev/null +++ b/snippets/ztp-storage-lvms.adoc @@ -0,0 +1,22 @@ +:_content-type: SNIPPET +.Recommended LVMCluster configuration +[source,yaml] +---- +apiVersion: lvm.topolvm.io/v1alpha1 +kind: LVMCluster +metadata: + name: odf-lvmcluster + namespace: openshift-storage +spec: + storage: + deviceClasses: + - name: vg1 + deviceSelector: <1> + paths: + - /usr/disk/by-path/pci-0000:11:00.0-nvme-1 + thinPoolConfig: + name: thin-pool-1 + overprovisionRatio: 10 + sizePercent: 90 +---- +<1> If no disks are specified in the `deviceSelector.paths` field, the {lvms} uses all the unused disks in the specified thin pool. \ No newline at end of file