diff --git a/_topic_map.yml b/_topic_map.yml index 88b9928e8a9e..99c827e570e5 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -216,12 +216,22 @@ Topics: File: ipi-install-installation-workflow - Name: Troubleshooting File: ipi-install-troubleshooting -# - Name: Installing on IBM Z and LinuxONE -# Dir: installing_ibm_z -# Distros: openshift-enterprise,openshift-webscale -# Topics: -# - Name: Installing a cluster on IBM Z and LinuxONE -# File: installing-ibm-z +- Name: Installing on IBM Z and LinuxONE + Dir: installing_ibm_z + Distros: openshift-enterprise,openshift-webscale + Topics: + - Name: Installing a cluster on IBM Z and LinuxONE + File: installing-ibm-z + - Name: Restricted network IBM Z installation + File: installing-restricted-networks-ibm-z +- Name: Installing on IBM Power + Dir: installing_ibm_power + Distros: openshift-enterprise,openshift-webscale + Topics: + - Name: Installing a cluster on IBM Power + File: installing-ibm-power + - Name: Restricted network IBM Power installation + File: installing-restricted-networks-ibm-power - Name: Installing on OpenStack Dir: installing_openstack Topics: diff --git a/autocomment.sh b/autocomment.sh index 4f1bc298028a..1e37ccc925c0 100644 --- a/autocomment.sh +++ b/autocomment.sh @@ -9,7 +9,7 @@ wget https://api.travis-ci.org/v3/job/"${TRAVIS_JOB_ID}"/log.txt ERROR_LIST=$(grep '31m' travis-log-408052641.txt | sed -r "s/[[:cntrl:]]\[[0-9]{1,3}m//g") echo "" > errors.txt -ALLOWED_USERS=("mburke5678" "vikram-redhat" "abrennan89" "ahardin-rh" "kalexand-rh" "adellape" "bmcelvee" "ousleyp" "lamek" "JStickler" "rh-max" "bergerhoffer" "huffmanca" "sheriff-rh" "jboxman" "bobfuru" "joaedwar" "aburdenthehand" "boczkowska" "Preeticp" "neal-timpe" "codyhoag" "pmacko1" "apinnick" "bgaydosrh" "lmandavi" "nkakkar81" "maxwelldb" "pneedle-rh" "lbarbeevargas" "jeana-redhat" "RichardHoch" "johnwilkins" "sjhala-ccs" "chrisnegus" "mgarrellRH" "SNiemann15" "sfortner-RH") +ALLOWED_USERS=("mburke5678" "vikram-redhat" "abrennan89" "ahardin-rh" "kalexand-rh" "adellape" "bmcelvee" "ousleyp" "lamek" "JStickler" "rh-max" "bergerhoffer" "huffmanca" "sheriff-rh" "jboxman" "bobfuru" "joaedwar" "aburdenthehand" "boczkowska" "Preeticp" "neal-timpe" "codyhoag" "pmacko1" "apinnick" "bgaydosrh" "lmandavi" "nkakkar81" "maxwelldb" "pneedle-rh" "lbarbeevargas" "jeana-redhat" "RichardHoch" "johnwilkins" "sjhala-ccs" "chrisnegus" "mgarrellRH" "SNiemann15" "sfortner-RH" "jonquilwilliams" "ktania46" "wking") USERNAME=${TRAVIS_PULL_REQUEST_SLUG::-15} if [ "$TRAVIS_PULL_REQUEST" != "false" ] ; then #to make sure it only runs on PRs and not all merges diff --git a/autopreview.sh b/autopreview.sh index 253e4f8ea97e..1ef0fa449694 100644 --- a/autopreview.sh +++ b/autopreview.sh @@ -1,7 +1,7 @@ #!/bin/bash set -ev -ALLOWED_USERS=("mburke5678" "vikram-redhat" "abrennan89" "ahardin-rh" "kalexand-rh" "adellape" "bmcelvee" "ousleyp" "lamek" "JStickler" "rh-max" "bergerhoffer" "huffmanca" "sheriff-rh" "jboxman" "bobfuru" "joaedwar" "aburdenthehand" "boczkowska" "Preeticp" "neal-timpe" "codyhoag" "pmacko1" "apinnick" "bgaydosrh" "lmandavi" "nkakkar81" "maxwelldb" "pneedle-rh" "lbarbeevargas" "jeana-redhat" "RichardHoch" "johnwilkins" "sjhala-ccs" "chrisnegus" "mgarrellRH" "SNiemann15" "sfortner-RH") +ALLOWED_USERS=("mburke5678" "vikram-redhat" "abrennan89" "ahardin-rh" "kalexand-rh" "adellape" "bmcelvee" "ousleyp" "lamek" "JStickler" "rh-max" "bergerhoffer" "huffmanca" "sheriff-rh" "jboxman" "bobfuru" "joaedwar" "aburdenthehand" "boczkowska" "Preeticp" "neal-timpe" "codyhoag" "pmacko1" "apinnick" "bgaydosrh" "lmandavi" "nkakkar81" "maxwelldb" "pneedle-rh" "lbarbeevargas" "jeana-redhat" "RichardHoch" "johnwilkins" "sjhala-ccs" "chrisnegus" "mgarrellRH" "SNiemann15" "sfortner-RH" "jonquilwilliams" "ktania46" "wking") USERNAME=${TRAVIS_PULL_REQUEST_SLUG::-15} COMMIT_HASH="$(git rev-parse @~)" mapfile -t FILES_CHANGED < <(git diff --name-only "$COMMIT_HASH") diff --git a/installing/installing_ibm_power/images b/installing/installing_ibm_power/images new file mode 120000 index 000000000000..847b03ed0541 --- /dev/null +++ b/installing/installing_ibm_power/images @@ -0,0 +1 @@ +../../images/ \ No newline at end of file diff --git a/installing/installing_ibm_power/installing-ibm-power.adoc b/installing/installing_ibm_power/installing-ibm-power.adoc new file mode 100644 index 000000000000..e10e19e074e3 --- /dev/null +++ b/installing/installing_ibm_power/installing-ibm-power.adoc @@ -0,0 +1,90 @@ +[id="installing-ibm-power"] += Installing a cluster on IBM Power +include::modules/common-attributes.adoc[] +:context: installing-ibm-power + +toc::[] + +In {product-title} version {product-version}, you can install a cluster on +IBM Power infrastructure that you provision. + +[IMPORTANT] +==== +Additional considerations exist for non-bare metal platforms. Review the information in the +link:https://access.redhat.com/articles/4207611[guidelines for deploying {product-title} on non-tested platforms]before you install an {product-title} cluster. +==== + +.Prerequisites + +* Before you begin the installation process, you must clean the installation directory. This ensures that the required installation files are created and updated during the installation process. +* Provision +xref:../../storage/persistent_storage/persistent-storage-nfs.adoc#persistent-storage-nfs[persistent storage using NFS] +for your cluster. To deploy a private image registry, your storage must provide +ReadWriteMany access modes. +* Review details about the +xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] +processes. +* If you use a firewall, you must +xref:../../installing/install_config/configuring-firewall.adoc#configuring-firewall[configure it to allow the sites] that your cluster requires access to. ++ +[NOTE] +==== +Be sure to also review this site list if you are configuring a proxy. +==== + +include::modules/cluster-entitlements.adoc[leveloffset=+1] + +include::modules/installation-requirements-user-infra.adoc[leveloffset=+1] + +include::modules/installation-infrastructure-user-infra.adoc[leveloffset=+1] + +include::modules/installation-network-user-infra.adoc[leveloffset=+2] + +include::modules/installation-dns-user-infra.adoc[leveloffset=+2] + +include::modules/ssh-agent-using.adoc[leveloffset=+1] + +include::modules/installation-obtaining-installer.adoc[leveloffset=+1] + +include::modules/cli-installing-cli.adoc[leveloffset=+1] + +include::modules/installation-initializing-manual.adoc[leveloffset=+1] + +include::modules/installation-bare-metal-config-yaml.adoc[leveloffset=+2] + +include::modules/installation-configure-proxy.adoc[leveloffset=+2] + +include::modules/installation-user-infra-generate-k8s-manifest-ignition.adoc[leveloffset=+1] + +[id="creating-machines-bare-metal-power"] +== Creating {op-system-first} machines + +Before you install a cluster on IBM Power infrastructure that you provision, +you must create {op-system} machines for it to use. Follow either the steps +to use an ISO image or network PXE booting to create the machines. + +include::modules/installation-user-infra-machines-iso.adoc[leveloffset=+2] + +include::modules/installation-user-infra-machines-pxe.adoc[leveloffset=+2] + +include::modules/installation-installing-bare-metal.adoc[leveloffset=+1] + +include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1] + +include::modules/installation-approve-csrs.adoc[leveloffset=+1] + +include::modules/installation-operators-config.adoc[leveloffset=+1] + +include::modules/installation-registry-storage-config.adoc[leveloffset=+2] + +include::modules/registry-configuring-storage-baremetal.adoc[leveloffset=+3] + +include::modules/installation-registry-storage-non-production.adoc[leveloffset=+3] + +include::modules/installation-complete-user-infra.adoc[leveloffset=+1] + +.Next steps + +* xref:../../installing/install_config/customizations.adoc#customizations[Customize your cluster]. +* If necessary, you can +xref:../../support/remote_health_monitoring/opting-out-of-remote-health-reporting.adoc#opting-out-remote-health-reporting_opting-out-remote-health-reporting[opt out of remote health reporting]. diff --git a/installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc b/installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc new file mode 100644 index 000000000000..91a01e4e5160 --- /dev/null +++ b/installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc @@ -0,0 +1,100 @@ +[id="installing-restricted-networks-ibm-power"] += Installing a cluster on IBM Power in a restricted network +include::modules/common-attributes.adoc[] +:context: installing-restricted-networks-ibm-power + +toc::[] + +In {product-title} version {product-version}, you can install a cluster on +IBM Power infrastructure that you provision in a restricted network. + +[IMPORTANT] +==== +Additional considerations exist for non-bare metal platforms. Review the information in the +link:https://access.redhat.com/articles/4207611[guidelines for deploying {product-title} on non-tested platforms] before you install an {product-title} cluster. +==== + +.Prerequisites + +* xref:../../installing/install_config/installing-restricted-networks-preparations.adoc#installing-restricted-networks-preparations[Create a mirror registry for installation in a restricted network] and obtain the `imageContentSources` data for your version of {product-title}. +* Before you begin the installation process, you must move or remove any existing installation files. This ensures that the required installation files are created and updated during the installation process. ++ +[IMPORTANT] +==== +Ensure that installation steps are performed on a machine with access to the installation media. +==== +* Provision +xref:../../storage/understanding-persistent-storage.adoc#understanding-persistent-storage[persistent storage] +for your cluster. To deploy a private image registry, your storage must provide +ReadWriteMany access modes. +* Review details about the +xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] +processes. +* If you use a firewall and plan to use telemetry, you must +xref:../../installing/install_config/configuring-firewall.adoc#configuring-firewall[configure the firewall to allow the sites] that your cluster requires access to. ++ +[NOTE] +==== +Be sure to also review this site list if you are configuring a proxy. +==== + +include::modules/installation-about-restricted-network.adoc[leveloffset=+1] + +include::modules/cluster-entitlements.adoc[leveloffset=+1] + +include::modules/installation-requirements-user-infra.adoc[leveloffset=+1] + +include::modules/installation-infrastructure-user-infra.adoc[leveloffset=+1] + +include::modules/installation-network-user-infra.adoc[leveloffset=+2] + +include::modules/installation-dns-user-infra.adoc[leveloffset=+2] + +include::modules/ssh-agent-using.adoc[leveloffset=+1] + +//You extract the installation program from the mirrored content. + +//You install the CLI on the bastion host. + +include::modules/installation-initializing-manual.adoc[leveloffset=+1] + +include::modules/installation-bare-metal-config-yaml.adoc[leveloffset=+2] + +include::modules/installation-configure-proxy.adoc[leveloffset=+2] + +include::modules/installation-user-infra-generate-k8s-manifest-ignition.adoc[leveloffset=+1] + +[id="creating-machines-ibm-power-restricted-network"] +== Creating {op-system-first} machines + +Before you install a cluster on IBM Power infrastructure that you provision, +you must create {op-system} machines for it to use. Follow either the steps +to use an ISO image or network PXE booting to create the machines. + +include::modules/installation-user-infra-machines-iso.adoc[leveloffset=+2] + +include::modules/installation-user-infra-machines-static-network.adoc[leveloffset=+3] + +include::modules/installation-user-infra-machines-pxe.adoc[leveloffset=+2] + +include::modules/installation-installing-bare-metal.adoc[leveloffset=+1] + +include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1] + +include::modules/installation-approve-csrs.adoc[leveloffset=+1] + +include::modules/installation-operators-config.adoc[leveloffset=+1] + +include::modules/installation-registry-storage-config.adoc[leveloffset=+2] + +include::modules/registry-change-management-state.adoc[leveloffset=+3] + +include::modules/registry-configuring-storage-baremetal.adoc[leveloffset=+3] + +include::modules/installation-registry-storage-non-production.adoc[leveloffset=+3] + +include::modules/installation-complete-user-infra.adoc[leveloffset=+1] + +.Next steps + +* xref:../../installing/install_config/customizations.adoc#customizations[Customize your cluster]. diff --git a/installing/installing_ibm_power/modules b/installing/installing_ibm_power/modules new file mode 120000 index 000000000000..36719b9de743 --- /dev/null +++ b/installing/installing_ibm_power/modules @@ -0,0 +1 @@ +../../modules/ \ No newline at end of file diff --git a/installing/installing_ibm_z/installing-ibm-z.adoc b/installing/installing_ibm_z/installing-ibm-z.adoc index e3fc4d36c60e..dd0b29f139c4 100644 --- a/installing/installing_ibm_z/installing-ibm-z.adoc +++ b/installing/installing_ibm_z/installing-ibm-z.adoc @@ -1,26 +1,28 @@ [id="installing-ibm-z"] -= Installing a cluster on IBM Z += Installing a cluster on IBM Z and LinuxONE include::modules/common-attributes.adoc[] :context: installing-ibm-z toc::[] In {product-title} version {product-version}, you can install a cluster on -IBM Z infrastructure that you provision. +IBM Z or LinuxONE infrastructure that you provision. -[IMPORTANT] +[NOTE] ==== -Additional considerations exist for non-bare metal platforms. Review the information in the -link:https://access.redhat.com/articles/4207611[guidelines for deploying {product-title} on non-tested platforms] before you install an {product-title} cluster. +While this document refers only to IBM Z, all information in it also applies to LinuxONE. ==== -[WARNING] +[IMPORTANT] ==== -Restricted network installations are not tested or supported on IBM Z in {product-title} {product-version}. +Additional considerations exist for non-bare metal platforms. Review the information in the +link:https://access.redhat.com/articles/4207611[guidelines for deploying {product-title} on non-tested platforms] before you install an {product-title} cluster. ==== == Prerequisites +* Before you begin the installation process, you must clean the installation directory. This ensures that the required installation files are created and updated during the installation process. + * Provision xref:../../storage/persistent_storage/persistent-storage-nfs.adoc#persistent-storage-nfs[persistent storage using NFS] for your cluster. To deploy a private image registry, your storage must provide @@ -30,7 +32,7 @@ xref:../../architecture/architecture-installation.adoc#architecture-installation processes. * If you use a firewall, you must xref:../../installing/install_config/configuring-firewall.adoc#configuring-firewall[configure it to allow the sites] that your cluster requires access to. -+ + [NOTE] ==== Be sure to also review this site list if you are configuring a proxy. @@ -40,6 +42,12 @@ include::modules/cluster-entitlements.adoc[leveloffset=+1] include::modules/installation-requirements-user-infra.adoc[leveloffset=+1] +.Additional resources + +* See link:https://www.ibm.com/support/knowledgecenter/en/SSB27U_7.1.0/com.ibm.zvm.v710.hcpa6/bhslzvs.htm[Bridging a HiperSockets LAN with a z/VM Virtual Switch] in the IBM Knowledge Center. + +* See link:http://public.dhe.ibm.com/software/dw/linux390/perf/zvm_hpav00.pdf[Scaling HyperPAV alias devices on Linux guests on z/VM] for performance optimization. + include::modules/installation-infrastructure-user-infra.adoc[leveloffset=+1] include::modules/installation-network-user-infra.adoc[leveloffset=+2] @@ -56,6 +64,8 @@ include::modules/installation-initializing-manual.adoc[leveloffset=+1] include::modules/installation-bare-metal-config-yaml.adoc[leveloffset=+2] +include::modules/installation-configure-proxy.adoc[leveloffset=+1] + include::modules/installation-user-infra-generate-k8s-manifest-ignition.adoc[leveloffset=+1] include::modules/installation-ibm-z-user-infra-machines-iso.adoc[leveloffset=+1] @@ -76,8 +86,15 @@ include::modules/installation-registry-storage-non-production.adoc[leveloffset=+ include::modules/installation-complete-user-infra.adoc[leveloffset=+1] +include::modules/installation-ibm-z-troubleshooting-and-debugging.adoc[leveloffset=+1] + +.Additional resources + +* See also link:https://access.redhat.com/solutions/4387261[How to generate SOSREPORT within OpenShift4 nodes without SSH]. + == Next steps * xref:../../installing/install_config/customizations.adoc#customizations[Customize your cluster]. + * If necessary, you can xref:../../support/remote_health_monitoring/opting-out-of-remote-health-reporting.adoc#opting-out-remote-health-reporting_opting-out-remote-health-reporting[opt out of remote health reporting]. diff --git a/installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc b/installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc new file mode 100644 index 000000000000..6d57284635d9 --- /dev/null +++ b/installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc @@ -0,0 +1,101 @@ +[id="installing-restricted-networks-ibm-z"] += Installing a cluster on IBM Z and LinuxONE in a restricted network +include::modules/common-attributes.adoc[] +:context: installing-restricted-networks-ibm-z + +toc::[] + +In {product-title} version {product-version}, you can install a cluster on +IBM Z and LinuxONE infrastructure that you provision in a restricted network. + +[NOTE] +==== +While this document refers to only IBM Z, all information in it also applies to LinuxONE. +==== + +[IMPORTANT] +==== +Additional considerations exist for non-bare metal platforms. Review the information in the +link:https://access.redhat.com/articles/4207611[guidelines for deploying {product-title} on non-tested platforms] before you install an {product-title} cluster. +==== + +.Prerequisites + +* xref:../../installing/install_config/installing-restricted-networks-preparations.adoc#installing-restricted-networks-preparations[Create a mirror registry for installation in a restricted network] and obtain the `imageContentSources` data for your version of {product-title}. +* Before you begin the installation process, you must move or remove any existing installation files. This ensures that the required installation files are created and updated during the installation process. ++ +[IMPORTANT] +==== +Ensure that installation steps are done from a machine with access to the installation media. +==== +* Provision +xref:../../storage/understanding-persistent-storage.adoc#understanding-persistent-storage[persistent storage] +using NFS for your cluster. To deploy a private image registry, your storage +must provide ReadWriteMany access modes. +* Review details about the +xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] +processes. +* If you use a firewall and plan to use telemetry, you must +xref:../../installing/install_config/configuring-firewall.adoc#configuring-firewall[configure the firewall to allow the sites] that your cluster requires access to. ++ +[NOTE] +==== +Be sure to also review this site list if you are configuring a proxy. +==== + +include::modules/installation-about-restricted-network.adoc[leveloffset=+1] + +include::modules/installation-requirements-user-infra.adoc[leveloffset=+1] + +.Additional resources + +* See link:https://www.ibm.com/support/knowledgecenter/en/SSB27U_7.1.0/com.ibm.zvm.v710.hcpa6/bhslzvs.htm[Bridging a HiperSockets LAN with a z/VM Virtual Switch] in the IBM Knowledge Center. +* See link:http://public.dhe.ibm.com/software/dw/linux390/perf/zvm_hpav00.pdf[Scaling HyperPAV alias devices on Linux guests on z/VM] for performance optimization. + +include::modules/installation-infrastructure-user-infra.adoc[leveloffset=+1] + +include::modules/installation-network-user-infra.adoc[leveloffset=+2] + +include::modules/installation-dns-user-infra.adoc[leveloffset=+2] + +include::modules/ssh-agent-using.adoc[leveloffset=+1] + +//You extract the installation program from the mirrored content. + +//You install the CLI on the bastion host. + +include::modules/installation-initializing-manual.adoc[leveloffset=+1] + +include::modules/installation-bare-metal-config-yaml.adoc[leveloffset=+2] + +include::modules/installation-configure-proxy.adoc[leveloffset=+2] + +include::modules/installation-user-infra-generate-k8s-manifest-ignition.adoc[leveloffset=+1] + +include::modules/installation-ibm-z-user-infra-machines-iso.adoc[leveloffset=+1] + +include::modules/installation-installing-bare-metal.adoc[leveloffset=+1] + +include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1] + +include::modules/installation-approve-csrs.adoc[leveloffset=+1] + +include::modules/installation-operators-config.adoc[leveloffset=+1] + +include::modules/installation-registry-storage-config.adoc[leveloffset=+2] + +include::modules/registry-configuring-storage-baremetal.adoc[leveloffset=+3] + +include::modules/installation-registry-storage-non-production.adoc[leveloffset=+3] + +include::modules/installation-complete-user-infra.adoc[leveloffset=+1] + +include::modules/installation-ibm-z-troubleshooting-and-debugging.adoc[leveloffset=+1] + +.Additional resources + +* See also link:https://access.redhat.com/solutions/4387261[How to generate SOSREPORT within {product-title} version 4 nodes without SSH]. + +.Next steps + +* xref:../../installing/install_config/customizations.adoc#customizations[Customize your cluster]. diff --git a/modules/installation-about-restricted-network.adoc b/modules/installation-about-restricted-network.adoc index b74f9590d062..87a7da9d9e09 100644 --- a/modules/installation-about-restricted-network.adoc +++ b/modules/installation-about-restricted-network.adoc @@ -3,6 +3,14 @@ // * installing/installing_aws/installing-restricted-networks-aws.adoc // * installing/installing_bare_metal/installing-restricted-networks-bare-metal.adoc // * installing/installing_vsphere/installing-restricted-networks-vsphere.adoc +// * installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc +// * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc +ifeval::["{context}" == "installing-ibm-power"] +:ibm-power: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:ibm-power: +endif::[] [id="installation-about-restricted-networks_{context}"] = About installations in restricted networks @@ -14,6 +22,7 @@ not infrastructure that the installation program provisions, so your platform se limited. // maybe point out that you can follow the bare metal installation rules on supported hardware and link to the matrix +ifndef::ibm-power[] If you choose to perform a restricted network installation on a cloud platform, you still require access to its cloud APIs. Some cloud functions, like Amazon Web Service's IAM service, require internet access, so you might still @@ -21,6 +30,7 @@ require internet access. //behind a proxy Depending on your network, you might require less internet access for an installation on bare metal hardware or on VMware vSphere. +endif::ibm-power[] To complete a restricted network installation, you must create a registry that mirrors the contents of the {product-title} registry and contains the @@ -49,3 +59,10 @@ error. * By default, you cannot use the contents of the Developer Catalog because you cannot access the required ImageStreamTags. //* The `TelemeterClientDown` and `Watchdog` alerts from the monitoring Operator always display. + +ifeval::["{context}" == "installing-ibm-power"] +:!ibm-power: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:!ibm-power: +endif::[] diff --git a/modules/installation-approve-csrs.adoc b/modules/installation-approve-csrs.adoc index d2290e1666b1..6a7c2c315b74 100644 --- a/modules/installation-approve-csrs.adoc +++ b/modules/installation-approve-csrs.adoc @@ -35,24 +35,6 @@ these CSRs are approved or, if necessary, approve them yourself. . Confirm that the cluster recognizes the machines: + -ifdef::ibm-z[] -[source,terminal] ----- -# oc get nodes ----- -+ -.Example output -[source,terminal] ----- -NAME STATUS ROLES AGE VERSION -master-0.cl1mstr0.example.com Ready master 20h v1.14.6+888f9c630 -master-1.cl1mstr1.example.com Ready master 20h v1.14.6+888f9c630 -master-2.cl1mstr2.example.com Ready master 20h v1.14.6+888f9c630 -worker-0.cl1wrk00.example.com Ready worker 20h v1.14.6+888f9c630 -worker-1.cl1wrk01.example.com Ready worker 20h v1.14.6+888f9c630 ----- -endif::ibm-z[] -ifndef::ibm-z[] [source,terminal] ---- $ oc get nodes @@ -68,7 +50,6 @@ master-2 Ready master 64m v1.19.0 worker-0 NotReady worker 76s v1.19.0 worker-1 NotReady worker 70s v1.19.0 ---- -endif::ibm-z[] + The output lists all of the machines that you created. @@ -76,6 +57,7 @@ The output lists all of the machines that you created. you see a client and server request with the `Pending` or `Approved` status for each machine that you added to the cluster: + +ifndef::ibm-z[] [source,terminal] ---- $ oc get csr @@ -96,6 +78,21 @@ csr-c57lv 5m26s system:node:ip-10-0-95-157.us-east-2.compute.internal + In this example, two machines are joining the cluster. You might see more approved CSRs in the list. +endif::ibm-z[] +ifdef::ibm-z[] +[source,terminal] +---- +$ oc get csr +---- ++ +[source,terminal] +.Example output +---- +NAME AGE REQUESTOR CONDITION +csr-mddf5 20m system:node:master-01.example.com Approved,Issued +csr-z5rln 16m system:node:worker-21.example.com Approved,Issued +---- +endif::ibm-z[] . If the CSRs were not approved, after all of the pending CSRs for the machines you added are in `Pending` status, approve the CSRs for your cluster machines: diff --git a/modules/installation-bare-metal-config-yaml.adoc b/modules/installation-bare-metal-config-yaml.adoc index 6024ca5975bf..ee866643e5a6 100644 --- a/modules/installation-bare-metal-config-yaml.adoc +++ b/modules/installation-bare-metal-config-yaml.adoc @@ -3,13 +3,35 @@ // * installing/installing_bare_metal/installing-bare-metal.adoc // * installing/installing_bare_metal/installing-restricted-networks-bare-metal.adoc // * installing/installing_ibm_z/installing-ibm-z.adoc +// * installing/installing_ibm_power/installing-ibm-power.adoc ifeval::["{context}" == "installing-restricted-networks-bare-metal"] :restricted: endif::[] +ifeval::["{context}" == "installing-ibm-z"] +:ibm-z: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:ibm-z: +:restricted: +endif::[] +ifeval::["{context}" == "installing-ibm-power"] +:ibm-power: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:ibm-power: +endif::[] [id="installation-bare-metal-config-yaml_{context}"] +ifndef::ibm-z,ibm-power[] = Sample `install-config.yaml` file for bare metal +endif::ibm-z,ibm-power[] +ifdef::ibm-z[] += Sample `install-config.yaml` file for IBM Z +endif::ibm-z[] +ifdef::ibm-power[] += Sample `install-config.yaml` file for IBM Power +endif::ibm-power[] You can customize the `install-config.yaml` file to specify more details about your {product-title} cluster's platform or modify the values of the required @@ -23,10 +45,34 @@ compute: - hyperthreading: Enabled <2> <3> name: worker replicas: 0 <4> +ifeval::["{context}" == "installing-ibm-z"] + architecture : s390x +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] + architecture : s390x +endif::[] +ifeval::["{context}" == "installing-ibm-power"] + architecture : ppc64le +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] + architecture : ppc64le +endif::[] controlPlane: hyperthreading: Enabled <2> <3> name: master <3> replicas: 3 <5> +ifeval::["{context}" == "installing-ibm-z"] + architecture : s390x +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] + architecture : s390x +endif::[] +ifeval::["{context}" == "installing-ibm-power"] + architecture : ppc64le +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] + architecture : ppc64le +endif::[] metadata: name: test <6> networking: @@ -53,11 +99,20 @@ additionalTrustBundle: | <14> -----END CERTIFICATE----- imageContentSources: <15> - mirrors: +ifdef::ibm-z[] + - /ocp4/openshift4 + source: quay.io/openshift-release-dev/ocp-release +- mirrors: + - /ocp4/openshift4 + source: quay.io/openshift-release-dev/ocp-v4.0-art-devsshKey: 'ssh-ed25519 AAAA...' +endif::ibm-z[] +ifndef::ibm-z[] - //release source: quay.io/openshift-release-dev/ocp-release - mirrors: - //release source: registry.svc.ci.openshift.org/ocp/release +endif::ibm-z[] endif::restricted[] ---- <1> The base domain of the cluster. All DNS records must be sub-domains of this @@ -101,11 +156,21 @@ load balancers and routers to manage the traffic. one IP address pool. If you need to access the services from an external network, configure load balancers and routers to manage the traffic. <10> You must set the platform to `none`. You cannot provide additional platform -configuration variables for bare metal infrastructure. +configuration variables for +ifndef::ibm-z,ibm-power[bare metal] +ifdef::ibm-z[IBM Z] +ifdef::ibm-power[IBM Power] +infrastructure. <11> Whether to enable or disable FIPS mode. By default, FIPS mode is not enabled. If FIPS mode is enabled, the {op-system-first} machines that {product-title} runs on bypass the default Kubernetes cryptography suite and use the cryptography modules that are provided with {op-system} instead. ifndef::restricted[] +ifdef::ibm-z[] +<12> The pullSecret value contains the authentication information for your registry. For , specify the registry domain name that you specified in the certificate for your mirror registry, and for , specify the base64-encoded user name and password for your mirror registry. +endif::ibm-z[] +ifndef::ibm-z[] <12> The pull secret that you obtained from the -link:https://cloud.redhat.com/openshift/install/pull-secret[Pull Secret] page on the {cloud-redhat-com} site. This pull secret allows you to authenticate with the services that are +link:https://cloud.redhat.com/openshift/install/pull-secret[Pull Secret] page on the {cloud-redhat-com} site. +endif::ibm-z[] +This pull secret allows you to authenticate with the services that are provided by the included authorities, including Quay.io, which serves the container images for {product-title} components. endif::restricted[] @@ -123,8 +188,13 @@ endif::restricted[] For production {product-title} clusters on which you want to perform installation debugging or disaster recovery, specify an SSH key that your `ssh-agent` process uses. ==== ifdef::restricted[] +ifndef::ibm-z[] <14> Provide the contents of the certificate file that you used for your mirror registry. +endif::ibm-z[] +ifdef::ibm-z[] +<14> Add the additionalTrustBundle parameter and value. The value must be the contents of the certificate file that you used for your mirror registry, which can be an exiting, trusted certificate authority or the self-signed certificate that you generated for the mirror registry. +endif::ibm-z[] <15> Provide the `imageContentSources` section from the output of the command to mirror the repository. endif::restricted[] @@ -136,3 +206,16 @@ endif::[] ifdef::openshift-origin[] :!restricted: endif::[] +ifeval::["{context}" == "installing-ibm-z"] +:!ibm-z: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:!ibm-z: +:!restricted: +endif::[] +ifeval::["{context}" == "installing-ibm-power"] +:!ibm-power: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:!ibm-power: +endif::[] diff --git a/modules/installation-complete-user-infra.adoc b/modules/installation-complete-user-infra.adoc index c3f0848fe687..a5e60c5195cb 100644 --- a/modules/installation-complete-user-infra.adoc +++ b/modules/installation-complete-user-infra.adoc @@ -12,6 +12,9 @@ endif::[] ifeval::["{context}" == "installing-restricted-networks-bare-metal"] :restricted: endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:restricted: +endif::[] [id="installation-complete-user-infra_{context}"] = Completing installation on user-provisioned infrastructure @@ -36,37 +39,37 @@ $ watch -n5 oc get clusteroperators .Example output [source,terminal] ---- -NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE -authentication 4.5.4 True False False 7m56s -cloud-credential 4.5.4 True False False 31m -cluster-autoscaler 4.5.4 True False False 16m -console 4.5.4 True False False 10m -csi-snapshot-controller 4.5.4 True False False 16m -dns 4.5.4 True False False 22m -etcd 4.5.4 False False False 25s -image-registry 4.5.4 True False False 16m -ingress 4.5.4 True False False 16m -insights 4.5.4 True False False 17m -kube-apiserver 4.5.4 True False False 19m -kube-controller-manager 4.5.4 True False False 20m -kube-scheduler 4.5.4 True False False 20m -kube-storage-version-migrator 4.5.4 True False False 16m -machine-api 4.5.4 True False False 22m -machine-config 4.5.4 True False False 22m -marketplace 4.5.4 True False False 16m -monitoring 4.5.4 True False False 10m -network 4.5.4 True False False 23m -node-tuning 4.5.4 True False False 23m -openshift-apiserver 4.5.4 True False False 17m -openshift-controller-manager 4.5.4 True False False 15m -openshift-samples 4.5.4 True False False 16m -operator-lifecycle-manager 4.5.4 True False False 22m -operator-lifecycle-manager-catalog 4.5.4 True False False 22m -operator-lifecycle-manager-packageserver 4.5.4 True False False 18m -service-ca 4.5.4 True False False 23m -service-catalog-apiserver 4.5.4 True False False 23m -service-catalog-controller-manager 4.5.4 True False False 23m -storage 4.5.4 True False False 17m +NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE +authentication 4.6.0 True False False 3h56m +cloud-credential 4.6.0 True False False 29h +cluster-autoscaler 4.6.0 True False False 29h +config-operator 4.6.0 True False False 6h39m +console 4.6.0 True False False 3h59m +csi-snapshot-controller 4.6.0 True False False 4h12m +dns 4.6.0 True False False 4h15m +etcd 4.6.0 True False False 29h +image-registry 4.6.0 True False False 3h59m +ingress 4.6.0 True False False 4h30m +insights 4.6.0 True False False 29h +kube-apiserver 4.6.0 True False False 29h +kube-controller-manager 4.6.0 True False False 29h +kube-scheduler 4.6.0 True False False 29h +kube-storage-version-migrator 4.6.0 True False False 4h2m +machine-api 4.6.0 True False False 29h +machine-approver 4.6.0 True False False 6h34m +machine-config 4.6.0 True False False 3h56m +marketplace 4.6.0 True False False 4h2m +monitoring 4.6.0 True False False 6h31m +network 4.6.0 True False False 29h +node-tuning 4.6.0 True False False 4h30m +openshift-apiserver 4.6.0 True False False 3h56m +openshift-controller-manager 4.6.0 True False False 4h36m +openshift-samples 4.6.0 True False False 4h30m +operator-lifecycle-manager 4.6.0 True False False 29h +operator-lifecycle-manager-catalog 4.6.0 True False False 29h +operator-lifecycle-manager-packageserver 4.6.0 True False False 3h59m +service-ca 4.6.0 True False False 29h +storage 4.6.0 True False False 4h30m ---- + When all of the cluster Operators are `AVAILABLE`, you can complete the installation. @@ -140,3 +143,6 @@ endif::[] ifdef::openshift-origin[] :!restricted: endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:!restricted: +endif::[] diff --git a/modules/installation-ibm-z-troubleshooting-and-debugging.adoc b/modules/installation-ibm-z-troubleshooting-and-debugging.adoc new file mode 100644 index 000000000000..326bd33c6621 --- /dev/null +++ b/modules/installation-ibm-z-troubleshooting-and-debugging.adoc @@ -0,0 +1,43 @@ +// Module included in the following assemblies: +// +// * installing/installing_ibm_z/installing-ibm-z.adoc + +[id="installation-ibm-z-troubleshooting-and-debugging_{context}"] += Collecting debugging information + +You can gather debugging information that might help you to troubleshoot and +debug certain issues with an {product-title} installation on IBM Z. + +.Prerequisites + +* The `oc` CLI tool installed. + +.Procedure + +. Log in to the cluster: ++ +---- +$ oc login +---- + +. On the node you want to gather hardware information about, start a debugging +container: ++ +---- +$ oc debug node/ +---- + +. Change to the */host* file system and start `toolbox`: ++ +---- +$ chroot /host +$ toolbox +---- + +. Collect the `dbginfo` data: ++ +---- +$ dbginfo.sh +---- + +. You can then retrieve the data, for example, using `scp`. diff --git a/modules/installation-ibm-z-user-infra-machines-iso.adoc b/modules/installation-ibm-z-user-infra-machines-iso.adoc index 77667815b24b..230a9e5edae8 100644 --- a/modules/installation-ibm-z-user-infra-machines-iso.adoc +++ b/modules/installation-ibm-z-user-infra-machines-iso.adoc @@ -15,26 +15,26 @@ Before you install a cluster on IBM Z infrastructure that you provision, you mus . Log in to Linux on your provisioning machine. -. Download the Red Hat Enterprise Linux CoreOS installation files from the link:https://mirror.openshift.com/pub/openshift-v4/s390x/dependencies/rhcos/4.2/latest/[{op-system} image mirror]. +. Obtain the {op-system-first} kernel, initramfs and rootfs files from the link:https://mirror.openshift.com/pub/openshift-v4/s390x/dependencies/rhcos/4.2/latest/[{op-system} image mirror]. + [IMPORTANT] ==== The {op-system} images might not change with every release of {product-title}. You must download images with the highest version that is less than or equal -to the {product-title} version that you install. Use the image versions -that match your {product-title} version if they are available. +to the {product-title} version that you install. Only use the appropriate kernel, initramfs, and rootfs artifacts described in the following procedure. ==== + -Download the following files: +The file names contain the {product-title} version number. They resemble the following examples: -* The initramfs: `rhcos--installer-initramfs.img` -* The kernel: `rhcos--installer-kernel` -* The operating system image for the disk on which you want to install {op-system}. This type can differ by virtual machine: +* kernel: `rhcos--live-kernel-` +* initramfs: `rhcos--live-initramfs..img` +* rootfs: `rhcos--live-rootfs..img` + -`rhcos--s390x-metal-dasd.raw.gz` for DASD +[NOTE] +==== +The rootfs image is the same for FCP and DASD. +==== + -`rhcos--s390x-metal-zfcp.raw.gz` for FCP - . Create parameter files. The following parameters are specific for a particular virtual machine: ** For `coreos.inst.install_dev=`, specify `dasda` for a DASD installation, or `sda` for FCP. Note that FCP requires `zfcp.allow_lun_scan=0`. ** For `rd.dasd=`, specifys the DASD where {op-system} is to be installed. @@ -44,8 +44,8 @@ Download the following files: ... An empty string. ... The gateway. ... The netmask. -... The machine host and domain name in the form `hostname.domainname`. Omit this value to let {op-system} decide set it. -... The network interface name. Omit this value to let {op-system} decide set it. +... The machine host and domain name in the form `hostname.domainname`. Omit this value to let {op-system} decide. +... The network interface name. Omit this value to let {op-system} decide. ... If you use static IP addresses, an empty string. ** For `coreos.inst.ignition_url=`, specify the Ignition file for the machine role. Use `bootstrap.ign`, `master.ign`, or `worker.ign`. ** All other parameters can stay as they are. @@ -53,8 +53,8 @@ Download the following files: Example parameter file, `bootstrap-0.parm`, for the bootstrap machine: + ---- -rd.neednet=1 coreos.inst=yes coreos.inst.install_dev=dasda coreos.inst.image_url=ftp:// -cl1.provide.example.com:8080/assets/rhcos-42.80.20191105.0-metal-dasd.raw.gz +rd.neednet=1 console=ttysclp0 coreos.inst.install_dev=dasda coreos.inst.image_url=ftp:// +cl1.provide.example.com:8080/assets/rhcos-live-rootfs.s390x.img coreos.inst.ignition_url=ftp://cl1.provide.example.com:8080/ignition-bootstrap-0 ip=172.18.78.2::172.18.78.1:255.255.255.0:::none nameserver=172.18.78.1 rd.znet=qeth,0.0.bdf0,0.0.bdf1,0.0.bdf2,layer2=1,portno=0 zfcp.allow_lun_scan=0 cio_ignore=all, diff --git a/modules/installation-installing-bare-metal.adoc b/modules/installation-installing-bare-metal.adoc index eb4da3011c4c..8ac56dfab4b2 100644 --- a/modules/installation-installing-bare-metal.adoc +++ b/modules/installation-installing-bare-metal.adoc @@ -6,6 +6,12 @@ // * installing/installing_vsphere/installing-vsphere.adoc // * installing/installing_ibm_z/installing-ibm-z.adoc +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:restricted: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:restricted: +endif::[] ifeval::["{context}" == "installing-restricted-networks-bare-metal"] :restricted: endif::[] @@ -47,8 +53,9 @@ $ ./openshift-install --dir= wait-for bootstrap-complete [source,terminal] ---- INFO Waiting up to 30m0s for the Kubernetes API at https://api.test.example.com:6443... -INFO API v1.14.6+c4799753c up -INFO Waiting up to 30m0s for the bootstrap-complete event... +INFO API v1.19.0 up +INFO Waiting up to 30m0s for bootstrapping to complete... +INFO It is now safe to remove the bootstrap resources ---- + The command succeeds when the Kubernetes API server signals that it has been @@ -63,6 +70,12 @@ You must remove the bootstrap machine from the load balancer at this point. You can also remove or reformat the machine itself. ==== +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:!restricted: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:!restricted: +endif::[] ifeval::["{context}" == "installing-restricted-networks-bare-metal"] :!restricted: endif::[] diff --git a/modules/installation-network-user-infra.adoc b/modules/installation-network-user-infra.adoc index 7083f37cba30..45b40a29be58 100644 --- a/modules/installation-network-user-infra.adoc +++ b/modules/installation-network-user-infra.adoc @@ -23,6 +23,12 @@ endif::[] ifeval::["{context}" == "installing-ibm-z"] :ibm-z: endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:restricted: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:restricted: +endif::[] [id="installation-network-user-infra_{context}"] = Networking requirements for user-provisioned infrastructure @@ -34,8 +40,7 @@ ifdef::ibm-z[] During the initial boot, the machines require an FTP server in order to establish a network connection to download their Ignition config files. -Ensure that the machines have persistent IP -addresses and host names. +Ensure that the machines have persistent IP addresses and host names. endif::ibm-z[] ifndef::ibm-z[] During the initial boot, the machines require either a DHCP server @@ -120,13 +125,13 @@ the Cluster Version Operator on port `9099`. The infrastructure that you provision for your cluster must meet the following network topology requirements. -ifndef::openshift-origin[] +ifndef::restricted,origin[] [IMPORTANT] ==== {product-title} requires all nodes to have internet access to pull images for platform containers and provide telemetry data to Red Hat. ==== -endif::[] +endif::restricted,origin[] [discrete] === Load balancers @@ -253,3 +258,9 @@ endif::[] ifeval::["{context}" == "installing-ibm-z"] :!ibm-z: endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:!restricted: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:!restricted: +endif::[] diff --git a/modules/installation-operators-config.adoc b/modules/installation-operators-config.adoc index 2a81353635d8..f7acc540ae1a 100644 --- a/modules/installation-operators-config.adoc +++ b/modules/installation-operators-config.adoc @@ -30,32 +30,36 @@ $ watch -n5 oc get clusteroperators .Example output [source,terminal] ---- -NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE -authentication 4.5.4 True False False 69s -cloud-credential 4.5.4 True False False 12m -cluster-autoscaler 4.5.4 True False False 11m -console 4.5.4 True False False 46s -dns 4.5.4 True False False 11m -image-registry 4.5.4 True False False 5m26s -ingress 4.5.4 True False False 5m36s -kube-apiserver 4.5.4 True False False 8m53s -kube-controller-manager 4.5.4 True False False 7m24s -kube-scheduler 4.5.4 True False False 12m -machine-api 4.5.4 True False False 12m -machine-config 4.5.4 True False False 7m36s -marketplace 4.5.4 True False False 7m54m -monitoring 4.5.4 True False False 7h54s -network 4.5.4 True False False 5m9s -node-tuning 4.5.4 True False False 11m -openshift-apiserver 4.5.4 True False False 11m -openshift-controller-manager 4.5.4 True False False 5m943s -openshift-samples 4.5.4 True False False 3m55s -operator-lifecycle-manager 4.5.4 True False False 11m -operator-lifecycle-manager-catalog 4.5.4 True False False 11m -service-ca 4.5.4 True False False 11m -service-catalog-apiserver 4.5.4 True False False 5m26s -service-catalog-controller-manager 4.5.4 True False False 5m25s -storage 4.5.4 True False False 5m30s +NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE +authentication 4.6.0 True False False 3h56m +cloud-credential 4.6.0 True False False 29h +cluster-autoscaler 4.6.0 True False False 29h +config-operator 4.6.0 True False False 6h39m +console 4.6.0 True False False 3h59m +csi-snapshot-controller 4.6.0 True False False 4h12m +dns 4.6.0 True False False 4h15m +etcd 4.6.0 True False False 29h +image-registry 4.6.0 True False False 3h59m +ingress 4.6.0 True False False 4h30m +insights 4.6.0 True False False 29h +kube-apiserver 4.6.0 True False False 29h +kube-controller-manager 4.6.0 True False False 29h +kube-scheduler 4.6.0 True False False 29h +kube-storage-version-migrator 4.6.0 True False False 4h2m +machine-api 4.6.0 True False False 29h +machine-approver 4.6.0 True False False 6h34m +machine-config 4.6.0 True False False 3h56m +marketplace 4.6.0 True False False 4h2m +monitoring 4.6.0 True False False 6h31m +network 4.6.0 True False False 29h +node-tuning 4.6.0 True False False 4h30m +openshift-apiserver 4.6.0 True False False 3h56m +openshift-controller-manager 4.6.0 True False False 4h36m +openshift-samples 4.6.0 True False False 4h30m +operator-lifecycle-manager 4.6.0 True False False 29h +operator-lifecycle-manager-catalog 4.6.0 True False False 29h +operator-lifecycle-manager-packageserver 4.6.0 True False False 3h59m +service-ca 4.6.0 True False False 29h +storage 4.6.0 True False False 4h30m ---- - . Configure the Operators that are not available. diff --git a/modules/installation-requirements-user-infra.adoc b/modules/installation-requirements-user-infra.adoc index 3c21184077ef..0043b0d3b611 100644 --- a/modules/installation-requirements-user-infra.adoc +++ b/modules/installation-requirements-user-infra.adoc @@ -9,6 +9,15 @@ ifeval::["{context}" == "installing-ibm-z"] :ibm-z: endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:ibm-z: +endif::[] +ifeval::["{context}" == "installing-ibm-power"] +:ibm-power: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:ibm-power: +endif::[] [id="installation-requirements-user-infra_{context}"] = Machine requirements for a cluster with user-provisioned infrastructure @@ -37,7 +46,7 @@ you install the cluster. [IMPORTANT] ==== ifdef::ibm-z[] -To improve high availability of your cluster, distribute the control plane machines over different z/VM instances. These can, but need not, run on the same Z or LinuxONE hardware. +To improve high availability of your cluster, distribute the control plane machines over different z/VM instances on at least two physical machines. endif::ibm-z[] ifndef::ibm-z[] To maintain high availability of your cluster, use separate physical hosts for @@ -87,24 +96,26 @@ Each cluster machine must meet the following minimum requirements: |Machine |Operating System |vCPU -|RAM +|Virtual RAM |Storage |Bootstrap |{op-system} -|4 +ifdef::ibm-power[|2] +ifndef::ibm-power[|4] |16 GB |120 GB |Control plane |{op-system} -|4 +ifdef::ibm-power[|2] +ifndef::ibm-power[|4] |16 GB |120 GB |Compute -ifdef::ibm-z[|{op-system}] -ifndef::ibm-z[|{op-system} or RHEL 7.6] +ifdef::ibm-z,ibm-power[|{op-system}] +ifndef::ibm-z,ibm-power[|{op-system} or RHEL 7.6] |2 |8 GB |120 GB @@ -123,7 +134,7 @@ You can install {product-title} version {product-version} on the following IBM h [discrete] === Hardware requirements -* 1 LPAR with 3 IFLs that supports SMT2 +* 1 LPAR with 6 IFLs that supports SMT2 * 1 OSA or RoCE network adapter [discrete] @@ -140,7 +151,7 @@ On your z/VM instance, set up: [discrete] === Disk storage for the z/VM guest virtual machines -* FICON attached disk storage (DASDs). These can be z/VM minidisks, fullpack minidisks, or dedicated DASDs. If available, use HyperPAV to ensure optimal performance. +* FICON attached disk storage (DASDs). These can be z/VM minidisks, fullpack minidisks, or dedicated DASDs. To reach the minimum required DASD size for {op-system-first} installations, you need extended address volumes (EAV). If available, use HyperPAV to ensure optimal performance. * FCP attached disk storage [discrete] @@ -156,8 +167,9 @@ On your z/VM instance, set up: [discrete] === Hardware requirements -* 3 LPARs with 6 IFLs that support SMT2 +* 3 LPARs with 6 IFLs each that support SMT2 * 1 or 2 OSA or RoCE network adapters, or both +* Hipersockets, which are attached to a node either directly as a device or by bridging with one z/VM VSWITCH to be transparent to the z/VM guest. To directly connect Hipersockets to a node, you must set up a gateway to the external network via a RHEL 8 guest to bridge to the Hipersockets network. [discrete] === Operating system requirements @@ -173,7 +185,7 @@ On your z/VM instances, set up: [discrete] === Disk storage for the z/VM guest virtual machines -* FICON attached disk storage (DASDs). These can be z/VM minidisks, fullpack minidisks, or dedicated DASDs. If available, use HyperPAV to ensure optimal performance. +* FICON attached disk storage (DASDs). These can be z/VM minidisks, fullpack minidisks, or dedicated DASDs. To reach the minimum required DASD size for {op-system-first} installations, you need extended address volumes (EAV). If available, use HyperPAV and High Performance FICON (zHPF) to ensure optimal performance. * FCP attached disk storage [discrete] @@ -200,3 +212,13 @@ and approving them. ifeval::["{context}" == "installing-ibm-z"] :!ibm-z: endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:!ibm-z: +endif::[] +ifeval::["{context}" == "installing-ibm-power"] +:!ibm-power: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:!ibm-power: +endif::[] + diff --git a/modules/installation-user-infra-machines-iso.adoc b/modules/installation-user-infra-machines-iso.adoc index 64ceea7118c5..2f3861e7faf5 100644 --- a/modules/installation-user-infra-machines-iso.adoc +++ b/modules/installation-user-infra-machines-iso.adoc @@ -3,13 +3,23 @@ // * installing/installing_bare_metal/installing-bare-metal.adoc // * installing/installing_bare_metal/installing-restricted-networks-bare-metal.adoc // * installing_bare_metal/installing-bare-metal-network-customizations.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc +ifeval::["{context}" == "installing-ibm-power"] +:ibm-power: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:ibm-power: +endif::[] [id="installation-user-infra-machines-iso_{context}"] = Creating {op-system-first} machines using an ISO image -Before you install a cluster on bare metal infrastructure that you provision, -you must create {op-system} machines for it to use. You can use an -ISO image to create the machines. +Before you install a cluster on +ifndef::ibm-power[bare metal] +ifdef::ibm-power[IBM Power] +infrastructure that you provision, you must create +{op-system} machines for it to use. You can use an ISO image to create the +machines. .Prerequisites @@ -37,7 +47,12 @@ ifndef::openshift-origin[] of installing operating system instances from the link:https://access.redhat.com/downloads/content/290[Product Downloads] page on the Red Hat customer portal or the +ifndef::ibm-power[] link:https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.6/[{op-system} image mirror] +endif::ibm-power[] +ifdef::ibm-power[] +link:https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/[{op-system} image mirror] +endif::ibm-power[] page. + [IMPORTANT] @@ -95,3 +110,10 @@ You must create the bootstrap and control plane machines at this time. If the control plane machines are not made schedulable, which is the default, also create at least two compute machines before you install the cluster. ==== + +ifeval::["{context}" == "installing-ibm-power"] +:!ibm-power: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:!ibm-power: +endif::[] diff --git a/modules/installation-user-infra-machines-static-network.adoc b/modules/installation-user-infra-machines-static-network.adoc index e4f4145b89f7..b5f9dcb2ab70 100644 --- a/modules/installation-user-infra-machines-static-network.adoc +++ b/modules/installation-user-infra-machines-static-network.adoc @@ -7,32 +7,17 @@ [id="installation-user-infra-machines-static-network_{context}"] = Advanced {op-system} installation reference -This section illustrates the networking configuration and other advanced options that allow you to modify the {op-system-first} bare metal install process. The following tables describe the kernel arguments and command-line options you can use with: - -* The {op-system} live installer boot prompt by using routing and bonding. - -* The {op-system} live installer by using `core.inst` for ISO or PXE installs. - -* The `coreos-installer` command for ISO installs. - -[discrete] -== Routing and bonding options at {op-system} boot prompt - -If you install {op-system} from an ISO image, you can add kernel arguments manually when you boot that image to configure the node's networking. If no networking arguments are used, the installation defaults to using DHCP. - -[IMPORTANT] -==== -When adding networking arguments, you must also add the `rd.neednet=1` kernel argument. -==== - -The following table describes how to use `ip=`, `nameserver=`, and `bond=` kernel arguments for live ISO installs. +If you install {op-system-first} from an ISO image, you can add kernel arguments +when you boot that image to configure the node's networking. +The following table describes and illustrates how to use those kernel arguments. .Routing and bonding options for ISO [source,adoc] |=== |Description |Examples -a|To configure an IP address, either use DHCP (`ip=dhcp`) or set an individual static IP address (`ip=`). Then identify the DNS server IP address (`nameserver=`) on each node. This example sets: + +a|To configure an IP address, either use DHCP (`ip=dhcp`) or set an individual +static IP address (`ip=`). Then identify the DNS server IP address (`nameserver=`) on each node. This example sets: + * The node's IP address to `10.10.10.2` + * The gateway address to `10.10.10.254` + @@ -46,31 +31,31 @@ ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none nameserver=4.4.4.41 ---- -a|Specify multiple network interfaces by specifying multiple `ip=` entries. - +|Specify multiple network interfaces by specifying multiple `ip=` entries. a| ---- ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none ip=10.10.10.3::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none ---- -a|You can combine DHCP and static IP configurations on systems with multiple network interfaces. - +|You can combine DHCP +and static IP configurations on systems with +multiple network interfaces. a| ---- ip=enp1s0:dhcp ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none ---- -a|You can provide multiple DNS servers by adding a `nameserver=` entry for each server. - +|You can provide multiple DNS servers by adding a `nameserver=` entry for each server. a| ---- nameserver=1.1.1.1 nameserver=8.8.8.8 ---- -a|Optional: Bonding multiple network interfaces to a single interface is supported using the `bond=` option. In these two examples: +a|Optional: Bonding multiple network interfaces to a single interface is optionally supported +using the `bond=` option. In these two examples: * The syntax for configuring a bonded interface is: `bond=name[:network_interfaces][:options]` * _name_ is the bonding device name (`bond0`), _network_interfaces_ @@ -80,7 +65,6 @@ and _options_ is a comma-separated list of bonding options. Enter `modinfo bondi create a bonded interface using `bond=`, you must specify how the IP address is assigned and other information for the bonded interface. - a| To configure the bonded interface to use DHCP, set the bond's IP address to `dhcp`. For example: diff --git a/modules/registry-configuring-storage-baremetal.adoc b/modules/registry-configuring-storage-baremetal.adoc index c3d535277924..4f6d332a98d7 100644 --- a/modules/registry-configuring-storage-baremetal.adoc +++ b/modules/registry-configuring-storage-baremetal.adoc @@ -6,8 +6,31 @@ // * installing/installing_ibm_z/installing-ibm-z.adoc // * virt/virtual_machines/importing_vms/virt-importing-vmware-vm.adoc +ifeval::["{context}" == "installing-ibm-z"] +:ibm-z: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:ibm-z: +:restricted: +endif::[] +ifeval::["{context}" == "installing-ibm-power"] +:ibm-power: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:ibm-power: +:restricted: +endif::[] + [id="registry-configuring-storage-baremetal_{context}"] +ifndef::ibm-z,ibm-power[] = Configuring registry storage for bare metal +endif::ibm-z,ibm-power[] +ifdef::ibm-z[] += Configuring registry storage for IBM Z +endif::ibm-z[] +ifdef::ibm-power[] += Configuring registry storage for IBM Power +endif::ibm-power[] As a cluster administrator, following installation you must configure your registry to use storage. @@ -15,9 +38,14 @@ registry to use storage. .Prerequisites * Cluster administrator permissions. -* A cluster on bare metal. -* Provisioned persistent storage -for your cluster, such as Red Hat OpenShift Container Storage. To deploy a private image registry, your storage must provide +* A cluster on +ifndef::ibm-z,ibm-power[bare metal.] +ifdef::ibm-z[IBM Z.] +ifdef::ibm-power[IBM Power.] +* Provision persistent storage for your cluster, such as +ifndef::ibm-z[Red Hat OpenShift Container Storage.] +ifdef::ibm-z[NFS.] +To deploy a private image registry, your storage must provide ReadWriteMany access mode. * Must have "100Gi" capacity. @@ -41,8 +69,9 @@ $ oc get pod -n openshift-image-registry [NOTE] ===== * If the storage type is `emptyDIR`, the replica number cannot be greater than `1`. -* If the storage type is `NFS`, you must enable the `no_wdelay` and `root_squash` mount options. For example: -+ +* If the storage type is `NFS`, and you want to scale up the registry Pod by setting `replica>1` you must enable the `no_wdelay` mount option. For example: + +ifndef::ibm-power+restricted[] [source,terminal] ---- # cat /etc/exports @@ -64,6 +93,14 @@ sh-4.2# exportfs -rv ---- exporting *:/mnt/data ---- +endif::ibm-power+restricted[] + +ifdef::ibm-power+restricted[] +---- +# cat /etc/exports +/var/nfsshare *(rw,sync,no_root_squash) +---- +endif::ibm-power+restricted[] ===== + . Check the registry configuration: @@ -90,3 +127,38 @@ Leave the `claim` field blank to allow the automatic creation of an ---- $ oc get clusteroperator image-registry ---- ++ +. Ensure that your registry is set to managed to enable building and pushing of images. ++ +* Run: ++ +---- +$ oc edit configs.imageregistry/cluster +---- ++ +Then, change the line ++ +---- +managementState: Removed +---- ++ +to ++ +---- +managementState: Managed +---- + +ifeval::["{context}" == "installing-ibm-z"] +:!ibm-z: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:!ibm-z: +:!restricted: +endif::[] +ifeval::["{context}" == "installing-ibm-power"] +:!ibm-power: +endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-power"] +:!ibm-power: +:!restricted: +endif::[] diff --git a/modules/ssh-agent-using.adoc b/modules/ssh-agent-using.adoc index 88fab782b971..733c28ed0abb 100644 --- a/modules/ssh-agent-using.adoc +++ b/modules/ssh-agent-using.adoc @@ -62,6 +62,9 @@ endif::[] ifeval::["{context}" == "installing-ibm-z"] :ibm-z: endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:ibm-z: +endif::[] ifeval::["{context}" == "installing-rhv-default"] :rhv: endif::[] @@ -110,16 +113,11 @@ following command: $ ssh-keygen -t rsa -b 4096 -N '' \ -f / <1> ---- -<1> Specify the path and file name, such as `~/.ssh/id_rsa`, of the SSH key. +<1> Specify the path and file name, such as `~/.ssh/id_rsa`, of the new SSH key. + Running this command generates an SSH key that does not require a password in the location that you specified. -+ -[IMPORTANT] -==== -If you create a new SSH key pair, avoid overwriting existing SSH keys. -==== -+ + . Start the `ssh-agent` process as a background task: + [source,terminal] @@ -191,6 +189,9 @@ endif::[] ifeval::["{context}" == "installing-rhv-default"] :!rhv: endif::[] +ifeval::["{context}" == "installing-restricted-networks-ibm-z"] +:!ibm-z: +endif::[] ifeval::["{context}" == "installing-rhv-customizations"] :!rhv: endif::[] diff --git a/release_notes/ocp-4-6-release-notes.adoc b/release_notes/ocp-4-6-release-notes.adoc index 0ae32e2011a8..0e9bcc73f690 100644 --- a/release_notes/ocp-4-6-release-notes.adoc +++ b/release_notes/ocp-4-6-release-notes.adoc @@ -1124,6 +1124,76 @@ In the table below, features are marked with the following statuses: |==== +[id="ocp-4-6-4-ibm-power"] +===== IBM Power Systems + +With this release, IBM Power Systems are now compatible with {product-title} {product-version}. See xref:../installing/installing_ibm_power/installing-ibm-power.adoc#installing-ibm-power_installing-ibm-power[Installing a cluster on IBM Power] or xref:../installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc#installing-restricted-networks-ibm-power_installing-restricted-networks-ibm-power[Installing a cluster on IBM Power in a restricted network]. + +[discrete] +====== Restrictions + +Note the following restrictions for {product-title} on IBM Power: + +* {product-title} for IBM Power Systems does not include the following Technology Preview features: ++ +** OpenShift Virtualization +** OpenShift Serverless (knative, FaaS integrations) + +* The following {product-title} features are unsupported: +** Red Hat OpenShift Service Mesh (istio, jaeger, kiali) +** CodeReady Workspaces +** CodeReady Containers (CRC) +** OpenShift Pipelines based on Tekton +** {product-title} Metering +** Multus Plugins (SR-IOV, IPVAN, Bridge with VLAN, Static IPAM) +** SR-IOV CNI plug-in +** Red Hat Single Sign-On +** OpenShift Metering (Presto, Hive) + + +* Worker nodes must run {op-system-first}. +* Persistent storage must be of the `Filesystem` mode using local volumes, Network File System (NFS), OpenStack Cinder, or Container Storage Interface (CSI). +* Networking must use either DHCP or static addressing with Red Hat Openshift SDN. +* AdoptOpenJDK with OpenJ9 +* Installer-provisioned infrastructure +* Device Manager for NVIDIA GPUs +* Special Resources Operator +* OpenShift Ansible Service Broker Operator (deprecated) +* dotNET on RHEL + + + +[discrete] +====== Supported Features + +* Currently, four Operators are supported: +** Cluster-Logging-Operator +** Cluster-NFD-Operator +** Elastic Search-Operator +** Local Storage Operator + +* User-provisioned infrastructure deployment scenario on bare-metal +* OpenShift Cluster Monitoring +* Node Tuning Operator +* OpenShift Jenkins +* OpenShift Logging +* OpenShift Do (odo) +* Machine Configuration Operator, which is used in installations with installer-provisioned infrastructure +* Node Feature Discovery Operator +* {product-title} core (CVO Operators) +* Installation program for clusters that use user-provisioned infrastructure +* OVS/OVN +* RHEL8 Based container support +* RHEL CoreOS +* Ansible Engine +* Red Hat Software Collections +* Fibre Channel +* HostPath +* Raw Block +* iSCSI +* 4k Disk support + + [id="ocp-4-6-known-issues"] == Known issues @@ -1188,6 +1258,9 @@ virtual media, the provisioning network must be turned off, or the BMCs must be routed to the provisioning network as a prerequisite. (link:https://bugzilla.redhat.com/show_bug.cgi?id=1872787[*BZ#1872787*]) +* On a power environment, when a pod is created using the FC persistent volume claim and the targetWWN as a parameter, the FC volume attach fails with “no fc disk found” error and the pod remains in `ContainerCreating state`. +(link:https://bugzilla.redhat.com/show_bug.cgi?id=1887026[*BZ#1887026*]) + * When a node providing an egress IP is shut down, the pods hosted on that node are not moved to another node providing an egress IP. This causes the outgoing traffic of the pods to always fail when a node providing an egress IP is shut