From bc8e3704db8041f049b915d214f4e397a0981ce5 Mon Sep 17 00:00:00 2001 From: Ron Stone Date: Fri, 14 Oct 2022 08:09:58 -0400 Subject: [PATCH] Support flattened install File location changes to support DS flattend Install TOC Add minitocs and remove duplicate include directive Convert images to figures and add captions Incorporate server prep. steps Add links to post-install steps. Inline overview and HW topics in procs. Patchset 1 review updates. Rework to reuse some StX install content in partner context and some partner install content in StX context. Conditionalize ipv6_note Share aio_duplex_extend Conditionalize Openstack prod name Add HW requirement includes for worker and storage nodes. Link worker and stor reqs to DX, StD and Dedicated install topics. Fix comment notation Correct for duplicate strings in output Updates and additions based on GW review Make ansible_install_time_only note available DS. Move link target from r6 > r7 Temporarily restore alarms to satisfy build Migrate DX flattening to new layout Additional HW requirements to DX, Std and Dedicated tables. Migrate Standard flattening to new layout Roll this-ver forward to r7 Migrate Dedicated Storage flattening to new layout Address review comments. Standardize HW requirement tables Support horizontally conditionalized inline content Address additional review comments Signed-off-by: Ron Stone Change-Id: I14c8a1e51f6b6ceff69be063a654b4aadb7d3b8c --- ...apping-from-a-private-docker-registry.rest | 0 .../debian-rn-link-a90a7e432679.rest | 0 doc/source/_includes/install-patch-ctl-0.rest | 0 .../_includes/installation-prereqs.rest | 3 + .../installing-software-on-controller-0.rest | 3 + doc/source/_includes/ipv6_note_bullet.rest | 3 + .../ironic.rst => _includes/ironic.rest} | 13 +- .../ironic_hardware.rest} | 12 +- ...servers-for-installation-91baad307173.rest | 466 ++++++++++++ doc/source/_includes/rook_storage.rest | 9 + .../rook_storage_hardware.rest} | 14 +- doc/source/_this.txt | 2 +- doc/source/_vendor/vendor_strings.txt | 10 +- ...-configuration-with-controller-storage.rst | 2 +- ...ptions-all-in-one-duplex-configuration.rst | 2 +- ...ptionsall-in-one-simplex-configuration.rst | 2 +- ...d-configuration-with-dedicated-storage.rst | 2 +- .../aio_duplex_install_kubernetes.rst | 4 +- .../aio_simplex_install_kubernetes.rst | 2 +- .../controller_storage_install_kubernetes.rst | 2 +- .../rook_storage_install_kubernetes.rst | 2 +- .../virtual/aio_duplex_install_kubernetes.rst | 2 +- .../aio_simplex_install_kubernetes.rst | 2 +- .../controller_storage_install_kubernetes.rst | 2 +- .../{aio_duplex.rst => aio_duplex.txt} | 0 ...x_hardware.rst => aio_duplex_hardware.txt} | 0 .../aio_duplex_install_kubernetes.rst | 182 ++++- .../{aio_simplex.rst => aio_simplex.txt} | 0 ..._hardware.rst => aio_simplex_hardware.txt} | 10 +- .../aio_simplex_install_kubernetes.rst | 215 +++--- ...ler_storage.rst => controller_storage.txt} | 0 ...re.rst => controller_storage_hardware.txt} | 0 .../controller_storage_install_kubernetes.rst | 127 +++- ...ated_storage.rst => dedicated_storage.txt} | 0 ...are.rst => dedicated_storage_hardware.txt} | 0 .../dedicated_storage_install_kubernetes.rst | 130 +++- .../r7_release/bare_metal/ironic_install.rst | 4 + .../r7_release/bare_metal/rook_storage.rst | 22 - .../rook_storage_install_kubernetes.rst | 36 +- ...ex-install-r7-distcloud-46f4880ec78b.rest} | 2 + .../index-install-r7-8966076f0e81.rst | 72 +- .../virtual/aio_duplex_install_kubernetes.rst | 2 +- .../aio_simplex_install_kubernetes.rst | 2 +- .../controller_storage_install_kubernetes.rst | 2 +- .../_includes/aio_duplex_extend.rest} | 4 + .../_includes/ansible_install_time_only.txt | 2 +- .../shared/_includes/desc_aio_duplex.txt | 10 +- .../shared/_includes/desc_aio_simplex.txt | 11 +- .../_includes/desc_controller_storage.txt | 5 +- .../_includes/desc_dedicated_storage.txt | 14 +- .../inc-install-software-on-controller.rest | 76 +- .../_includes/installation-prereqs.rest | 139 ++++ doc/source/shared/_includes/ipv6_note.txt | 10 +- ...servers-for-installation-91baad307173.rest | 700 ++++++++++++++++++ ...-deployment-options-controller-storage.png | Bin 0 -> 98773 bytes ...x-deployment-options-dedicated-storage.png | Bin 0 -> 111169 bytes .../starlingx-deployment-options-duplex.png | Bin 0 -> 103883 bytes .../starlingx-deployment-options-simplex.png | Bin 0 -> 72126 bytes doc/source/shared/roles.txt | 1 + doc/source/shared/strings.txt | 14 + 60 files changed, 2051 insertions(+), 300 deletions(-) create mode 100644 doc/source/_includes/bootstrapping-from-a-private-docker-registry.rest create mode 100644 doc/source/_includes/debian-rn-link-a90a7e432679.rest create mode 100644 doc/source/_includes/install-patch-ctl-0.rest create mode 100644 doc/source/_includes/installation-prereqs.rest create mode 100644 doc/source/_includes/installing-software-on-controller-0.rest create mode 100644 doc/source/_includes/ipv6_note_bullet.rest rename doc/source/{deploy_install_guides/r7_release/bare_metal/ironic.rst => _includes/ironic.rest} (89%) rename doc/source/{deploy_install_guides/r7_release/bare_metal/ironic_hardware.rst => _includes/ironic_hardware.rest} (84%) create mode 100644 doc/source/_includes/prepare-servers-for-installation-91baad307173.rest create mode 100644 doc/source/_includes/rook_storage.rest rename doc/source/{deploy_install_guides/r7_release/bare_metal/rook_storage_hardware.rst => _includes/rook_storage_hardware.rest} (90%) rename doc/source/deploy_install_guides/r7_release/bare_metal/{aio_duplex.rst => aio_duplex.txt} (100%) rename doc/source/deploy_install_guides/r7_release/bare_metal/{aio_duplex_hardware.rst => aio_duplex_hardware.txt} (100%) rename doc/source/deploy_install_guides/r7_release/bare_metal/{aio_simplex.rst => aio_simplex.txt} (100%) rename doc/source/deploy_install_guides/r7_release/bare_metal/{aio_simplex_hardware.rst => aio_simplex_hardware.txt} (91%) rename doc/source/deploy_install_guides/r7_release/bare_metal/{controller_storage.rst => controller_storage.txt} (100%) rename doc/source/deploy_install_guides/r7_release/bare_metal/{controller_storage_hardware.rst => controller_storage_hardware.txt} (100%) rename doc/source/deploy_install_guides/r7_release/bare_metal/{dedicated_storage.rst => dedicated_storage.txt} (100%) rename doc/source/deploy_install_guides/r7_release/bare_metal/{dedicated_storage_hardware.rst => dedicated_storage_hardware.txt} (100%) delete mode 100644 doc/source/deploy_install_guides/r7_release/bare_metal/rook_storage.rst rename doc/source/deploy_install_guides/r7_release/distributed_cloud/{index-install-r7-distcloud-46f4880ec78b.rst => index-install-r7-distcloud-46f4880ec78b.rest} (99%) rename doc/source/{deploy_install_guides/r7_release/bare_metal/aio_duplex_extend.rst => shared/_includes/aio_duplex_extend.rest} (97%) rename doc/source/{ => shared}/_includes/ansible_install_time_only.txt (90%) create mode 100644 doc/source/shared/_includes/installation-prereqs.rest create mode 100644 doc/source/shared/_includes/prepare-servers-for-installation-91baad307173.rest create mode 100644 doc/source/shared/figures/deploy_install_guides/starlingx-deployment-options-controller-storage.png create mode 100644 doc/source/shared/figures/deploy_install_guides/starlingx-deployment-options-dedicated-storage.png create mode 100644 doc/source/shared/figures/deploy_install_guides/starlingx-deployment-options-duplex.png create mode 100644 doc/source/shared/figures/deploy_install_guides/starlingx-deployment-options-simplex.png create mode 100644 doc/source/shared/roles.txt diff --git a/doc/source/_includes/bootstrapping-from-a-private-docker-registry.rest b/doc/source/_includes/bootstrapping-from-a-private-docker-registry.rest new file mode 100644 index 000000000..e69de29bb diff --git a/doc/source/_includes/debian-rn-link-a90a7e432679.rest b/doc/source/_includes/debian-rn-link-a90a7e432679.rest new file mode 100644 index 000000000..e69de29bb diff --git a/doc/source/_includes/install-patch-ctl-0.rest b/doc/source/_includes/install-patch-ctl-0.rest new file mode 100644 index 000000000..e69de29bb diff --git a/doc/source/_includes/installation-prereqs.rest b/doc/source/_includes/installation-prereqs.rest new file mode 100644 index 000000000..4c9448bc1 --- /dev/null +++ b/doc/source/_includes/installation-prereqs.rest @@ -0,0 +1,3 @@ +.. begin-vdr-additional-prereqs +.. end-vdr-additional-prereqs + diff --git a/doc/source/_includes/installing-software-on-controller-0.rest b/doc/source/_includes/installing-software-on-controller-0.rest new file mode 100644 index 000000000..795a74f0a --- /dev/null +++ b/doc/source/_includes/installing-software-on-controller-0.rest @@ -0,0 +1,3 @@ +.. begin-install-ctl-0 +.. end-install-ctl-0 + diff --git a/doc/source/_includes/ipv6_note_bullet.rest b/doc/source/_includes/ipv6_note_bullet.rest new file mode 100644 index 000000000..a1392b21b --- /dev/null +++ b/doc/source/_includes/ipv6_note_bullet.rest @@ -0,0 +1,3 @@ +* Refer to :ref:`stx_ipv6_deployment` for details on how to deploy a + NAT64/DNS64 gateway to use StarlingX with IPv6. + diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/ironic.rst b/doc/source/_includes/ironic.rest similarity index 89% rename from doc/source/deploy_install_guides/r7_release/bare_metal/ironic.rst rename to doc/source/_includes/ironic.rest index 56173092c..5c0b5a2e3 100644 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/ironic.rst +++ b/doc/source/_includes/ironic.rest @@ -1,7 +1,3 @@ -==================================== -Bare metal Standard with Ironic R7.0 -==================================== - -------- Overview -------- @@ -56,17 +52,12 @@ Installation StarlingX currently supports only a bare metal installation of Ironic with a standard configuration, either: -* :doc:`controller_storage` +* :doc:`controller_storage_install_kubernetes` -* :doc:`dedicated_storage` +* :doc:`dedicated_storage_install_kubernetes` This guide assumes that you have a standard deployment installed and configured with 2x controllers and at least 1x compute-labeled worker node, with the StarlingX OpenStack application (|prefix|-openstack) applied. -.. toctree:: - :maxdepth: 1 - - ironic_hardware - ironic_install diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/ironic_hardware.rst b/doc/source/_includes/ironic_hardware.rest similarity index 84% rename from doc/source/deploy_install_guides/r7_release/bare_metal/ironic_hardware.rst rename to doc/source/_includes/ironic_hardware.rest index 38b352128..a3d9689dc 100644 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/ironic_hardware.rst +++ b/doc/source/_includes/ironic_hardware.rest @@ -1,6 +1,6 @@ -===================== +--------------------- Hardware Requirements -===================== +--------------------- This section describes the hardware requirements and server preparation for a **StarlingX R7.0 bare metal Ironic** deployment configuration. @@ -9,9 +9,9 @@ This section describes the hardware requirements and server preparation for a :local: :depth: 1 ------------------------------ +***************************** Minimum hardware requirements ------------------------------ +***************************** * One or more bare metal hosts as Ironic nodes as well as tenant instance node. @@ -34,9 +34,9 @@ For worker nodes: * Additional switch ports / configuration for new ports on controller, worker, and Ironic nodes, for connectivity to the Ironic provisioning network. ------------------------------------ +*********************************** BMC configuration of Ironic node(s) ------------------------------------ +*********************************** Enable BMC and allocate a static IP, username, and password in the BIOS settings. For example, set: diff --git a/doc/source/_includes/prepare-servers-for-installation-91baad307173.rest b/doc/source/_includes/prepare-servers-for-installation-91baad307173.rest new file mode 100644 index 000000000..6811d60e0 --- /dev/null +++ b/doc/source/_includes/prepare-servers-for-installation-91baad307173.rest @@ -0,0 +1,466 @@ + +===================== +Hardware Requirements +===================== + +.. begin-min-hw-reqs-common-intro + +----------------------------- +Minimum hardware requirements +----------------------------- + +This section describes the hardware requirements and server preparation for a +**StarlingX R7.0 bare metal All-in-one Simplex** deployment configuration. + +.. contents:: + :local: + :depth: 1 + +The recommended minimum hardware requirements for bare metal servers for various +host types are: + +.. end-min-hw-reqs-common-intro + +.. +.. Simplex +.. + +.. begin-prepare-servers +.. begin-min-hw-reqs-sx + +.. list-table:: + :header-rows: 1 + + * - Minimum Requirements + - All-in-one Controller Node + * - Number of servers + - 1 + * - Minimum processor class + - Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket + + or + + Single-CPU Intel® Xeon® D-15xx family, 8 cores (low-power/low-cost option) + + .. only:: starlingx + + Platform: 2x physical cores (4x logical cores if hyper-threading), (by + default, configurable) + + Application: Remaining cores + + * - Minimum memory + - 64 GB + + .. only:: starlingx + + * Platform: + + - Socket 0: 7GB (by default, configurable) + + - Socket 1: 1GB (by default, configurable) + + * Application: + + - Socket 0: Remaining memory + + - Socket 1: Remaining memory + * - Primary disk + - 500 GB SSD or |NVMe| (see :ref:`nvme_config`) + * - Additional disks + - * 1 or more 500 GB (min. 10K RPM) for Ceph |OSD| + + * Recommended, but not required: 1 or more |SSDs| or |NVMe| drives for + Ceph journals (min. 1024 MiB per |OSD| journal) + + .. only:: starlingx + + * Recommended, but not required: 1 or more 500G HDs (min. 10K RPM), + SSDs or | drives for Container ephemeral disk storage + + .. only:: openstack + + * For OpenStack, recommend 1 or more 500 GB (min. 10K RPM) for |VM| + local ephemeral storage + + + * - Minimum network ports + + .. only:: starlingx + + * MGMT: 1x1GE ( Recommended: MGMT 2x10GE LAG ). Only required if + Subcloud in |prod-dc|. + + - * |OAM|: 1x1GE |oam-hw-recommended| + + * Data: 1 or more x 10GE |data-hw-recommended| + + .. only:: starlingx + + * - USB Interface + - 1 (Only required if used for initial installation of controller-0) + + * - Boot Order + - HD, PXE, USB + + * - BIOS mode + + - BIOS or |UEFI| + + .. note:: + + |UEFI Secure Boot and |UEFI| |PXE| boot over IPv6 are not + supported. On systems with an IPv6 management network, you can use + a separate IPv4 network for PXE boot. For more information, see + :ref:`the-pxe-boot-network>`. + + * - Bios settings + - * Hyper-Threading technology enabled + + * Virtualization technology enabled + + * VT for directed I/O enabled + + * CPU power and performance policy set to performance + + * |min-proc-idle-power| CPU C state control disabled + + * Plug & play |BMC| detection disabled + +.. end-min-hw-reqs-sx + +-------------------------- +Prepare bare metal servers +-------------------------- + +.. include:: prep_servers.txt + +* Cabled for networking + + * Far-end switch ports should be properly configured to realize the networking + shown in the following diagram. + + .. figure:: /deploy_install_guides/r7_release/figures/starlingx-deployment-options-simplex.png + :scale: 50% + :alt: All-in-one Simplex deployment configuration + + *All-in-one Simplex deployment configuration* + +.. end-prepare-servers + + +.. +.. Duplex +.. + +.. begin-prepare-servers-dx +.. begin-min-hw-reqs-dx + + +This section describes the hardware requirements and server preparation for a +**StarlingX R7.0 bare metal All-in-one Duplex** deployment configuration. + +.. contents:: + :local: + :depth: 1 + +----------------------------- +Minimum hardware requirements +----------------------------- + +The recommended minimum hardware requirements for bare metal servers for various +host types are: + +.. list-table:: + :header-rows: 1 + + * - Minimum Requirements + - All-in-one Controller Node + * - Number of servers + - 2 + * - Minimum processor class + - * Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket + + or + + * Single-CPU Intel® Xeon® D-15xx family, 8 cores (low-power/low-cost option) + * - Minimum memory + - 64 GB + * - Primary disk + - 500 GB SSD or |NVMe| (see :ref:`nvme_config`) + * - Additional disks + - * 1 or more 500 GB (min. 10K RPM) for Ceph |OSD| + + * Recommended, but not required: 1 or more |SSDs| or |NVMe| drives for + Ceph journals (min. 1024 MiB per |OSD| journal) + + * For OpenStack, recommend 1 or more 500 GB (min. 10K RPM) for |VM| local + ephemeral storage + * - Minimum network ports + - * Mgmt/Cluster: 1x10GE + + * |OAM|: 1x1GE + + * Data: 1 or more x 10GE + * - Bios settings + - * Hyper-Threading technology enabled + + * Virtualization technology enabled + + * VT for directed I/O enabled + + * CPU power and performance policy set to performance + + * CPU C state control disabled + + * Plug & play |BMC| detection disabled + +.. end-min-hw-reqs-dx + +-------------------------- +Prepare bare metal servers +-------------------------- + +.. include:: prep_servers.txt + +* Cabled for networking + + * Far-end switch ports should be properly configured to realize the networking + shown in the diagram above. + + +.. end-prepare-servers-dx + +.. +.. Standard with storage +.. + +.. begin-prepare-servers-std +.. begin-min-hw-reqs-std + + +===================== +Hardware Requirements +===================== + +This section describes the hardware requirements and server preparation for a +**StarlingX R7.0 bare metal Standard with Controller Storage** deployment +configuration. + +.. contents:: + :local: + :depth: 1 + +----------------------------- +Minimum hardware requirements +----------------------------- + +The recommended minimum hardware requirements for bare metal servers for various +host types are: + +.. list-table:: + :header-rows: 1 + + * - Minimum Requirements + - Controller Node + - Worker Node + * - Number of servers + - 2 + - 2-10 + * - Minimum processor class + - Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket + - (Same as controller node) + * - Minimum memory + - 64 GB + - 32 GB + * - Primary disk + - 500 GB SSD or |NVMe| (see Configure |NVMe| Drive as Primary Disk) + - 120 GB (Minimum 10k RPM) + * - Additional disks + - * 1 or more 500 GB (min. 10K RPM) for Ceph |OSD| + + * Recommended, but not required: 1 or more |SSDs| or |NVMe| drives for + Ceph journals (min. 1024 MiB per |OSD| journal) + - For OpenStack, recommend 1 or more 500 GB (min. 10K RPM) for |VM| local + ephemeral storage + * - Minimum network ports + - * Mgmt/Cluster: 1x10GE + + * |OAM|: 1x1GE + - * Mgmt/Cluster: 1x10GE + + * Data: 1 or more x 10GE + * - Bios settings + - * Hyper-Threading technology enabled + + * Virtualization technology enabled + + * VT for directed I/O enabled + + * CPU power and performance policy set to performance + + * CPU C state control disabled + + * Plug & play |BMC| detection disabled + + - (Same as controller node) + +.. end-min-hw-reqs-std + +-------------------------- +Prepare bare metal servers +-------------------------- + +.. include:: prep_servers.txt + +* Cabled for networking + + * Far-end switch ports should be properly configured to realize the networking + shown in the diagram above. + + +.. end-prepare-servers-std + + +.. +.. Dedicated storage +.. + +.. begin-prepare-servers-ded +.. begin-min-hw-reqs-ded + +===================== +Hardware Requirements +===================== + +This section describes the hardware requirements and server preparation for a +**StarlingX R7.0 bare metal Standard with Dedicated Storage** deployment +configuration. + +.. contents:: + :local: + :depth: 1 + +----------------------------- +Minimum hardware requirements +----------------------------- + +The recommended minimum hardware requirements for bare metal servers for various +host types are: + +.. list-table:: + :header-rows: 1 + + * - Minimum Requirements + - Controller Node + - Storage Node + - Worker Node + * - Number of servers + - 2 + - 2-9 + - 2-100 + * - Minimum processor class + - Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket + - (Same as controller node) + - (Same as controller node) + * - Minimum memory + - 64 GB + - 64 GB + - 32 GB + * - Primary disk + - 500 GB SSD or |NVMe| (see :ref:`nvme_config`) + - 120 GB (min. 10k RPM) + - 120 GB (min. 10k RPM) + * - Additional disks + - None + - * 1 or more 500 GB (min. 10K RPM) for Ceph |OSD| + + * Recommended, but not required: 1 or more |SSDs| or |NVMe| drives for + Ceph journals (min. 1024 MiB per |OSD| journal) + - For OpenStack, recommend 1 or more 500 GB (min. 10K RPM) for |VM| ephemeral + storage + * - Minimum network ports + - * Mgmt/Cluster: 1x10GE + + * |OAM|: 1x1GE + - Mgmt/Cluster: 1x10GE + - * Mgmt/Cluster: 1x10GE + + * Data: 1 or more x 10GE + * - Bios settings + - * Hyper-Threading technology enabled + + * Virtualization technology enabled + + * VT for directed I/O enabled + + * CPU power and performance policy set to performance + + * CPU C state control disabled + + * Plug & play |BMC| detection disabled + - (Same as controller node) + - (Same as controller node) + +.. end-min-hw-reqs-ded + +-------------------------- +Prepare bare metal servers +-------------------------- + +.. include:: prep_servers.txt + +* Cabled for networking + + * Far-end switch ports should be properly configured to realize the networking + shown in the diagram above. + + +.. end-prepare-servers-ded + +.. start-prepare-servers-common + +Preparing servers is the first step of the |prod| installation procedure. + +.. rubric:: |proc| + +- Prior to starting the |prod| installation, ensure that the bare metal + servers are in the following state: + + - Physically installed. + + - Cabled for power. + + - Cabled for networking. + + Far-end switch ports should be properly configured to realize the + networking shown in :ref:`deployment-options` for the particular + deployment configuration you are installing. + + - All disks are wiped. + + This ensures that servers will boot from either the network or USB + storage, if present. + + .. note:: + + The disks and disk partitions need to be wiped before the install. + Installing a Debian ISO may fail with a message that the system is + in emergency mode if the disks and disk partitions are not + completely wiped before the install, especially if the server was + previously running a CentOS ISO. + + .. only:: partner + + .. include:: /_includes/debian-rn-link-a90a7e432679.rest + + - BIOS configured with Intel Virtualization (VTD, VTX) + + - Disabled for controller-only servers and storage servers. + + - Enabled for controller+worker servers and worker servers. + + - The servers are powered off. + + +.. end-prepare-servers-common \ No newline at end of file diff --git a/doc/source/_includes/rook_storage.rest b/doc/source/_includes/rook_storage.rest new file mode 100644 index 000000000..248eef779 --- /dev/null +++ b/doc/source/_includes/rook_storage.rest @@ -0,0 +1,9 @@ +-------- +Overview +-------- + +.. include:: /shared/_includes/desc_rook_storage.txt + +.. include:: /shared/_includes/ipv6_note.txt + + diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/rook_storage_hardware.rst b/doc/source/_includes/rook_storage_hardware.rest similarity index 90% rename from doc/source/deploy_install_guides/r7_release/bare_metal/rook_storage_hardware.rst rename to doc/source/_includes/rook_storage_hardware.rest index f4fb37df4..f2ad83967 100644 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/rook_storage_hardware.rst +++ b/doc/source/_includes/rook_storage_hardware.rest @@ -1,6 +1,6 @@ -===================== -Hardware Requirements -===================== +--------------------- +Hardware requirements +--------------------- This section describes the hardware requirements and server preparation for a **StarlingX R7.0 bare metal Standard with Rook Storage** deployment @@ -64,10 +64,4 @@ Prepare bare metal servers * Cabled for networking * Far-end switch ports should be properly configured to realize the networking - shown in the following diagram. - - .. figure:: /deploy_install_guides/r7_release/figures/starlingx-deployment-options-controller-storage.png - :scale: 50% - :alt: Standard with Rook Storage deployment configuration - - *Standard with Rook Storage deployment configuration* \ No newline at end of file + shown in the diagram above. diff --git a/doc/source/_this.txt b/doc/source/_this.txt index 28fb8b9e9..27cf94f4f 100644 --- a/doc/source/_this.txt +++ b/doc/source/_this.txt @@ -1,3 +1,3 @@ .. |this-prod| replace:: |prod-long| -.. |this-ver| replace:: r6.0 +.. |this-ver| replace:: r7.0 diff --git a/doc/source/_vendor/vendor_strings.txt b/doc/source/_vendor/vendor_strings.txt index 92266a17f..cd16c29c9 100755 --- a/doc/source/_vendor/vendor_strings.txt +++ b/doc/source/_vendor/vendor_strings.txt @@ -66,7 +66,7 @@ .. StarlingX (|prod|) -.. |prod-ver| replace:: 6.0 +.. |prod-ver| replace:: |this-ver| .. Version at which we cut over to Deb. .. |deb-release-ver| replace:: release 8.0 @@ -97,6 +97,14 @@ .. |only-target| replace:: StarlingX +.. |bare-metal| replace:: bare metal + +.. |reg-string| replace:: public open source registries + +.. +.. Custom refs +.. + .. Used in installing-a-subcloud-without-redfish-platform-management-service.rst because target lable differs here/partner contexts. diff --git a/doc/source/deploy/kubernetes/deployment-and-configuration-options-standard-configuration-with-controller-storage.rst b/doc/source/deploy/kubernetes/deployment-and-configuration-options-standard-configuration-with-controller-storage.rst index 72c74a028..04f112c6a 100644 --- a/doc/source/deploy/kubernetes/deployment-and-configuration-options-standard-configuration-with-controller-storage.rst +++ b/doc/source/deploy/kubernetes/deployment-and-configuration-options-standard-configuration-with-controller-storage.rst @@ -10,7 +10,7 @@ Standard Configuration with Controller Storage back-end for Kubernetes |PVCs| deployed on the controller nodes instead of using dedicated storage nodes. -.. image:: /deploy_install_guides/r6_release/figures/starlingx-deployment-options-controller-storage.png +.. image:: /shared/figures/deploy_install_guides/starlingx-deployment-options-controller-storage.png :width: 800 See :ref:`Common Components ` for a description of common diff --git a/doc/source/deploy/kubernetes/deployment-config-options-all-in-one-duplex-configuration.rst b/doc/source/deploy/kubernetes/deployment-config-options-all-in-one-duplex-configuration.rst index 3f6b68b90..d8e9d2c26 100644 --- a/doc/source/deploy/kubernetes/deployment-config-options-all-in-one-duplex-configuration.rst +++ b/doc/source/deploy/kubernetes/deployment-config-options-all-in-one-duplex-configuration.rst @@ -14,7 +14,7 @@ redundant pair of hosts. :local: :depth: 1 -.. image:: /deploy_install_guides/r6_release/figures/starlingx-deployment-options-duplex.png +.. image:: /shared/figures/deploy_install_guides/starlingx-deployment-options-duplex.png :width: 800 See :ref:`Common Components ` for a description of common diff --git a/doc/source/deploy/kubernetes/deployment-config-optionsall-in-one-simplex-configuration.rst b/doc/source/deploy/kubernetes/deployment-config-optionsall-in-one-simplex-configuration.rst index 693f841a6..000ac53bd 100644 --- a/doc/source/deploy/kubernetes/deployment-config-optionsall-in-one-simplex-configuration.rst +++ b/doc/source/deploy/kubernetes/deployment-config-optionsall-in-one-simplex-configuration.rst @@ -10,7 +10,7 @@ The AIO Simplex deployment configuration provides a scaled-down |prod| that combines controller, storage, and worker functionality on a single non-redundant host. -.. image:: /deploy_install_guides/r6_release/figures/starlingx-deployment-options-simplex.png +.. image:: /shared/figures/deploy_install_guides/starlingx-deployment-options-simplex.png :width: 800 .. note:: diff --git a/doc/source/deploy/kubernetes/standard-configuration-with-dedicated-storage.rst b/doc/source/deploy/kubernetes/standard-configuration-with-dedicated-storage.rst index 3ad5b6fdd..d5249c4a7 100644 --- a/doc/source/deploy/kubernetes/standard-configuration-with-dedicated-storage.rst +++ b/doc/source/deploy/kubernetes/standard-configuration-with-dedicated-storage.rst @@ -9,7 +9,7 @@ Standard Configuration with Dedicated Storage Deployment of |prod| with dedicated storage nodes provides the highest capacity \(single region\), performance, and scalability. -.. image:: /deploy_install_guides/r6_release/figures/starlingx-deployment-options-dedicated-storage.png +.. image:: /shared/figures/deploy_install_guides/starlingx-deployment-options-dedicated-storage.png :width: 800 See :ref:`Common Components ` for a description of common diff --git a/doc/source/deploy_install_guides/r6_release/bare_metal/aio_duplex_install_kubernetes.rst b/doc/source/deploy_install_guides/r6_release/bare_metal/aio_duplex_install_kubernetes.rst index ba5704dd0..743612f94 100644 --- a/doc/source/deploy_install_guides/r6_release/bare_metal/aio_duplex_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r6_release/bare_metal/aio_duplex_install_kubernetes.rst @@ -91,7 +91,7 @@ Bootstrap system on controller-0 .. only:: starlingx - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: @@ -1166,4 +1166,4 @@ machine. .. only:: partner - .. include:: /_includes/72hr-to-license.rest \ No newline at end of file + .. include:: /_includes/72hr-to-license.rest diff --git a/doc/source/deploy_install_guides/r6_release/bare_metal/aio_simplex_install_kubernetes.rst b/doc/source/deploy_install_guides/r6_release/bare_metal/aio_simplex_install_kubernetes.rst index cbaf1cc29..3e924deac 100644 --- a/doc/source/deploy_install_guides/r6_release/bare_metal/aio_simplex_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r6_release/bare_metal/aio_simplex_install_kubernetes.rst @@ -91,7 +91,7 @@ Bootstrap system on controller-0 .. only:: starlingx - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: diff --git a/doc/source/deploy_install_guides/r6_release/bare_metal/controller_storage_install_kubernetes.rst b/doc/source/deploy_install_guides/r6_release/bare_metal/controller_storage_install_kubernetes.rst index 4a8506088..036607ebf 100644 --- a/doc/source/deploy_install_guides/r6_release/bare_metal/controller_storage_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r6_release/bare_metal/controller_storage_install_kubernetes.rst @@ -90,7 +90,7 @@ Bootstrap system on controller-0 .. only:: starlingx - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: diff --git a/doc/source/deploy_install_guides/r6_release/bare_metal/rook_storage_install_kubernetes.rst b/doc/source/deploy_install_guides/r6_release/bare_metal/rook_storage_install_kubernetes.rst index 6ccc0d0f4..c65a5012b 100644 --- a/doc/source/deploy_install_guides/r6_release/bare_metal/rook_storage_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r6_release/bare_metal/rook_storage_install_kubernetes.rst @@ -98,7 +98,7 @@ Bootstrap system on controller-0 The default location where Ansible looks for and imports user configuration override files for hosts. For example: ``$HOME/.yml``. - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: diff --git a/doc/source/deploy_install_guides/r6_release/virtual/aio_duplex_install_kubernetes.rst b/doc/source/deploy_install_guides/r6_release/virtual/aio_duplex_install_kubernetes.rst index b59c57cae..4078a27e6 100644 --- a/doc/source/deploy_install_guides/r6_release/virtual/aio_duplex_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r6_release/virtual/aio_duplex_install_kubernetes.rst @@ -84,7 +84,7 @@ On virtual controller-0: The default location where Ansible looks for and imports user configuration override files for hosts. For example: ``$HOME/.yml``. - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: diff --git a/doc/source/deploy_install_guides/r6_release/virtual/aio_simplex_install_kubernetes.rst b/doc/source/deploy_install_guides/r6_release/virtual/aio_simplex_install_kubernetes.rst index 63d4cac0d..8390fcf2c 100644 --- a/doc/source/deploy_install_guides/r6_release/virtual/aio_simplex_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r6_release/virtual/aio_simplex_install_kubernetes.rst @@ -85,7 +85,7 @@ On virtual controller-0: The default location where Ansible looks for and imports user configuration override files for hosts. For example: ``$HOME/.yml``. - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: diff --git a/doc/source/deploy_install_guides/r6_release/virtual/controller_storage_install_kubernetes.rst b/doc/source/deploy_install_guides/r6_release/virtual/controller_storage_install_kubernetes.rst index e9394ba87..e11630189 100644 --- a/doc/source/deploy_install_guides/r6_release/virtual/controller_storage_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r6_release/virtual/controller_storage_install_kubernetes.rst @@ -89,7 +89,7 @@ On virtual controller-0: The default location where Ansible looks for and imports user configuration override files for hosts. For example: ``$HOME/.yml``. - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex.txt similarity index 100% rename from doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex.rst rename to doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex.txt diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex_hardware.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex_hardware.txt similarity index 100% rename from doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex_hardware.rst rename to doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex_hardware.txt diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex_install_kubernetes.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex_install_kubernetes.rst index 3925f2e9c..c64c227c3 100644 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex_install_kubernetes.rst @@ -5,34 +5,160 @@ Install Kubernetes Platform on All-in-one Duplex ================================================ + .. only:: partner .. include:: /_includes/install-kubernetes-null-labels.rest -.. only:: starlingx +.. contents:: |minitoc| + :local: + :depth: 1 - This section describes the steps to install the StarlingX Kubernetes - platform on a **StarlingX R7.0 All-in-one Duplex** deployment - configuration. +-------- +Overview +-------- - .. contents:: - :local: - :depth: 1 +.. _aiodx-installation-prereqs: - --------------------- - Create a bootable USB - --------------------- +.. include:: /shared/_includes/desc_aio_duplex.txt - Refer to :ref:`Bootable USB ` for instructions on how - to create a bootable USB with the StarlingX ISO on your system. +.. _installation-prereqs-dx: - -------------------------------- - Install software on controller-0 - -------------------------------- +----------------------------- +Minimum hardware requirements +----------------------------- - .. include:: /shared/_includes/inc-install-software-on-controller.rest - :start-after: incl-install-software-controller-0-aio-start - :end-before: incl-install-software-controller-0-aio-end +.. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest + :start-after: begin-min-hw-reqs-dx + :end-before: end-min-hw-reqs-dx + +-------------------------- +Installation Prerequisites +-------------------------- + +.. include:: /shared/_includes/installation-prereqs.rest + :start-after: begin-install-prereqs + :end-before: end-install-prereqs + +-------------------------------- +Prepare Servers for Installation +-------------------------------- + +.. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest + :start-after: start-prepare-servers-common + :end-before: end-prepare-servers-common + +-------------------------------- +Install Software on Controller-0 +-------------------------------- + +.. include:: /shared/_includes/inc-install-software-on-controller.rest + :start-after: incl-install-software-controller-0-aio-start + :end-before: incl-install-software-controller-0-aio-end + + + +.. .. figure:: /shared/figures/deploy_install_guides/starlingx-deployment-options-duplex.png +.. :width: 800 + +.. All-in-one Duplex deployment configuration + +.. _installation-prereqs-duplex: + +.. -------------------------- +.. Installation Prerequisites +.. -------------------------- + +.. .. include:: /_includes/installation-prereqs.rest +.. :start-after: begin-install-prereqs +.. :end-before: end-install-prereqs + +.. -------------------------------- +.. Prepare Servers for Installation +.. -------------------------------- + +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-min-hw-reqs-common-intro +.. :end-before: end-min-hw-reqs-common-intro + +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-min-hw-reqs-dx +.. :end-before: end-min-hw-reqs-dx + +.. The following requirements must be met if :ref:`extending a Duplex +.. installation `. + +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-worker-hw-reqs +.. :end-before: end-worker-hw-reqs + +.. -------------------------------- +.. Install Software on Controller-0 +.. -------------------------------- + +.. .. include:: /_includes/installing-software-on-controller-0.rest +.. :start-after: begin-install-ctl-0 +.. :end-before: end-install-ctl-0 + +.. .. only:: starlingx + +.. .. contents:: |minitoc| +.. :local: +.. :depth: 1 + +.. .. -------- +.. .. Overview +.. .. -------- + +.. .. .. include:: /shared/_includes/installation-prereqs.rest +.. .. :start-after: begin-install-prereqs-dx +.. .. :end-before: end-install-prereqs-dx + +.. --------------------- +.. Hardware Requirements +.. --------------------- + +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-min-hw-reqs-common-intro +.. :end-before: end-min-hw-reqs-common-intro + +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-min-hw-reqs-dx +.. :end-before: end-min-hw-reqs-dx + +.. The following requirements must be met if :ref:`extending a Duplex +.. installation `. + +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-worker-hw-reqs +.. :end-before: end-worker-hw-reqs + +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: start-prepare-servers-common +.. :end-before: end-prepare-servers-common + +.. This section describes the steps to install the StarlingX Kubernetes +.. platform on a **StarlingX R7.0 All-in-one Duplex** deployment +.. configuration. + +.. .. contents:: +.. :local: +.. :depth: 1 + +.. --------------------- +.. Create a bootable USB +.. --------------------- + +.. Refer to :ref:`Bootable USB ` for instructions on how +.. to create a bootable USB with the StarlingX ISO on your system. + +.. -------------------------------- +.. Install software on controller-0 +.. -------------------------------- + +.. .. include:: /shared/_includes/inc-install-software-on-controller.rest +.. :start-after: incl-install-software-controller-0-aio-start +.. :end-before: incl-install-software-controller-0-aio-end -------------------------------- Bootstrap system on controller-0 @@ -91,7 +217,7 @@ Bootstrap system on controller-0 .. only:: starlingx - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: @@ -1155,6 +1281,16 @@ machine. .. include:: /_includes/bootstrapping-and-deploying-starlingx.rest +.. _extend-dx-with-workers: + +-------------------------------------------- +Optionally Extend Capacity with Worker Nodes +-------------------------------------------- + +.. include:: /shared/_includes/aio_duplex_extend.rest + :start-after: start-aio-duplex-extend + :end-before: end-aio-duplex-extend + .. only:: starlingx ---------- @@ -1166,4 +1302,10 @@ machine. .. only:: partner - .. include:: /_includes/72hr-to-license.rest \ No newline at end of file + .. include:: /_includes/72hr-to-license.rest + + Complete system configuration by reviewing procedures in: + + - :ref:`index-security-84d0d8aa401b` + - :ref:`index-sysconf-d511820651f0` + - :ref:`index-admintasks-768a6e9aaeff` diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex.txt similarity index 100% rename from doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex.rst rename to doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex.txt diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex_hardware.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex_hardware.txt similarity index 91% rename from doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex_hardware.rst rename to doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex_hardware.txt index ae29b0682..a605f5e22 100644 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex_hardware.rst +++ b/doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex_hardware.txt @@ -62,10 +62,10 @@ Prepare bare metal servers * Cabled for networking * Far-end switch ports should be properly configured to realize the networking - shown in the following diagram. + shown in the diagram above. - .. figure:: /deploy_install_guides/r7_release/figures/starlingx-deployment-options-simplex.png - :scale: 50% - :alt: All-in-one Simplex deployment configuration + .. .. figure:: /deploy_install_guides/r7_release/figures/starlingx-deployment-options-simplex.png + .. :scale: 50% + .. :alt: All-in-one Simplex deployment configuration - *All-in-one Simplex deployment configuration* \ No newline at end of file + .. *All-in-one Simplex deployment configuration* diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex_install_kubernetes.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex_install_kubernetes.rst index bfdf0e72a..16fbe0e3e 100644 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r7_release/bare_metal/aio_simplex_install_kubernetes.rst @@ -5,34 +5,56 @@ Install Kubernetes Platform on All-in-one Simplex ================================================= + .. only:: partner .. include:: /_includes/install-kubernetes-null-labels.rest -.. only:: starlingx +.. contents:: |minitoc| + :local: + :depth: 1 - This section describes the steps to install the StarlingX Kubernetes - platform on a **StarlingX R7.0 All-in-one Simplex** deployment - configuration. +-------- +Overview +-------- - .. contents:: - :local: - :depth: 1 +.. _aiosx-installation-prereqs: - --------------------- - Create a bootable USB - --------------------- +.. include:: /shared/_includes/desc_aio_simplex.txt - Refer to :ref:`Bootable USB ` for instructions on how - to create a bootable USB with the StarlingX ISO on your system. +.. _installation-prereqs: - -------------------------------- - Install software on controller-0 - -------------------------------- +----------------------------- +Minimum hardware requirements +----------------------------- + +.. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest + :start-after: begin-min-hw-reqs-sx + :end-before: end-min-hw-reqs-sx - .. include:: /shared/_includes/inc-install-software-on-controller.rest - :start-after: incl-install-software-controller-0-aio-start - :end-before: incl-install-software-controller-0-aio-end +-------------------------- +Installation Prerequisites +-------------------------- + +.. include:: /shared/_includes/installation-prereqs.rest + :start-after: begin-install-prereqs + :end-before: end-install-prereqs + +-------------------------------- +Prepare Servers for Installation +-------------------------------- + +.. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest + :start-after: start-prepare-servers-common + :end-before: end-prepare-servers-common + +-------------------------------- +Install Software on Controller-0 +-------------------------------- + +.. include:: /shared/_includes/inc-install-software-on-controller.rest + :start-after: incl-install-software-controller-0-aio-start + :end-before: incl-install-software-controller-0-aio-end -------------------------------- Bootstrap system on controller-0 @@ -89,9 +111,8 @@ Bootstrap system on controller-0 configuration override files for hosts. For example: ``$HOME/.yml``. - .. only:: starlingx - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: @@ -214,9 +235,9 @@ The newly installed controller needs to be configured. :: - OAM_IF= - system host-if-modify controller-0 $OAM_IF -c platform - system interface-network-assign controller-0 $OAM_IF oam + ~(keystone_admin)$ OAM_IF= + ~(keystone_admin)$ system host-if-modify controller-0 $OAM_IF -c platform + ~(keystone_admin)$ system interface-network-assign controller-0 $OAM_IF oam To configure a vlan or aggregated ethernet interface, see :ref:`Node Interfaces `. @@ -225,7 +246,7 @@ The newly installed controller needs to be configured. :: - system ntp-modify ntpservers=0.pool.ntp.org,1.pool.ntp.org + ~(keystone_admin)$ system ntp-modify ntpservers=0.pool.ntp.org,1.pool.ntp.org To configure |PTP| instead of |NTP|, see :ref:`PTP Server Configuration `. @@ -250,9 +271,9 @@ The newly installed controller needs to be configured. .. parsed-literal:: - system host-label-assign controller-0 openstack-control-plane=enabled - system host-label-assign controller-0 openstack-compute-node=enabled - system host-label-assign controller-0 |vswitch-label| + ~(keystone_admin)$ system host-label-assign controller-0 openstack-control-plane=enabled + ~(keystone_admin)$ system host-label-assign controller-0 openstack-compute-node=enabled + ~(keystone_admin)$ system host-label-assign controller-0 |vswitch-label| .. note:: @@ -261,7 +282,7 @@ The newly installed controller needs to be configured. .. code-block:: none - system host-label-assign controller-0 sriov=enabled + ~(keystone_admin)$ system host-label-assign controller-0 sriov=enabled .. only:: partner @@ -275,10 +296,10 @@ The newly installed controller needs to be configured. Increase the number of platform cores with the following commands: - .. code-block:: + .. code-block:: bash # Assign 6 cores on processor/numa-node 0 on controller-0 to platform - system host-cpu-modify -f platform -p0 6 controller-0 + ~(keystone_admin)$ system host-cpu-modify -f platform -p0 6 controller-0 #. Due to the additional OpenStack services' containers running on the controller host, the size of the Docker filesystem needs to be @@ -287,9 +308,9 @@ The newly installed controller needs to be configured. .. code-block:: bash # check existing size of docker fs - system host-fs-list controller-0 + ~(keystone_admin)$ system host-fs-list controller-0 # check available space (Avail Size (GiB)) in cgts-vg LVG where docker fs is located - system host-lvg-list controller-0 + ~(keystone_admin)$ system host-lvg-list controller-0 # if existing docker fs size + cgts-vg available space is less than # 80G, you will need to add a new disk partition to cgts-vg. # There must be at least 20GB of available space after the docker @@ -299,22 +320,22 @@ The newly installed controller needs to be configured. # ( if not use another unused disk ) # Get device path of ROOT DISK - system host-show controller-0 | fgrep rootfs + ~(keystone_admin)$ system host-show controller-0 | fgrep rootfs # Get UUID of ROOT DISK by listing disks - system host-disk-list controller-0 + ~(keystone_admin)$ system host-disk-list controller-0 # Create new PARTITION on ROOT DISK, and take note of new partition's 'uuid' in response # Use a partition size such that you’ll be able to increase docker fs size from 30G to 60G - PARTITION_SIZE=30 - system host-disk-partition-add -t lvm_phys_vol controller-0 ${PARTITION_SIZE} + ~(keystone_admin)$ PARTITION_SIZE=30 + ~(keystone_admin)$ system host-disk-partition-add -t lvm_phys_vol controller-0 ${PARTITION_SIZE} # Add new partition to ‘cgts-vg’ local volume group - system host-pv-add controller-0 cgts-vg - sleep 2 # wait for partition to be added + ~(keystone_admin)$ system host-pv-add controller-0 cgts-vg + ~(keystone_admin)$ sleep 2 # wait for partition to be added # Increase docker filesystem to 60G - system host-fs-modify controller-0 docker=60 + ~(keystone_admin)$ system host-fs-modify controller-0 docker=60 #. **For OpenStack only:** Configure the system setting for the vSwitch. @@ -338,7 +359,7 @@ The newly installed controller needs to be configured. :: - system modify --vswitch_type none + ~(keystone_admin)$ system modify --vswitch_type none This does not run any vSwitch directly on the host, instead, it uses the containerized |OVS| defined in the helm charts of @@ -348,7 +369,7 @@ The newly installed controller needs to be configured. .. parsed-literal:: - system modify --vswitch_type |ovs-dpdk| + ~(keystone_admin)$ system modify --vswitch_type |ovs-dpdk| Default recommendation for an |AIO|-controller is to use a single core for |OVS-DPDK| vSwitch. @@ -356,7 +377,7 @@ The newly installed controller needs to be configured. .. code-block:: bash # assign 1 core on processor/numa-node 0 on controller-0 to vswitch - system host-cpu-modify -f vswitch -p0 1 controller-0 + ~(keystone_admin)$ system host-cpu-modify -f vswitch -p0 1 controller-0 When using |OVS-DPDK|, configure 1G of huge pages for vSwitch memory on each |NUMA| node on the host. It is recommended @@ -372,10 +393,10 @@ The newly installed controller needs to be configured. .. code-block:: # Assign 1x 1G huge page on processor/numa-node 0 on controller-0 to vswitch - system host-memory-modify -f vswitch -1G 1 controller-0 0 + ~(keystone_admin)$ system host-memory-modify -f vswitch -1G 1 controller-0 0 # Assign 1x 1G huge page on processor/numa-node 1 on controller-0 to vswitch - system host-memory-modify -f vswitch -1G 1 controller-0 1 + ~(keystone_admin)$ system host-memory-modify -f vswitch -1G 1 controller-0 1 .. important:: @@ -390,10 +411,10 @@ The newly installed controller needs to be configured. .. code-block:: bash # assign 1x 1G huge page on processor/numa-node 0 on controller-0 to applications - system host-memory-modify -f application -1G 10 controller-0 0 + ~(keystone_admin)$ system host-memory-modify -f application -1G 10 controller-0 0 # assign 1x 1G huge page on processor/numa-node 1 on controller-0 to applications - system host-memory-modify -f application -1G 10 controller-0 1 + ~(keystone_admin)$ system host-memory-modify -f application -1G 10 controller-0 1 .. note:: @@ -405,19 +426,19 @@ The newly installed controller needs to be configured. .. code-block:: bash - export NODE=controller-0 + ~(keystone_admin)$ export NODE=controller-0 # Create ‘nova-local’ local volume group - system host-lvg-add ${NODE} nova-local + ~(keystone_admin)$ system host-lvg-add ${NODE} nova-local # Get UUID of DISK to create PARTITION to be added to ‘nova-local’ local volume group # CEPH OSD Disks can NOT be used # For best performance, do NOT use system/root disk, use a separate physical disk. # List host’s disks and take note of UUID of disk to be used - system host-disk-list ${NODE} + ~(keystone_admin)$ system host-disk-list ${NODE} # ( if using ROOT DISK, select disk with device_path of - # ‘system host-show ${NODE} | fgrep rootfs’ ) + # host-show ${NODE} | fgrep rootfs’ ) # Create new PARTITION on selected disk, and take note of new partition’s ‘uuid’ in response # The size of the PARTITION needs to be large enough to hold the aggregate size of @@ -426,13 +447,13 @@ The newly installed controller needs to be configured. # The following example uses a small PARTITION size such that you can fit it on the # root disk, if that is what you chose above. # Additional PARTITION(s) from additional disks can be added later if required. - PARTITION_SIZE=30 + ~(keystone_admin)$ PARTITION_SIZE=30 - system host-disk-partition-add -t lvm_phys_vol ${NODE} ${PARTITION_SIZE} + ~(keystone_admin)$ system host-disk-partition-add -t lvm_phys_vol ${NODE} ${PARTITION_SIZE} # Add new partition to ‘nova-local’ local volume group - system host-pv-add ${NODE} nova-local - sleep 2 + ~(keystone_admin)$ system host-pv-add ${NODE} nova-local + ~(keystone_admin)$ sleep 2 #. **For OpenStack only:** Configure data interfaces for controller-0. @@ -449,31 +470,31 @@ The newly installed controller needs to be configured. .. code-block:: bash - export NODE=controller-0 + ~(keystone_admin)$ NODE=controller-0 # List inventoried host’s ports and identify ports to be used as ‘data’ interfaces, # based on displayed linux port name, pci address and device type. - system host-port-list ${NODE} + ~(keystone_admin)$ system host-port-list ${NODE} # List host’s auto-configured ‘ethernet’ interfaces, # find the interfaces corresponding to the ports identified in previous step, and # take note of their UUID - system host-if-list -a ${NODE} + ~(keystone_admin)$ system host-if-list -a ${NODE} # Modify configuration for these interfaces # Configuring them as ‘data’ class interfaces, MTU of 1500 and named data# - system host-if-modify -m 1500 -n data0 -c data ${NODE} - system host-if-modify -m 1500 -n data1 -c data ${NODE} + ~(keystone_admin)$ system host-if-modify -m 1500 -n data0 -c data ${NODE} + ~(keystone_admin)$ system host-if-modify -m 1500 -n data1 -c data ${NODE} # Create Data Networks that vswitch 'data' interfaces will be connected to - DATANET0='datanet0' - DATANET1='datanet1' - system datanetwork-add ${DATANET0} vlan - system datanetwork-add ${DATANET1} vlan + ~(keystone_admin)$ DATANET0='datanet0' + ~(keystone_admin)$ DATANET1='datanet1' + ~(keystone_admin)$ system datanetwork-add ${DATANET0} vlan + ~(keystone_admin)$ system datanetwork-add ${DATANET1} vlan # Assign Data Networks to Data Interfaces - system interface-datanetwork-assign ${NODE} ${DATANET0} - system interface-datanetwork-assign ${NODE} ${DATANET1} + ~(keystone_admin)$ system interface-datanetwork-assign ${NODE} ${DATANET0} + ~(keystone_admin)$ system interface-datanetwork-assign ${NODE} ${DATANET1} ***************************************** @@ -496,32 +517,32 @@ Optionally Configure PCI-SRIOV Interfaces .. code-block:: bash - export NODE=controller-0 + ~(keystone_admin)$ export NODE=controller-0 # List inventoried host’s ports and identify ports to be used as ‘pci-sriov’ interfaces, # based on displayed linux port name, pci address and device type. - system host-port-list ${NODE} + ~(keystone_admin)$ system host-port-list ${NODE} # List host’s auto-configured ‘ethernet’ interfaces, # find the interfaces corresponding to the ports identified in previous step, and # take note of their UUID - system host-if-list -a ${NODE} + ~(keystone_admin)$ system host-if-list -a ${NODE} # Modify configuration for these interfaces # Configuring them as ‘pci-sriov’ class interfaces, MTU of 1500 and named sriov# - system host-if-modify -m 1500 -n sriov0 -c pci-sriov ${NODE} -N - system host-if-modify -m 1500 -n sriov1 -c pci-sriov ${NODE} -N + ~(keystone_admin)$ system host-if-modify -m 1500 -n sriov0 -c pci-sriov ${NODE} -N + ~(keystone_admin)$ system host-if-modify -m 1500 -n sriov1 -c pci-sriov ${NODE} -N # If not already created, create Data Networks that the 'pci-sriov' interfaces will # be connected to - DATANET0='datanet0' - DATANET1='datanet1' - system datanetwork-add ${DATANET0} vlan - system datanetwork-add ${DATANET1} vlan + ~(keystone_admin)$ DATANET0='datanet0' + ~(keystone_admin)$ DATANET1='datanet1' + ~(keystone_admin)$ system datanetwork-add ${DATANET0} vlan + ~(keystone_admin)$ system datanetwork-add ${DATANET1} vlan # Assign Data Networks to PCI-SRIOV Interfaces - system interface-datanetwork-assign ${NODE} ${DATANET0} - system interface-datanetwork-assign ${NODE} ${DATANET1} + ~(keystone_admin)$ system interface-datanetwork-assign ${NODE} ${DATANET0} + ~(keystone_admin)$ system interface-datanetwork-assign ${NODE} ${DATANET1} * **For Kubernetes Only:** To enable using |SRIOV| network attachments for @@ -531,19 +552,19 @@ Optionally Configure PCI-SRIOV Interfaces :: - system host-label-assign controller-0 sriovdp=enabled + ~(keystone_admin)$ system host-label-assign controller-0 sriovdp=enabled - * If planning on running |DPDK| in Kubernetes hosted application + * If you are planning on running |DPDK| in Kubernetes hosted application containers on this host, configure the number of 1G Huge pages required on both |NUMA| nodes. .. code-block:: bash # assign 10x 1G huge page on processor/numa-node 0 on controller-0 to applications - system host-memory-modify -f application controller-0 0 -1G 10 + ~(keystone_admin)$ system host-memory-modify -f application controller-0 0 -1G 10 # assign 10x 1G huge page on processor/numa-node 1 on controller-0 to applications - system host-memory-modify -f application controller-0 1 -1G 10 + ~(keystone_admin)$ system host-memory-modify -f application controller-0 1 -1G 10 *************************************************************** @@ -570,7 +591,7 @@ For host-based Ceph: :: - system storage-backend-add ceph --confirmed + ~(keystone_admin)$ system storage-backend-add ceph --confirmed #. Add an |OSD| on controller-0 for host-based Ceph: @@ -578,13 +599,13 @@ For host-based Ceph: # List host’s disks and identify disks you want to use for CEPH OSDs, taking note of their UUID # By default, /dev/sda is being used as system disk and can not be used for OSD. - system host-disk-list controller-0 + ~(keystone_admin)$ system host-disk-list controller-0 # Add disk as an OSD storage - system host-stor-add controller-0 osd + ~(keystone_admin)$ system host-stor-add controller-0 osd # List OSD storage devices - system host-stor-list controller-0 + ~(keystone_admin)$ system host-stor-list controller-0 .. only:: starlingx @@ -595,15 +616,15 @@ For host-based Ceph: :: - system storage-backend-add ceph-rook --confirmed + ~(keystone_admin)$ system storage-backend-add ceph-rook --confirmed #. Assign Rook host labels to controller-0 in support of installing the rook-ceph-apps manifest/helm-charts later: :: - system host-label-assign controller-0 ceph-mon-placement=enabled - system host-label-assign controller-0 ceph-mgr-placement=enabled + ~(keystone_admin)$ system host-label-assign controller-0 ceph-mon-placement=enabled + ~(keystone_admin)$ system host-label-assign controller-0 ceph-mgr-placement=enabled .. incl-config-controller-0-openstack-specific-aio-simplex-end: @@ -619,7 +640,7 @@ Unlock controller-0 to bring it into service: :: - system host-unlock controller-0 + ~(keystone_admin)$ system host-unlock controller-0 Controller-0 will reboot in order to apply configuration changes and come into service. This can take 5-10 minutes, depending on the performance of the host @@ -640,7 +661,7 @@ machine. :: $ source /etc/platform/openrc - $ system application-list + ~(keystone_admin)$ system application-list +---------------------+---------+-------------------------------+---------------+----------+-----------+ | application | version | manifest name | manifest file | status | progress | +---------------------+---------+-------------------------------+---------------+----------+-----------+ @@ -653,9 +674,9 @@ machine. :: - system host-disk-wipe -s --confirm controller-0 /dev/sdb + ~(keystone_admin)$ system host-disk-wipe -s --confirm controller-0 /dev/sdb - values.yaml for rook-ceph-apps. + ``values.yaml`` for rook-ceph-apps. .. code-block:: yaml @@ -668,19 +689,19 @@ machine. :: - system helm-override-update rook-ceph-apps rook-ceph kube-system --values values.yaml + ~(keystone_admin)$ system helm-override-update rook-ceph-apps rook-ceph kube-system --values values.yaml #. Apply the rook-ceph-apps application. :: - system application-apply rook-ceph-apps + ~(keystone_admin)$ system application-apply rook-ceph-apps #. Wait for |OSDs| pod to be ready. :: - kubectl get pods -n kube-system + ~(keystone_admin)$ kubectl get pods -n kube-system rook--ceph-crashcollector-controller-0-764c7f9c8-bh5c7 1/1 Running 0 62m rook--ceph-mgr-a-69df96f57-9l28p 1/1 Running 0 63m rook--ceph-mon-a-55fff49dcf-ljfnx 1/1 Running 0 63m @@ -702,3 +723,9 @@ machine. .. only:: partner .. include:: /_includes/72hr-to-license.rest + +Complete system configuration by reviewing procedures in: + +- :ref:`index-security-84d0d8aa401b` +- :ref:`index-sysconf-d511820651f0` +- :ref:`index-admintasks-768a6e9aaeff` diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage.txt similarity index 100% rename from doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage.rst rename to doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage.txt diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage_hardware.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage_hardware.txt similarity index 100% rename from doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage_hardware.rst rename to doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage_hardware.txt diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage_install_kubernetes.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage_install_kubernetes.rst index 23a160d63..9aff9f288 100644 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r7_release/bare_metal/controller_storage_install_kubernetes.rst @@ -1,3 +1,4 @@ +|hideable| .. _controller_storage_install_kubernetes_r7: @@ -5,30 +6,116 @@ Install Kubernetes Platform on Standard with Controller Storage =============================================================== -.. contents:: +.. contents:: |minitoc| :local: :depth: 1 -.. only:: starlingx +.. only:: partner - This section describes the steps to install the StarlingX Kubernetes - platform on a **StarlingX R7.0 Standard with Controller Storage** - deployment configuration. + .. include:: /_includes/install-kubernetes-null-labels.rest - ------------------- - Create bootable USB - ------------------- +-------- +Overview +-------- - Refer to :ref:`Bootable USB ` for instructions on how to - create a bootable USB with the StarlingX ISO on your system. +.. _std-installation-prereqs: - -------------------------------- - Install software on controller-0 - -------------------------------- +.. include:: /shared/_includes/desc_controller_storage.txt - .. include:: /shared/_includes/inc-install-software-on-controller.rest - :start-after: incl-install-software-controller-0-standard-start - :end-before: incl-install-software-controller-0-standard-end +.. _installation-prereqs-std: + +----------------------------- +Minimum hardware requirements +----------------------------- + +.. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest + :start-after: begin-min-hw-reqs-std + :end-before: end-min-hw-reqs-std + +.. .. figure:: /shared/figures/deploy_install_guides/starlingx-deployment-options-controller-storage.png +.. :width: 800 + +.. Controller storage deployment configuration + +.. _installation-prereqs-standard: + +-------------------------- +Installation Prerequisites +-------------------------- + +.. include:: /shared/_includes/installation-prereqs.rest + :start-after: begin-install-prereqs + :end-before: end-install-prereqs + +-------------------------------- +Prepare Servers for Installation +-------------------------------- + +.. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest + :start-after: start-prepare-servers-common + :end-before: end-prepare-servers-common + + +-------------------------------- +Install Software on Controller-0 +-------------------------------- + +.. include:: /shared/_includes/inc-install-software-on-controller.rest + :start-after: incl-install-software-controller-0-standard-start + :end-before: incl-install-software-controller-0-standard-end + + + +.. .. only:: starlingx +.. +.. .. -------- +.. .. Overview +.. .. -------- +.. +.. .. .. include:: /shared/_includes/installation-prereqs.rest +.. .. :start-after: begin-install-prereqs-std +.. .. :end-before: end-install-prereqs-std +.. +.. --------------------- +.. Hardware Requirements +.. --------------------- +.. +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-min-hw-reqs-common-intro +.. :end-before: end-min-hw-reqs-common-intro +.. +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-min-hw-reqs-std +.. :end-before: end-min-hw-reqs-std +.. +.. The following requirements must be met for worker nodes. +.. +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-worker-hw-reqs +.. :end-before: end-worker-hw-reqs +.. +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: start-prepare-servers-common +.. :end-before: end-prepare-servers-common +.. +.. This section describes the steps to install the StarlingX Kubernetes +.. platform on a **StarlingX R7.0 Standard with Controller Storage** +.. deployment configuration. +.. +.. ------------------- +.. Create bootable USB +.. ------------------- +.. +.. Refer to :ref:`Bootable USB ` for instructions on how to +.. create a bootable USB with the StarlingX ISO on your system. +.. +.. -------------------------------- +.. Install software on controller-0 +.. -------------------------------- +.. +.. .. include:: /shared/_includes/inc-install-software-on-controller.rest +.. :start-after: incl-install-software-controller-0-standard-start +.. :end-before: incl-install-software-controller-0-standard-end -------------------------------- Bootstrap system on controller-0 @@ -90,7 +177,7 @@ Bootstrap system on controller-0 .. only:: starlingx - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: @@ -926,3 +1013,9 @@ If configuring Ceph Storage Backend, Add Ceph OSDs to controllers .. only:: partner .. include:: /_includes/72hr-to-license.rest + + Complete system configuration by reviewing procedures in: + + - :ref:`index-security-84d0d8aa401b` + - :ref:`index-sysconf-d511820651f0` + - :ref:`index-admintasks-768a6e9aaeff` diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage.txt similarity index 100% rename from doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage.rst rename to doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage.txt diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage_hardware.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage_hardware.txt similarity index 100% rename from doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage_hardware.rst rename to doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage_hardware.txt diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage_install_kubernetes.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage_install_kubernetes.rst index 88cec110b..1f7807df1 100644 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r7_release/bare_metal/dedicated_storage_install_kubernetes.rst @@ -1,38 +1,124 @@ - +|hideable| .. _dedicated_storage_install_kubernetes_r7: -.. only:: partner - - .. include:: /_includes/install-kubernetes-null-labels.rest ============================================================== Install Kubernetes Platform on Standard with Dedicated Storage ============================================================== -This section describes the steps to install the |prod| Kubernetes platform on a -**Standard with Dedicated Storage** deployment configuration. - .. contents:: :local: :depth: 1 -.. only:: starlingx +.. only:: partner - ------------------- - Create bootable USB - ------------------- + .. include:: /_includes/install-kubernetes-null-labels.rest - Refer to :ref:`Bootable USB ` for instructions on how to - create a bootable USB with the StarlingX ISO on your system. +-------- +Overview +-------- - -------------------------------- - Install software on controller-0 - -------------------------------- +.. _ded-installation-prereqs: - .. include:: /shared/_includes/inc-install-software-on-controller.rest - :start-after: incl-install-software-controller-0-standard-start - :end-before: incl-install-software-controller-0-standard-end +.. include:: /shared/_includes/desc_dedicated_storage.txt + +----------------------------- +Minimum hardware requirements +----------------------------- + +.. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest + :start-after: begin-min-hw-reqs-ded + :end-before: end-min-hw-reqs-ded + +.. _installation-prereqs-dedicated: + +-------------------------- +Installation Prerequisites +-------------------------- + +.. include:: /shared/_includes/installation-prereqs.rest + :start-after: begin-install-prereqs + :end-before: end-install-prereqs + + +-------------------------------- +Prepare Servers for Installation +-------------------------------- + +.. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest + :start-after: start-prepare-servers-common + :end-before: end-prepare-servers-common + +-------------------------------- +Install Software on Controller-0 +-------------------------------- + +.. include:: /shared/_includes/inc-install-software-on-controller.rest + :start-after: incl-install-software-controller-0-standard-start + :end-before: incl-install-software-controller-0-standard-end + +.. -------------------------------- +.. Install Software on Controller-0 +.. -------------------------------- + +.. .. include:: /_includes/installing-software-on-controller-0.rest +.. :start-after: begin-install-ctl-0 +.. :end-before: end-install-ctl-0 + + +.. .. only:: starlingx +.. +.. .. -------- +.. .. Overview +.. .. -------- +.. +.. .. .. include:: /shared/_includes/installation-prereqs.rest +.. .. :start-after: begin-install-prereqs-ded +.. .. :end-before: end-install-prereqs-ded +.. +.. --------------------- +.. Hardware Requirements +.. --------------------- +.. +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-min-hw-reqs-common-intro +.. :end-before: end-min-hw-reqs-common-intro +.. +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-min-hw-reqs-sx +.. :end-before: end-min-hw-reqs-sx +.. +.. The following requirements must be met for worker nodes. +.. +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-worker-hw-reqs +.. :end-before: end-worker-hw-reqs +.. +.. The following requirements must be met for storage nodes. +.. +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: begin-storage-hw-reqs +.. :end-before: end-storage-hw-reqs +.. +.. .. include:: /shared/_includes/prepare-servers-for-installation-91baad307173.rest +.. :start-after: start-prepare-servers-common +.. :end-before: end-prepare-servers-common +.. +.. ------------------- +.. Create bootable USB +.. ------------------- +.. +.. Refer to :ref:`Bootable USB ` for instructions on how to +.. create a bootable USB with the StarlingX ISO on your system. +.. +.. -------------------------------- +.. Install software on controller-0 +.. -------------------------------- +.. +.. .. include:: /shared/_includes/inc-install-software-on-controller.rest +.. :start-after: incl-install-software-controller-0-standard-start +.. :end-before: incl-install-software-controller-0-standard-end -------------------------------- Bootstrap system on controller-0 @@ -533,3 +619,9 @@ host machine. .. only:: partner .. include:: /_includes/72hr-to-license.rest + + Complete system configuration by reviewing procedures in: + + - :ref:`index-security-84d0d8aa401b` + - :ref:`index-sysconf-d511820651f0` + - :ref:`index-admintasks-768a6e9aaeff` diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/ironic_install.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/ironic_install.rst index 5f3e55cff..d7e4e67eb 100644 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/ironic_install.rst +++ b/doc/source/deploy_install_guides/r7_release/bare_metal/ironic_install.rst @@ -2,6 +2,10 @@ Install Ironic on StarlingX R7.0 ================================ +.. include:: /_includes/ironic.rest + +.. include:: /_includes/ironic_hardware.rest + This section describes the steps to install Ironic on a standard configuration, either: diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/rook_storage.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/rook_storage.rst deleted file mode 100644 index e20845d46..000000000 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/rook_storage.rst +++ /dev/null @@ -1,22 +0,0 @@ -======================================================= -Bare metal Standard with Rook Storage Installation R7.0 -======================================================= - --------- -Overview --------- - -.. include:: /shared/_includes/desc_rook_storage.txt - -.. include:: /shared/_includes/ipv6_note.txt - - ------------- -Installation ------------- - -.. toctree:: - :maxdepth: 1 - - rook_storage_hardware - rook_storage_install_kubernetes diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/rook_storage_install_kubernetes.rst b/doc/source/deploy_install_guides/r7_release/bare_metal/rook_storage_install_kubernetes.rst index 849de661d..dffd00a86 100644 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/rook_storage_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r7_release/bare_metal/rook_storage_install_kubernetes.rst @@ -1,6 +1,14 @@ -===================================================================== -Install StarlingX Kubernetes on Bare Metal Standard with Rook Storage -===================================================================== +.. _install-rook-storage-on-bare-metal: + +==================================================================== +Install Kubernetes Platform on Bare Metal Standard with Rook Storage +==================================================================== + + +.. include:: /_includes/rook_storage.rest + +.. include:: /_includes/rook_storage_hardware.rest + This section describes the steps to install the StarlingX Kubernetes platform on a **StarlingX R7.0 bare metal Standard with Rook Storage** deployment @@ -98,7 +106,7 @@ Bootstrap system on controller-0 The default location where Ansible looks for and imports user configuration override files for hosts. For example: ``$HOME/.yml``. - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: @@ -213,9 +221,9 @@ Configure controller-0 #. Refer to :ref:`docker_proxy_config` for details about Docker proxy settings. -************************************* + OpenStack-specific host configuration -************************************* +------------------------------------- .. important:: @@ -303,9 +311,9 @@ OpenStack-specific host configuration .. incl-config-controller-0-storage-end: -******************************** + Rook-specific host configuration -******************************** +-------------------------------- .. important:: @@ -443,9 +451,9 @@ install procedure.) system interface-network-assign controller-1 $OAM_IF oam system interface-network-assign controller-1 $MGMT_IF cluster-host -************************************* + OpenStack-specific host configuration -************************************* +------------------------------------- .. important:: @@ -461,9 +469,9 @@ of installing the |prefix|-openstack manifest and helm-charts later. .. incl-config-controller-1-end: -******************************** + Rook-specific host configuration -******************************** +-------------------------------- .. important:: @@ -577,9 +585,9 @@ Configure worker nodes set +ex done -************************************* + OpenStack-specific host configuration -************************************* +------------------------------------- .. important:: diff --git a/doc/source/deploy_install_guides/r7_release/distributed_cloud/index-install-r7-distcloud-46f4880ec78b.rst b/doc/source/deploy_install_guides/r7_release/distributed_cloud/index-install-r7-distcloud-46f4880ec78b.rest similarity index 99% rename from doc/source/deploy_install_guides/r7_release/distributed_cloud/index-install-r7-distcloud-46f4880ec78b.rst rename to doc/source/deploy_install_guides/r7_release/distributed_cloud/index-install-r7-distcloud-46f4880ec78b.rest index f1322a23b..46ee5d630 100644 --- a/doc/source/deploy_install_guides/r7_release/distributed_cloud/index-install-r7-distcloud-46f4880ec78b.rst +++ b/doc/source/deploy_install_guides/r7_release/distributed_cloud/index-install-r7-distcloud-46f4880ec78b.rest @@ -1,5 +1,7 @@ .. _index-install-r7-distcloud-46f4880ec78b: +.. 11/21/2022 - deprecated in favor of DC guide instructions. + =================================== Distributed Cloud Installation R7.0 =================================== diff --git a/doc/source/deploy_install_guides/r7_release/index-install-r7-8966076f0e81.rst b/doc/source/deploy_install_guides/r7_release/index-install-r7-8966076f0e81.rst index cb4503aaf..6c5f16d91 100644 --- a/doc/source/deploy_install_guides/r7_release/index-install-r7-8966076f0e81.rst +++ b/doc/source/deploy_install_guides/r7_release/index-install-r7-8966076f0e81.rst @@ -6,8 +6,8 @@ Development StarlingX Installation .. note:: - This Installation guide is for the upcoming release of - |prod|, and is not supported. + This installation guide is for the upcoming release of |prod|, and may not + work due to pre-release inconsistencies between documentation and code. To install the most recent released verion of |prod|, see: https://docs.starlingx.io/r/stx.7.0/deploy_install_guides/r7_release/index-install-r7-8966076f0e81.html @@ -42,12 +42,40 @@ Install StarlingX Kubernetes on bare metal .. toctree:: :maxdepth: 1 - bare_metal/aio_simplex - bare_metal/aio_duplex - bare_metal/controller_storage - bare_metal/dedicated_storage - bare_metal/ironic - bare_metal/rook_storage + bare_metal/aio_simplex_install_kubernetes + bare_metal/aio_duplex_install_kubernetes + bare_metal/controller_storage_install_kubernetes + bare_metal/rook_storage_install_kubernetes + bare_metal/dedicated_storage_install_kubernetes + bare_metal/ironic_install + +----------------- +Access Kubernetes +----------------- + +.. toctree:: + :maxdepth: 1 + + kubernetes_access + +-------------------------------------- +Install and Access StarlingX OpenStack +-------------------------------------- + +.. toctree:: + :maxdepth: 1 + + openstack/index-install-r7-os-adc44604968c + +--------------------------------------- +Install Distributed Cloud on Bare metal +--------------------------------------- + +.. toctree:: + :maxdepth: 1 + + /dist_cloud/index-dist-cloud-f5dbeb16b976 + ********** Appendixes @@ -101,7 +129,6 @@ Add hosts in bulk bare_metal/adding-hosts-in-bulk bare_metal/bulk-host-xml-file-format - Reinstall a system or a host ,,,,,,,,,,,,,,,,,,,,,,,,,,,, @@ -117,30 +144,3 @@ Reinstall a system or a host ansible_bootstrap_configs -------------------------------------------------- -Install StarlingX Distributed Cloud on bare metal -------------------------------------------------- - -.. toctree:: - :maxdepth: 1 - - distributed_cloud/index-install-r7-distcloud-46f4880ec78b - ------------------ -Access Kubernetes ------------------ - -.. toctree:: - :maxdepth: 1 - - kubernetes_access - --------------------------- -Access StarlingX OpenStack --------------------------- - -.. toctree:: - :maxdepth: 1 - - openstack/index-install-r7-os-adc44604968c - diff --git a/doc/source/deploy_install_guides/r7_release/virtual/aio_duplex_install_kubernetes.rst b/doc/source/deploy_install_guides/r7_release/virtual/aio_duplex_install_kubernetes.rst index 94f296583..ab55ef9c0 100644 --- a/doc/source/deploy_install_guides/r7_release/virtual/aio_duplex_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r7_release/virtual/aio_duplex_install_kubernetes.rst @@ -84,7 +84,7 @@ On virtual controller-0: The default location where Ansible looks for and imports user configuration override files for hosts. For example: ``$HOME/.yml``. - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: diff --git a/doc/source/deploy_install_guides/r7_release/virtual/aio_simplex_install_kubernetes.rst b/doc/source/deploy_install_guides/r7_release/virtual/aio_simplex_install_kubernetes.rst index b3253906a..7604d276f 100644 --- a/doc/source/deploy_install_guides/r7_release/virtual/aio_simplex_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r7_release/virtual/aio_simplex_install_kubernetes.rst @@ -85,7 +85,7 @@ On virtual controller-0: The default location where Ansible looks for and imports user configuration override files for hosts. For example: ``$HOME/.yml``. - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: diff --git a/doc/source/deploy_install_guides/r7_release/virtual/controller_storage_install_kubernetes.rst b/doc/source/deploy_install_guides/r7_release/virtual/controller_storage_install_kubernetes.rst index ab5fd42e4..abd9a99e2 100644 --- a/doc/source/deploy_install_guides/r7_release/virtual/controller_storage_install_kubernetes.rst +++ b/doc/source/deploy_install_guides/r7_release/virtual/controller_storage_install_kubernetes.rst @@ -89,7 +89,7 @@ On virtual controller-0: The default location where Ansible looks for and imports user configuration override files for hosts. For example: ``$HOME/.yml``. - .. include:: /_includes/ansible_install_time_only.txt + .. include:: /shared/_includes/ansible_install_time_only.txt Specify the user configuration override file for the Ansible bootstrap playbook using one of the following methods: diff --git a/doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex_extend.rst b/doc/source/shared/_includes/aio_duplex_extend.rest similarity index 97% rename from doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex_extend.rst rename to doc/source/shared/_includes/aio_duplex_extend.rest index be48818d2..f57fa5906 100644 --- a/doc/source/deploy_install_guides/r7_release/bare_metal/aio_duplex_extend.rst +++ b/doc/source/shared/_includes/aio_duplex_extend.rest @@ -2,6 +2,8 @@ Extend Capacity with Worker Nodes ================================= +.. start-aio-duplex-extend + This section describes the steps to extend capacity with worker nodes on a |prod| All-in-one Duplex deployment configuration. @@ -338,3 +340,5 @@ Unlock worker nodes in order to bring them into service: The worker nodes will reboot to apply configuration changes and come into service. This can take 5-10 minutes, depending on the performance of the host machine. + +.. end-aio-duplex-extend diff --git a/doc/source/_includes/ansible_install_time_only.txt b/doc/source/shared/_includes/ansible_install_time_only.txt similarity index 90% rename from doc/source/_includes/ansible_install_time_only.txt rename to doc/source/shared/_includes/ansible_install_time_only.txt index 768ee04dc..75cc7d20f 100644 --- a/doc/source/_includes/ansible_install_time_only.txt +++ b/doc/source/shared/_includes/ansible_install_time_only.txt @@ -4,4 +4,4 @@ Review the set of install-time-only parameters before installation and confirm that your values for these parameters are correct for the desired installation. - Refer to :ref:`Ansible install-time-only parameters ` for details. \ No newline at end of file + Refer to :ref:`Ansible install-time-only parameters ` for details. diff --git a/doc/source/shared/_includes/desc_aio_duplex.txt b/doc/source/shared/_includes/desc_aio_duplex.txt index a8f981dff..eb584d118 100644 --- a/doc/source/shared/_includes/desc_aio_duplex.txt +++ b/doc/source/shared/_includes/desc_aio_duplex.txt @@ -13,8 +13,9 @@ An AIO-DX configuration provides the following benefits: * Containers or virtual machines scheduled on both worker functions * Protection against overall server hardware fault, where - * All controller HA services go active on the remaining healthy server - * All virtual machines are recovered on the remaining healthy server + * All controller |HA| services go active on the remaining healthy server + * All containers and/or virtual machines are recovered on the remaining healthy + server .. note:: @@ -26,4 +27,7 @@ An AIO-DX configuration provides the following benefits: :scale: 50% :alt: All-in-one Duplex deployment configuration - *Figure 1: All-in-one Duplex deployment configuration* \ No newline at end of file + *Figure 1: All-in-one Duplex deployment configuration* + +.. include:: /shared/_includes/ipv6_note.txt + diff --git a/doc/source/shared/_includes/desc_aio_simplex.txt b/doc/source/shared/_includes/desc_aio_simplex.txt index 6336761c6..8dbc242b9 100644 --- a/doc/source/shared/_includes/desc_aio_simplex.txt +++ b/doc/source/shared/_includes/desc_aio_simplex.txt @@ -4,7 +4,7 @@ following benefits: * Requires only a small amount of cloud processing and storage power * Application consolidation using multiple containers or virtual machines on a - single pair of physical servers + single physical server * A storage backend solution using a single-node CEPH deployment .. note:: @@ -12,12 +12,15 @@ following benefits: If you are behind a corporate firewall or proxy, you need to set proxy settings. Refer to :ref:`docker_proxy_config` for details. -.. figure:: /deploy_install_guides/r6_release/figures/starlingx-deployment-options-simplex.png +.. figure:: /deploy_install_guides/r7_release/figures/starlingx-deployment-options-simplex.png :scale: 50% :alt: All-in-one Simplex deployment configuration *Figure 1: All-in-one Simplex deployment configuration* -An AIO-SX deployment gives no protection against overall server hardware fault. +An |AIO-SX| deployment gives no protection against overall server hardware fault. Hardware component protection can be enabled with, for example, a hardware RAID -or 2x Port LAG in the deployment. \ No newline at end of file +or 2x Port |LAG| in the deployment. + +.. include:: /shared/_includes/ipv6_note.txt + diff --git a/doc/source/shared/_includes/desc_controller_storage.txt b/doc/source/shared/_includes/desc_controller_storage.txt index 5111df9c0..f0e2ded5f 100644 --- a/doc/source/shared/_includes/desc_controller_storage.txt +++ b/doc/source/shared/_includes/desc_controller_storage.txt @@ -24,4 +24,7 @@ A Standard with Controller Storage configuration provides the following benefits :scale: 50% :alt: Standard with Controller Storage deployment configuration - *Figure 1: Standard with Controller Storage deployment configuration* \ No newline at end of file + *Figure 1: Standard with Controller Storage deployment configuration* + +.. include:: /shared/_includes/ipv6_note.txt + diff --git a/doc/source/shared/_includes/desc_dedicated_storage.txt b/doc/source/shared/_includes/desc_dedicated_storage.txt index 3578f619b..82375e097 100644 --- a/doc/source/shared/_includes/desc_dedicated_storage.txt +++ b/doc/source/shared/_includes/desc_dedicated_storage.txt @@ -4,12 +4,15 @@ with independent controller, worker, and storage nodes. A Standard with Dedicated Storage configuration provides the following benefits: * A pool of up to 200 worker nodes + * A 2x node high availability (HA) controller cluster with HA services running across the controller nodes in either active/active or active/standby mode -* A storage back end solution using a two-to-9x node HA CEPH storage cluster + +* A storage back end solution using a two-to-9x node |HA| CEPH storage cluster that supports a replication factor of two or three -* Up to four groups of 2x storage nodes, or up to three groups of 3x storage - nodes + + * Up to four groups of 2x storage nodes, or up to three groups of 3x storage + nodes .. note:: @@ -20,4 +23,7 @@ A Standard with Dedicated Storage configuration provides the following benefits: :scale: 50% :alt: Standard with Dedicated Storage deployment configuration - *Figure 1: Standard with Dedicated Storage deployment configuration* \ No newline at end of file + *Figure 1: Standard with Dedicated Storage deployment configuration* + +.. include:: /shared/_includes/ipv6_note.txt + diff --git a/doc/source/shared/_includes/inc-install-software-on-controller.rest b/doc/source/shared/_includes/inc-install-software-on-controller.rest index 1fb1b3558..5cab0b6b0 100644 --- a/doc/source/shared/_includes/inc-install-software-on-controller.rest +++ b/doc/source/shared/_includes/inc-install-software-on-controller.rest @@ -1,22 +1,74 @@ .. incl-install-software-controller-0-aio-start +Installing software on controller-0 is the second step in the |prod| +installation procedure. + +.. note:: + + The disks and disk partitions need to be wiped before the install. Installing + a Debian ISO may fail with a message that the system is in emergency mode if + the disks and disk partitions are not completely wiped before the install, + especially if the server was previously running a CentOS ISO. + + .. only:: partner + + .. include:: /_includes/debian-rn-link-a90a7e432679.rest + #. Insert the bootable USB into a bootable USB port on the host you are configuring as controller-0. + .. note:: + + Refer to :ref:`bootable_usb` for instructions on how + to create a bootable USB with the |prod| ISO. + + .. note:: + + Alternatively one can PXEBOOT controller-0. See + :ref:`configuring-a-pxe-boot-server-r7` for details on how to setup a + PXEBOOT Server and pxe-boot the |prod| load on controller-0 + #. Power on the host. #. Attach to a console, ensure the host boots from the USB, and wait for the - StarlingX Installer Menus. + |prod| Installer Menus. -#. Make the following menu selections in the installer: +#. Wait for the Install menus, and when prompted, make the following menu + selections in the installer: - #. First menu: Select 'All-in-one Controller Configuration' + .. note:: + + If you configured the default menu options into the ISO with the + ``update-iso.sh`` script (using the ``-d`` option) in + :ref:`Installation Prerequisites `, + then the **Install** menu will not appear. - #. Second menu: Select 'Graphical Console' or 'Textual Console' depending on - your terminal access to the console port + #. Select the appropriate deployment option for your scenario. -#. Wait for non-interactive install of software to complete and server to reboot. - This can take 5-10 minutes, depending on the performance of the server. + For All-in-one deployments, choose one of the All-in-One Configurations, + either standard kernel or real-time/low-latency kernel. + + **Standard Controller Configuration** + For a standard configuration with controller or dedicated storage. + + **All-in-one Controller Configuration** + For an |AIO| Simplex or Duplex configuration. + + **All-in-one Controller Configuration (Low Latency)** + For an AIO Simplex or Duplex configuration with Low Latency Kernel. + + #. Choose **Graphical Console** or **Serial Console** depending on your + terminal access to the console port. + + Wait for non-interactive install of software to complete and server to + reboot. This can take 5-10 minutes, depending on the performance of the + server. + + Wait for the non-interactive software installation to complete and for + the server to reboot. This can take 5-10 minutes, depending on the performance + of the server. + +.. include:: /_includes/install-patch-ctl-0.rest .. incl-install-software-controller-0-aio-end @@ -28,16 +80,16 @@ #. Power on the host. #. Attach to a console, ensure the host boots from the USB, and wait for the - StarlingX Installer Menus. + |prod| Installer Menus. #. Make the following menu selections in the installer: - #. First menu: Select 'Standard Controller Configuration' + #. First menu: Select **Standard Controller Configuration**. - #. Second menu: Select 'Graphical Console' or 'Textual Console' depending on - your terminal access to the console port. + #. Second menu: Select **Graphical Console** or **Textual Console** depending + on your terminal access to the console port. #. Wait for non-interactive install of software to complete and server to reboot. This can take 5-10 minutes, depending on the performance of the server. -.. incl-install-software-controller-0-standard-end \ No newline at end of file +.. incl-install-software-controller-0-standard-end diff --git a/doc/source/shared/_includes/installation-prereqs.rest b/doc/source/shared/_includes/installation-prereqs.rest new file mode 100644 index 000000000..c55cd74bb --- /dev/null +++ b/doc/source/shared/_includes/installation-prereqs.rest @@ -0,0 +1,139 @@ +.. _installation-prereqs: + + +========================== +Installation Prerequisites +========================== + +.. begin-install-prereqs + +Several pre-requisites must be completed prior to starting the |prod| +installation. + +Before attempting to install |prod|, ensure that you have the following: + +.. _installation-pre-requisites-ul-uzl-rny-q3b: + + +- The |prod-long| host installer ISO image file. + +- The ``update-iso.sh`` script. + + .. include:: /_includes/installation-prereqs.rest + :start-after: begin-vdr-additional-prereqs + :end-before: end-vdr-additional-prereqs + +- *Optionally*, if required, update the ISO image to modify installation boot + parameters, automatically select boot menu options and/or add a kickstart + file to automatically perform configurations such as configuring the initial + IP Interface for bootstrapping. + + Use the ``update-iso.sh`` script from |dnload-loc|. The script syntax and + options are: + + .. code-block:: + + update-iso.sh -i -o + [ -a ] [ -p param=value ] + [ -d ] [ -t ] + -i : Specify input ISO file + -o : Specify output ISO file + -a : Specify ks-addon.cfg file + -p : Specify boot parameter + + Examples: + -p rootfs_device=nvme0n1 + -p boot_device=nvme0n1 + -p rootfs_device=/dev/disk/by-path/pci-0000:00:0d.0-ata-1.0 + -p boot_device=/dev/disk/by-path/pci-0000:00:0d.0-ata-1.0 + + -d : + Specify default boot menu option: + 0 - Standard Controller, Serial Console + 1 - Standard Controller, Graphical Console + 2 - AIO, Serial Console + 3 - AIO, Graphical Console + 4 - AIO Low-latency, Serial Console + 5 - AIO Low-latency, Graphical Console + NULL - Clear default selection + -t : + Specify boot menu timeout, in seconds + + The following example ks-addon.cfg file, used with the -a option, sets up + an initial IP interface at boot time by defining a VLAN on an Ethernet + interface and has it use DHCP to request an IP address: + + .. code-block:: + + #### start ks-addon.cfg + OAM_DEV=enp0s3 + OAM_VLAN=1234 + + cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$OAM_DEV + DEVICE=$OAM_DEV + BOOTPROTO=none + ONBOOT=yes + LINKDELAY=20 + EOF + + cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$OAM_DEV.$OAM_VLAN + DEVICE=$OAM_DEV.$OAM_VLAN + BOOTPROTO=dhcp + ONBOOT=yes + VLAN=yes + LINKDELAY=20 + EOF + #### end ks-addon.cfg + + After updating the ISO image, create a bootable USB with the ISO or put the + ISO on a PXEBOOT server. See the next bullet for details. + +- A mechanism for boot installation of the |prod-long| host installer ISO + downloaded from |dnload-loc|. This can be either: + + - a bootable USB drive with the |prod-long| host installer ISO. + + Refer to :ref:`bootable_usb` for instructions on how to create a + bootable USB with the StarlingX ISO on your system. + + - the ISO image on a |PXE| boot server on the same network as the server + that will be used as the initial controller-0. See Appendix + :ref:`Installing Controller-0 from a PXE Boot Server + ` for details + + +- For all controller or AIO controller servers, |OAM| Network connectivity to: + + - the |BMC| ports of all nodes + + - An external DNS Server. This is required for accessing |org| Docker + Registry as discussed below. + + - A Docker Registry(s) containing the Docker images for the |prod| load + accessible via the |OAM| Network. + + You can use one of the following options: + + .. only:: partner + + - The |org| Docker Registry. This is the default option. + + .. only:: starlingx + + - The public open source registries (i.e. docker.io, k8s.gcr.io, + ghcr.io, gcr.io, quay.io). This is the default option. + + - A private Docker Registry populated with the docker images from the + |reg-string|. + + .. only:: partner + + .. include:: /_includes/bootstrapping-from-a-private-docker-registry.rest + + +- A record of the IP addresses allocated for the public interfaces for your + deployment \(that is IP addresses for the |OAM| Network and |SRIOV| Data + Networks\). + + +.. end-install-prereqs diff --git a/doc/source/shared/_includes/ipv6_note.txt b/doc/source/shared/_includes/ipv6_note.txt index 53f4ced8b..be70d05e4 100644 --- a/doc/source/shared/_includes/ipv6_note.txt +++ b/doc/source/shared/_includes/ipv6_note.txt @@ -1,13 +1,15 @@ .. note:: - By default, StarlingX uses IPv4. To use StarlingX with IPv6: + By default, |prod| uses IPv4. To use |prod| with IPv6: * The entire infrastructure and cluster configuration must be IPv6, with the - exception of the PXE boot network. + exception of the |PXE| boot network. * Not all external servers are reachable via IPv6 addresses (for example Docker registries). Depending on your infrastructure, it may be necessary to deploy a NAT64/DNS64 gateway to translate the IPv4 addresses to IPv6. - * Refer to :ref:`stx_ipv6_deployment` for details on how to deploy a - NAT64/DNS64 gateway to use StarlingX with IPv6. + .. only:: starlingx + + .. include:: /_includes/ipv6_note_bullet.rest + diff --git a/doc/source/shared/_includes/prepare-servers-for-installation-91baad307173.rest b/doc/source/shared/_includes/prepare-servers-for-installation-91baad307173.rest new file mode 100644 index 000000000..cb25a2132 --- /dev/null +++ b/doc/source/shared/_includes/prepare-servers-for-installation-91baad307173.rest @@ -0,0 +1,700 @@ + +===================== +Hardware Requirements +===================== + +.. begin-min-hw-reqs-common-intro + +.. ........ +.. Preamble common to all deployments +.. ........ + +----------------------------- +Minimum hardware requirements +----------------------------- + +This section describes the hardware requirements and server preparation for a +|prod-long| |this-ver| |bare-metal| deployment. + +.. contents:: + :local: + :depth: 1 + +The recommended minimum hardware requirements for |bare-metal| servers for various +host types are: + +.. end-min-hw-reqs-common-intro + +.. ........ +.. Simplex +.. ........ + +.. begin-prepare-servers +.. begin-min-hw-reqs-sx + + +The recommended minimum hardware requirements for |bare-metal| servers for various +host types are: + + +.. list-table:: + :header-rows: 1 + + * - Minimum Requirements + - All-in-one Controller Node + * - Number of servers + - 1 + * - Minimum processor class + - Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket + + or + + Single-CPU Intel® Xeon® D-15xx family, 8 cores (low-power/low-cost option) + + .. note:: + + * Platform: 2x physical cores (4x logical cores if hyper-threading), (by + default, configurable) + * Application: Remaining cores + * - Minimum memory + - 64 GB + + * Platform: + + - Socket 0: 7GB (by default, configurable) + + - Socket 1: 1GB (by default, configurable) + + * Application: + + - Socket 0: Remaining memory + + - Socket 1: Remaining memory + + * - Primary disk + - 500 GB SSD or |NVMe| (see :ref:`nvme_config`) + * - Additional disks + - * 1 or more 500 GB (min. 10K RPM) for Ceph |OSD| + + * Recommended, but not required: 1 or more |SSDs| or |NVMe| drives for + Ceph journals (min. 1024 MiB per |OSD| journal) + + * Recommended, but not required: 1 or more 500G HDs (min. 10K RPM), |SSDs| + or |NVMe| drives for Container ephemeral disk storage. + + .. only:: openstack + + * For |prod-os|, we recommend 1 or more 500 GB (min. 10K RPM) for |VM| local + ephemeral storage + + * - Minimum network ports + - * MGMT: 1x1GE ( Recommended: MGMT 2x10GE LAG ) *Only required if subcloud is + in Distributed Cloud*. + * |OAM|: 1x1GE (Recommended: |OAM|: 2x1GE LAG) + + * Data: 1 or more x 10GE (Recommended: Data: 2x10GE |LAG|) + + * - USB + - 1 (Only required if used for initial installation of controller-0). + * - Boot order + - HD, PXE, USB + * - BIOS mode + - BIOS or UEFI + + .. note:: + + |UEFI| Secure Boot and |UEFI| |PXE| boot over IPv6 are not supported. On + systems with an IPv6 management network, you can use a separate IPv4 + network for |PXE| boot. For more information, see + :ref:`configuring-a-pxe-boot-server-r7`. + * - BIOS settings + - * Hyper-Threading technology enabled + + * Virtualization technology enabled + + * VT for directed I/O enabled + + * CPU power and performance policy set to performance + + * Minimum Processor Idle Power; CPU C state control disabled + + * Plug & play |BMC| detection disabled + +.. end-min-hw-reqs-sx + +-------------------------- +Prepare bare metal servers +-------------------------- + +.. include:: prep_servers.txt + +* Cabled for networking + + * Far-end switch ports should be properly configured to realize the networking + shown in the diagram below. + + .. figure:: /deploy_install_guides/r7_release/figures/starlingx-deployment-options-simplex.png + :scale: 50% + :alt: All-in-one Simplex deployment configuration + + *All-in-one Simplex deployment configuration* + + +.. end-prepare-servers + + +.. ........ +.. Duplex +.. ........ + +.. begin-prepare-servers-dx +.. begin-min-hw-reqs-dx + + +This section describes the hardware requirements and server preparation for a +|prod-long| |this-ver| |bare-metal| Duplex deployment configuration. + +The recommended minimum hardware requirements for |bare-metal| servers for various +host types are: + +.. list-table:: + :header-rows: 1 + + * - Minimum Requirements + - All-in-one Controller Node + - Worker Node + * - Number of servers + - 2 + - 2-|max-workers| + * - Minimum processor class + - * Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket + + or + + * Single-CPU Intel® Xeon® D-15xx family, 8 cores (low-power/low-cost option) + + .. note:: + + * Platform: 2x physical cores (4x logical cores if hyper-threading), (by + default, configurable) + * Application: Remaining cores + - (Same as controller node) + * - Minimum memory + - 64 GB + + * Platform: + + - Socket 0: 7GB (by default, configurable) + + - Socket 1: 1GB (by default, configurable) + + * Application: + + - Socket 0: Remaining memory + + - Socket 1: Remaining memory + - 32 GB + * - Primary disk + - 500 GB SSD or |NVMe| (see :ref:`nvme_config`) + - 120 GB (Minimum 10k RPM) + * - Additional disks + - * 1 or more 500 GB (min. 10K RPM) for Ceph |OSD| + + * Recommended, but not required: 1 or more |SSDs| or |NVMe| drives for + Ceph journals (min. 1024 MiB per |OSD| journal) + + * Recommended, but not required: 1 or more 500G HDs (min. 10K RPM), |SSDs| + or |NVMe| drives for Container ephemeral disk storage. + + * For |prod-os|, we recommend 1 or more 500 GB (min. 10K RPM) for |VM| local + ephemeral storage + + - For |prod-os|, we recommend 1 or more 500 GB (min. 10K RPM) for |VM| local + ephemeral storage + * - Minimum network ports + - * MGMT: 1x1GE ( Recommended: MGMT 2x10GE LAG ). + + * |OAM|: 1x1GE (Recommended: |OAM|: 2x1GE LAG) + + * Data: 1 or more x 10GE (Recommended: Data: 2x10GE |LAG|) + + - * Mgmt/Cluster: 1x10GE (Recommended: MGMT 2x10GE LAG) + + * Data: 1 or more x 10GE (Recommended: Data 2x10GE LAG) + + * - USB + - 1 (Only required if used for initial installation of controller-0). + - + * - Board Management + - + - 1 |BMC| + * - Boot order + - HD, PXE, USB + - HD, PXE + * - BIOS mode + - BIOS or UEFI + + .. note:: + + |UEFI| Secure Boot and |UEFI| |PXE| boot over IPv6 are not supported. On + systems with an IPv6 management network, you can use a separate IPv4 + network for |PXE| boot. For more information, see + :ref:`configuring-a-pxe-boot-server-r7`. + - BIOS or UEFI + * - Bios settings + - * Hyper-Threading technology enabled + + * Virtualization technology enabled + + * VT for directed I/O enabled + + * CPU power and performance policy set to performance + + * CPU C state control disabled + + * Plug & play |BMC| detection disabled + + - (Same as controller node) + +.. end-min-hw-reqs-dx + +-------------------------- +Prepare bare metal servers +-------------------------- + +.. include:: prep_servers.txt + +* Cabled for networking + + * Far-end switch ports should be properly configured to realize the networking + shown in the diagram above. + + +.. end-prepare-servers-dx + +.. ........ +.. Standard with storage +.. ........ + +.. begin-prepare-servers-std +.. begin-min-hw-reqs-std + +This section describes the hardware requirements and server preparation for a +|prod-long| |this-ver| |bare-metal| Standard with Controller Storage deployment +configuration. + +The recommended minimum hardware requirements for |bare-metal| servers for various +host types are: + +.. list-table:: + :header-rows: 1 + + * - Minimum Requirements + - Controller Node + - Worker Node + * - Number of servers + - 2 + - 2-|max-workers| + * - Minimum processor class + - Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket + + .. note:: All cores are used by the platform. + - Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket + + .. note:: + + * Platform: 1x physical cores (2x logical cores if hyper-threading), + (by default, configurable) + * Application: Remaining cores + * - Minimum memory + - 64 GB + - 32 GB + * - Primary disk + - 500 GB SSD or |NVMe| (see :ref:`nvme_config`) + - 120 GB (Minimum 10k RPM) + * - Additional disks + - * 1 or more 500 GB (min. 10K RPM) for Ceph |OSD| + + * Recommended, but not required: 1 or more |SSDs| or |NVMe| drives for + Ceph journals (min. 1024 MiB per |OSD| journal) + - For |prod-os|, we recommend 1 or more 500 GB (min. 10K RPM) for |VM| local + ephemeral storage + + Recommended but not required: 1 or more 500G HDs (min. 10K RPM), |SSDs| or + |NVMe| drives for Container ephemeral disk storage. + * - Minimum network ports + - * MGMT: 1x1GE (Recommended: MGMT 2x10GE LAG) + * |OAM|: 1x1GE (Recommended: |OAM|: 2x1GE LAG) + * Data: 1 or more x 10GE (Recommended: Data: 2x10GE |LAG|) + - * Mgmt/Cluster: 1x10GE (Recommended: MGMT 2x10GE LAG) + + * Data: 1 or more x 10GE (Recommended: Data: 2x10GE |LAG|) + * - USB + - 1 (Only required if used for initial installation of controller-0). + - + * - Board Management + - + - 1 |BMC| + * - Boot order + - HD, PXE, USB + - HD, PXE + * - BIOS mode + - BIOS or UEFI + + .. note:: + + |UEFI| Secure Boot and |UEFI| |PXE| boot over IPv6 are not supported. On + systems with an IPv6 management network, you can use a separate IPv4 + network for |PXE| boot. For more information, see + :ref:`configuring-a-pxe-boot-server-r7`. + - BIOS or UEFI + * - Bios settings + - * Hyper-Threading technology enabled + + * Virtualization technology (VTD, VTX) enabled + + * VT for directed I/O enabled + + * CPU power and performance policy set to performance + + * CPU C state control disabled + + * Plug & play |BMC| detection disabled + + - (Same as controller node) + +.. end-min-hw-reqs-std + +-------------------------- +Prepare bare metal servers +-------------------------- + +.. include:: prep_servers.txt + +* Cabled for networking + + * Far-end switch ports should be properly configured to realize the networking + shown in the diagram above. + + +.. end-prepare-servers-std + + +.. ........ +.. Dedicated storage +.. ........ + +.. begin-prepare-servers-ded +.. begin-min-hw-reqs-ded + +This section describes the hardware requirements and server preparation for a +|prod-long| |this-ver| |bare-metal| Standard with Dedicated Storage deployment +configuration. + +The recommended minimum hardware requirements for |bare-metal| servers for various +host types are: + +.. list-table:: + :header-rows: 1 + + * - Minimum Requirements + - Controller Node + - Storage Node + - Worker Node + * - Number of servers + - 2 + - 2-9 + - 2-|max-workers| + * - Minimum processor class + - Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket + + .. note:: All cores are used by the platform. + + - Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket + + .. note:: All cores are used for Ceph Storage Cluster. + + - Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket + + .. note:: + + * Platform: 1x physical cores (2x logical cores if hyper-threading), + (by default, configurable) + * Application: Remaining cores + + * - Minimum memory + - 64 GB + - 64 GB + - 32 GB + * - Primary disk + - 500 GB SSD or |NVMe| (see :ref:`nvme_config`) + - 120 GB (min. 10k RPM) + - 120 GB (min. 10k RPM) + * - Additional disks + - None + - * 1 or more 500 GB (min. 10K RPM) for Ceph |OSD| + + * Recommended, but not required: 1 or more |SSDs| or |NVMe| drives for + Ceph journals (min. 1024 MiB per |OSD| journal) + - For |prod-os|, we recommend 1 or more 500 GB (min. 10K RPM) for |VM| ephemeral + storage + + Recommended, but not required: 1 or more 500G HDs (min. 10K RPM), |SSDs| + or |NVMe| drives for Container ephemeral disk storage. + + * - Minimum network ports + - * MGMT: 1x1GE ( Recommended: MGMT 2x10GE LAG ). + * |OAM|: 1x1GE (Recommended: |OAM|: 2x1GE LAG) + * Data: 1 or more x 10GE (Recommended: Data: 2x10GE |LAG|) + - Mgmt: 1x10GE + - * Mgmt/Cluster: 1x10GE 1x10GE (Recommended: MGMT 2x10GE LAG) + + * Data: 1 or more x 10GE (Recommended: Data 2x10GE LAG) + * - USB + - 1 (Only required if used for initial installation of controller-0). + - + - + * - Board Management + - + - + - 1 |BMC| + * - Boot order + - HD, PXE, USB + - + - HD, PXE + * - BIOS mode + - BIOS or UEFI + + .. note:: + + |UEFI| Secure Boot and |UEFI| |PXE| boot over IPv6 are not supported. On + systems with an IPv6 management network, you can use a separate IPv4 + network for |PXE| boot. For more information, see + :ref:`configuring-a-pxe-boot-server-r7`. + - BIOS or UEFI + - BIOS or UEFI + * - Bios settings + - * Hyper-Threading technology enabled + + * Virtualization technology (VTD, VTX) enabled + + * VT for directed I/O enabled + + * CPU power and performance policy set to performance + + * CPU C state control disabled + + * Plug & play |BMC| detection disabled + - (Same as controller node) + - (Same as controller node) + +.. end-min-hw-reqs-ded + +-------------------------- +Prepare bare metal servers +-------------------------- + +.. include:: prep_servers.txt + +* Cabled for networking + + * Far-end switch ports should be properly configured to realize the networking + shown in the diagram above. + + +.. end-prepare-servers-ded + +.. start-prepare-servers-common + +Preparing servers is the first step of the |prod| installation procedure. + + +Prior to starting the |prod| installation, ensure that the |bare-metal| +servers are in the following state: + +- Physically installed. + +- Cabled for power. + +- Cabled for networking. + + Far-end switch ports should be properly configured to realize the + networking shown in the diagram earlier in this topic. + +- All disks are wiped. + + This ensures that servers will boot from either the network or USB + storage, if present. + + .. note:: + + The disks and disk partitions need to be wiped before the install. + Installing a Debian ISO may fail with a message that the system is + in emergency mode if the disks and disk partitions are not + completely wiped before the install, especially if the server was + previously running a CentOS ISO. + + .. only:: partner + + .. include:: /_includes/debian-rn-link-a90a7e432679.rest + +- BIOS configured with Intel Virtualization (VTD, VTX) + + - Disabled for controller-only servers and storage servers. + + - Enabled for :hideable:`controller+worker (All-in-one) servers and` worker servers. + +- The servers are powered off. + + +.. end-prepare-servers-common + + +.. ........ +.. HW requirments for Worker nodes +.. ........ + +.. begin-worker-hw-reqs + +.. list-table:: Worker Hardware Requirements + :widths: 6 25 + :header-rows: 0 + + * - Minimum number of workers + - 2 + * - Maximum number of workers + - |max-workers| + * - Minimum processor class + - Same as for controllers + * - Minimum memory + - 32 GB + * - Minimum Primary Disk (two-disk hardware RAID suggested) + - 120 GB (min. 10K RPM) + + .. note:: Installation on software RAID is not supported. + * - Additional disks + - 500 GB (min. 10K RPM) - 1 or more + + .. note:: + + Single-disk hosts are supported, but must not be used for local + ephemeral storage. + * - Network ports + + (Typical deployment) + - * Mgmt and Cluster Host: 2 x 10GE LAG (shared interface) + * **Optional** external network ports 2 x 10GE LAG + * - Board Management Controller (BMC) + - 1 (required) + * - Bios settings + - * Boot order: HD, PXE + + * Bios mode: BIOS or UEFI + + .. note:: + + |UEFI| Secure Boot and |UEFI| |PXE| boot over IPv6 are not + supported. On systems with an IPv6 management network, you can use a + separate IPv4 network for |PXE| boot. + * Hyperthreading: Same as for controllers + * Power profile: Same as for controllers + * Intel Virtualization (VTD, VTX): Enabled + +.. end-worker-hw-reqs + + +.. ........ +.. HW requirments for Storage nodes +.. ........ + +.. begin-storage-hw-reqs + +.. list-table:: Storage Hardware Requirements + :widths: 6 25 + :header-rows: 0 + + * - Minimum number of nodes + + (If Ceph storage is used) + - * 2 - 8 (for replication factor 2) + * 3 - 9 (for replication factor 3) + * - Minimum processor class + - Same as for controllers + * - Minimum memory + - Same as for controllers + * - Minimum Primary Disk (two-disk hardware RAID suggested) + - 120 GB (min. 10K RPM) + + .. note:: Installation on software RAID is not supported. + * - Additional disks + - * 500 GB (min. 10K RPM) for OSD storage + * One or more |SSDs| or |NVMe| drives (recommended for Ceph journals); + min. 1024 MiB per journal. + * - Network ports + + (Typical deployment) + - * Mgmt and Cluster Host: 2 x 10GE LAG (shared interface) + * - Board Management Controller (BMC) + - 1 (required) + * - Bios settings + - * Boot order: HD, PXE + * Bios mode: BIOS or UEFI + + .. note:: + + |UEFI| Secure Boot and |UEFI| |PXE| boot over IPv6 are not + supported. On systems with an IPv6 management network, you can use a + separate IPv4 network for |PXE| boot. + * Hyperthreading: Same as for controllers + * Power profile: Same as for controllers + * Intel Virtualization (VTD, VTX): Disabled + +.. end-storage-hw-reqs + +.. ........ +.. Prepare Servers for Installation +.. ........ + +.. begin-prep-servers-common +.. begin-prepare-servers + +Prior to starting the |prod| installation, the servers must be in the following +state: + +- Physically installed. + +- Cabled for power. + +- Cabled for networking. + +Far-end switch ports should be properly configured to realize the networking +shown in :ref:`deployment-options` for the particular deployment configuration +you are installing. + +- All disks are wiped. + + This ensures that servers will boot from either the network or USB storage, + if present. + + .. note:: + + The disks and disk partitions need to be wiped before the install. + Installing a Debian ISO may fail with a message that the system is in + emergency mode if the disks and disk partitions are not completely wiped + before the install, especially if the server was previously running a + CentOS ISO. + + .. only:: partner + + .. include:: /_includes/debian-rn-link-a90a7e432679.rest + +- BIOS configured with Intel Virtualization (VTD, VTX) + + - Disabled for controller-only servers and storage servers. + + - Enabled for controller+worker (All-in-one) servers and worker servers. + +- The servers are powered off. + +.. end-prepare-servers +.. end-prep-servers-common diff --git a/doc/source/shared/figures/deploy_install_guides/starlingx-deployment-options-controller-storage.png b/doc/source/shared/figures/deploy_install_guides/starlingx-deployment-options-controller-storage.png new file mode 100644 index 0000000000000000000000000000000000000000..0148201d03a6567d12e38858e0c8c99158d1bc19 GIT binary patch literal 98773 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�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

)a0Fm%WPU$Ojwgw&C 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%0ABgq{MytwnE+8cU5&AQi^(#>HLp*sLISfLuOSSuX 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

UYhR4OYYu z4diXV=cnMvK4-Jm9JWk-mC$)@2A(1PniY?|+3$lT#Xa@k2fz0G?kp<6Zpab4?cus} zr48}hy%kYE2Z`L?oLW`3R!`zB#&j<%H}20V3|OmoeZ5kZVU*~n*LW`<=ye5qobG|j z@=ao26WDyij?9VKZCDcBid(#yrfxX=U>C{0$fSTMd&woOZf%gcE-0vmO`31nwCHJ{ zw@%C4nJ=juVeNg9Jq7Ng{E#Va`_LM*mTDDVMMO1oLRT3|Fnc)`t zW__3;=)w|`4=pm;UM{iU8_pACf{I8__>cbW(G7$XnvJm9t!58Bqjz5m-Du`E&O?vf zwe>PhL2v$T=@+G$>}b$F@&IDZXj$A!%T0@mR#^ExoWkjnrfXf<{eDtf%Id{ijG%HT z$4<-0w}YEc+sdJ7X(RUrm!A(Va1e64QjS4wK zt}`7bRv^fIw&d+PFH!@abC0yMp5dB%a(yN{kqrlbek$Ym#G6Hga_HM?zH?09XO5r0 zac$sW!k`2`l@h@5dUTGsb%u@&T|aWIf`4LO+|_X3==Ov`A|q0Iy3fY&(^98Cme!Xx zNHOlns0UX}N`jzoqRKVMby5d!*&`u=B!k>kSi|TdagjpV?zvp$CJ_En@%rPY7e`u7 zfyv6m#p}z+>wRQY`Ng%5_QuMIXPUU_-!fi-)ALT})%<)b|MptS&QZFjfm%a|R>LaZ zj=&r-c7xq;JO+b#WbAC_q}WWv2q#(EGgYLJ4G>@?_UZxbba_3i)6GYs|g#bn5gz@!;Q8L z4h}95i9T=u>rF_h(QC}j%^f5V2n(~bwp&DEja~4o<-&RPII-}L!r>oPP7#7+gJhQ{ zCoM&S`OT+sSq_Fs&f-$Ms@M34bmirq%lON*cJ;rwUP>KVFLU$bi6beadn7`e&8!`I zQeu7yly+2{Qp1O=Ze=!qA=Neyyh`@8nJnF=jD>o$-$@b{o$|b8jXl6{nC(t}yWnu) z`A9rG&v>+kk~_I0cdlLP@sX~Z7i@Dby*zg$i8J~ho4;6bicgfcnVX`Uh#ODqbHvBr zSd@RduV1&pb^K?KN5@%FMz0w=z_8EH`AbVe&vZWG=gqHq*Dq zaRkqt5YOp#6_=r;e}7ynyf z6Mp`y3cdX|(NU+6qd`UQo)qRvjHxI0J(+%J%;j1quQ}k-85tz)rFxHz$6QOC@LKX+ zlXA6@Q4r5F3CzY$1W$>u2t(7FC%Z?exU=s z%d`kxJ>e8>f$`PS0}u>^>rMY(e!VjOf9LW^L|1@!;dNroaa|F z7w1x@CGOJRB{kAe!;tX6wYa|LAY{`03(w;$F=S)YUuuxb%i}`uqZ$+cx-snzNf%eW z?5Bo7Eb4n1_nVO^Qd(z)6z)yOUc2M^{1@r0s!ZEIhFex@E7o{OBH-~6zep)NGwKJ3 z7>jU-6Wlv%UJF9R;^3Tz?y@IcKk(^G4&#=n%v|#N6_#IEB@rtv{q+u( z>GSJBN4Ff`hU+HM3&wKr@f?l%?4-V|DS`=Y5G^y9E7o>0x#gmU8Ity5P+!jUd&+-k zi5#xHqiN*&Jp5NZ?W`2NjO^v7MYlwoOM`8A7f;WGXf0+HYu+vtxz0=qo z=nB=LB;gQyyx*?xr4$O|FU;}b&zGlE_d4~XLcPhq)MeCz`* zp>HqnwngJLX++^rTZMxE!>FwZy8Oc=AHH+jj?&BUd(i*qp%0A}3YQAV^5{*t?a~lz}3LFi2-01YyF<#p)1#O+p vW&bOAK}K>yh8J(iN%af&HcxEMb_LD|vWq22-HH7Rd}-X#xm~RM_|^Xa3ri!A literal 0 HcmV?d00001 diff --git a/doc/source/shared/figures/deploy_install_guides/starlingx-deployment-options-duplex.png b/doc/source/shared/figures/deploy_install_guides/starlingx-deployment-options-duplex.png new file mode 100644 index 0000000000000000000000000000000000000000..4f8ab3f24d876b0a1a7b281bbe8afed41cc1228e GIT binary patch literal 103883 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