diff --git a/doc/source/dist_cloud/kubernetes/installing-a-subcloud-without-redfish-platform-management-service.rst b/doc/source/dist_cloud/kubernetes/installing-a-subcloud-without-redfish-platform-management-service.rst index 9cfa9c759..cfdea7dbc 100644 --- a/doc/source/dist_cloud/kubernetes/installing-a-subcloud-without-redfish-platform-management-service.rst +++ b/doc/source/dist_cloud/kubernetes/installing-a-subcloud-without-redfish-platform-management-service.rst @@ -118,28 +118,32 @@ subcloud, the subcloud installation process has two phases: 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: + 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:: none #### start ks-addon.cfg - OAM_DEV=enp0s3 - OAM_VLAN=1234 + RAW_DEV=enp24s0f0 + OAM_VLAN=103 - cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$OAM_DEV - DEVICE=$OAM_DEV - BOOTPROTO=none - ONBOOT=yes - LINKDELAY=20 + cat << EOF > ${IMAGE_ROOTFS}/etc/network/interfaces.d/ifcfg-${RAW_DEV} + iface ${RAW_DEV} inet manual + mtu 9000 + post-up echo 0 > /proc/sys/net/ipv6/conf/${RAW_DEV}/autoconf;\ + echo 0 > /proc/sys/net/ipv6/conf/${RAW_DEV}/accept_ra;\ + echo 0 > /proc/sys/net/ipv6/conf/${RAW_DEV}/accept_redirects 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 + cat << EOF > ${IMAGE_ROOTFS}/etc/network/interfaces.d/ifcfg-vlan${OAM_VLAN} + iface vlan${OAM_VLAN} inet6 dhcp + vlan-raw-device ${RAW_DEV} + mtu 1500 + post-up /usr/sbin/ip link set dev vlan${OAM_VLAN} mtu 1500;\ + echo 0 > /proc/sys/net/ipv6/conf/vlan${OAM_VLAN}/autoconf;\ + echo 0 > /proc/sys/net/ipv6/conf/vlan${OAM_VLAN}/accept_ra;\ + echo 0 > /proc/sys/net/ipv6/conf/vlan${OAM_VLAN}/accept_redirects + pre-up /sbin/modprobe -q 8021q EOF #### end ks-addon.cfg diff --git a/doc/source/shared/_includes/installation-prereqs.rest b/doc/source/shared/_includes/installation-prereqs.rest index 6f61e0643..59f1da097 100644 --- a/doc/source/shared/_includes/installation-prereqs.rest +++ b/doc/source/shared/_includes/installation-prereqs.rest @@ -1,136 +1,163 @@ -.. _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 --initial-password -i -o - [ -a ] [ -p param=value ] - [ -d ] [ -t ] - -i : Specify input ISO file - -o : Specify output ISO file - -a : Specify ks-addon.cfg file - --initial-password : Specify the initial login password for sysadmin user - -p : Specify boot parameter - - Example: - -p instdev=/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:`pxe-boot-controller-0-d5da025c2524` 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 +.. _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 + + Example: + -p instdev=/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 with with ``static`` assigned |VLAN| addresses: + + .. code-block:: + + #### start ks-addon.cfg + RAW_DEV=enp24s0f0 + OAM_VLAN=103 + MGMT_VLAN=163 + + cat << EOF > ${IMAGE_ROOTFS}/etc/network/interfaces.d/auto + auto ${RAW_DEV} lo vlan${OAM_VLAN} vlan${MGMT_VLAN} + + EOF + + cat << EOF > ${IMAGE_ROOTFS}/etc/network/interfaces.d/ifcfg-${RAW_DEV} + iface ${RAW_DEV} inet manual + mtu 9000 + post-up echo 0 > /proc/sys/net/ipv6/conf/${RAW_DEV}/autoconf;\ + echo 0 > /proc/sys/net/ipv6/conf/${RAW_DEV}/accept_ra;\ + echo 0 > /proc/sys/net/ipv6/conf/${RAW_DEV}/accept_redirects + EOF + + cat << EOF > ${IMAGE_ROOTFS}/etc/network/interfaces.d/ifcfg-vlan${OAM_VLAN} + iface vlan${OAM_VLAN} inet6 static + vlan-raw-device ${RAW_DEV} + address <__address__> + netmask 64 + gateway <__address__> + mtu 1500 + post-up /usr/sbin/ip link set dev vlan${OAM_VLAN} mtu 1500;\ + echo 0 > /proc/sys/net/ipv6/conf/vlan${OAM_VLAN}/autoconf;\ + echo 0 > /proc/sys/net/ipv6/conf/vlan${OAM_VLAN}/accept_ra;\ + echo 0 > /proc/sys/net/ipv6/conf/vlan${OAM_VLAN}/accept_redirects + pre-up /sbin/modprobe -q 8021q + EOF + + cat << EOF > ${IMAGE_ROOTFS}/etc/network/interfaces.d/ifcfg-vlan${MGMT_VLAN} + iface vlan${MGMT_VLAN} inet6 static + vlan-raw-device ${RAW_DEV} + address <__address__> + netmask 64 + mtu 1500 + post-up /usr/local/bin/tc_setup.sh vlan${MGMT_VLAN} mgmt 10000 > /dev/null;\ + /usr/sbin/ip link set dev vlan${MGMT_VLAN} mtu 1500;\ + echo 0 > /proc/sys/net/ipv6/conf/vlan${MGMT_VLAN}/autoconf;\ + echo 0 > /proc/sys/net/ipv6/conf/vlan${MGMT_VLAN}/accept_ra;\ + echo 0 > /proc/sys/net/ipv6/conf/vlan${MGMT_VLAN}/accept_redirects + pre-up /sbin/modprobe -q 8021q + 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:`pxe-boot-controller-0-d5da025c2524` 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