Skip to content

Commit 87fad4a

Browse files
authored
Merge pull request #8115 from adellape/enterprise-3.9
[enterprise-3.9] Initial updates for OCP 3.9 install/upgrade
2 parents 4f5ab22 + 3aefca2 commit 87fad4a

21 files changed

+315
-707
lines changed

_topic_map.yml

-4
Original file line numberDiff line numberDiff line change
@@ -500,10 +500,6 @@ Topics:
500500
File: blue_green_deployments
501501
- Name: Updating Operating Systems
502502
File: os_upgrades
503-
- Name: Migrating Embedded etcd to External etcd
504-
File: migrating_embedded_etcd
505-
- Name: Migrating etcd Data (v2 to v3)
506-
File: migrating_etcd
507503
- Name: Downgrading
508504
File: downgrade
509505
Distros: openshift-enterprise

admin_guide/backup_restore.adoc

+1-2
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,7 @@ following sections), which depends on how *etcd* is deployed.
112112

113113
[WARNING]
114114
====
115-
Embedded etcd is no longer supported starting with {product-title} 3.7. See
116-
xref:../upgrading/migrating_embedded_etcd.adoc#install-config-upgrading-etcd-data-migration[Migrating Embedded etcd to External etcd] for details.
115+
Embedded etcd is no longer supported starting with {product-title} 3.7.
117116
====
118117

119118

admin_guide/manage_nodes.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ To list all nodes that are known to the master:
3030
----
3131
$ oc get nodes
3232
NAME STATUS AGE
33-
master.example.com Ready,SchedulingDisabled 165d
33+
master.example.com Ready 165d
3434
node1.example.com Ready 165d
3535
node2.example.com Ready 165d
3636
----

day_two_guide/topics/etcd_backup.adoc

+3-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ etcdctl version: 3.2.5
2828
API version: 3.2
2929
----
3030

31-
See xref:../upgrading/migrating_etcd.adoc[Migrating etcd Data (v2
32-
to v3) section] for information about how to migrate to v3.
31+
See
32+
link:https://docs.openshift.com/container-platform/3.7/upgrading/migrating_etcd.html[Migrating etcd Data (v2 to v3) section] in the {product-title} 3.7 documentation for
33+
information about how to migrate to v3.
3334

3435
=== Back up and restore etcd
3536

install_config/imagestreams_templates.adoc

+8-8
Original file line numberDiff line numberDiff line change
@@ -169,18 +169,18 @@ endif::[]
169169
+
170170
ifdef::openshift-origin[]
171171
----
172-
$ IMAGESTREAMDIR=~/openshift-ansible/roles/openshift_examples/files/examples/v3.6/image-streams; \
173-
DBTEMPLATES=~/openshift-ansible/roles/openshift_examples/files/examples/v3.6/db-templates; \
174-
QSTEMPLATES=~/openshift-ansible/roles/openshift_examples/files/examples/v3.6/quickstart-templates
172+
$ IMAGESTREAMDIR=~/openshift-ansible/roles/openshift_examples/files/examples/v3.9/image-streams; \
173+
DBTEMPLATES=~/openshift-ansible/roles/openshift_examples/files/examples/v3.9/db-templates; \
174+
QSTEMPLATES=~/openshift-ansible/roles/openshift_examples/files/examples/v3.9/quickstart-templates
175175
----
176176
endif::[]
177177
ifdef::openshift-enterprise[]
178178
----
179-
$ IMAGESTREAMDIR="/usr/share/ansible/openshift-ansible/roles/openshift_examples/files/examples/v3.6/image-streams"; \
180-
XPAASSTREAMDIR="/usr/share/ansible/openshift-ansible/roles/openshift_examples/files/examples/v3.6/xpaas-streams"; \
181-
XPAASTEMPLATES="/usr/share/ansible/openshift-ansible/roles/openshift_examples/files/examples/v3.6/xpaas-templates"; \
182-
DBTEMPLATES="/usr/share/ansible/openshift-ansible/roles/openshift_examples/files/examples/v3.6/db-templates"; \
183-
QSTEMPLATES="/usr/share/ansible/openshift-ansible/roles/openshift_examples/files/examples/v3.6/quickstart-templates"
179+
$ IMAGESTREAMDIR="/usr/share/ansible/openshift-ansible/roles/openshift_examples/files/examples/v3.9/image-streams"; \
180+
XPAASSTREAMDIR="/usr/share/ansible/openshift-ansible/roles/openshift_examples/files/examples/v3.9/xpaas-streams"; \
181+
XPAASTEMPLATES="/usr/share/ansible/openshift-ansible/roles/openshift_examples/files/examples/v3.9/xpaas-templates"; \
182+
DBTEMPLATES="/usr/share/ansible/openshift-ansible/roles/openshift_examples/files/examples/v3.9/db-templates"; \
183+
QSTEMPLATES="/usr/share/ansible/openshift-ansible/roles/openshift_examples/files/examples/v3.9/quickstart-templates"
184184
----
185185
endif::[]
186186

install_config/install/advanced_install.adoc

+98-44
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,18 @@ own implementation using the configuration management tool of your choosing.
2828
====
2929
While RHEL Atomic Host is supported for running containerized {product-title}
3030
services, the advanced installation method utilizes Ansible, which is not
31-
available in RHEL Atomic Host, and must therefore be run from
31+
available in RHEL Atomic Host. The RPM-based installer must therefore be run
32+
from
3233
ifdef::openshift-enterprise[]
3334
a RHEL 7 system.
3435
endif::[]
3536
ifdef::openshift-origin[]
3637
a supported version of Fedora, CentOS, or RHEL.
3738
endif::[]
3839
The host initiating the installation does not need to be intended for inclusion
39-
in the {product-title} cluster, but it can be.
40-
41-
Alternatively, a
42-
xref:running-the-advanced-installation-system-container[containerized version of the installer] is available as a system container, which is currently a
43-
Technology Preview feature.
40+
in the {product-title} cluster, but it can be. Alternatively, a
41+
xref:running-the-advanced-installation-system-container[containerized version of the installer] is available as a system container, which can be run from a RHEL
42+
Atomic Host system.
4443
====
4544

4645
[NOTE]
@@ -58,7 +57,7 @@ and
5857
xref:../../install_config/install/host_preparation.adoc#install-config-install-host-preparation[Host
5958
Preparation] topics to prepare your hosts. This includes verifying system and
6059
environment requirements per component type and properly installing and
61-
configuring Docker. It also includes installing Ansible version 2.3 or later,
60+
configuring Docker. It also includes installing Ansible version 2.4 or later,
6261
as the advanced installation method is based on Ansible playbooks and as such
6362
requires directly invoking Ansible.
6463

@@ -72,9 +71,49 @@ see the
7271
xref:../../scaling_performance/install_practices.adoc#scaling-performance-install-best-practices[Scaling and Performance Guide].
7372

7473
After following the instructions in the
75-
xref:../../install_config/install/prerequisites.adoc#install-config-install-prerequisites[Prerequisites] topic and
76-
deciding between the RPM and containerized methods, you can continue in this
77-
topic to xref:configuring-ansible[Configuring Ansible Inventory Files].
74+
xref:../../install_config/install/prerequisites.adoc#install-config-install-prerequisites[Prerequisites]
75+
topic and deciding between the RPM and containerized methods, you can continue
76+
in this topic to xref:configuring-ansible[Configuring Ansible Inventory Files].
77+
78+
ifdef::openshift-origin[]
79+
[[advanced-cloud-providers]]
80+
=== Cloud installation
81+
82+
{product-title} VMs can be provisioned in a cloud environment.
83+
84+
You can use Ansible playbooks to automate defining of your cloud hosted infrastructure and
85+
applying post-provision configuration for the supported cloud providers. Follow these advanced installation
86+
to help you create the needed playbooks.
87+
88+
==== OpenStack provider
89+
90+
As an alternate, you can install {product-title} using the OpenStack CLI.
91+
For more information, See the
92+
link:https://access.redhat.com/documentation/en-us/reference_architectures/2017/html-single/deploying_and_managing_red_hat_openshift_container_platform_3.6_on_red_hat_openstack_platform_10[reference architecture] for {product-title} 3.6 and Red Hat OpenStack Platform 10.
93+
94+
As a prerequisite to using the Openstack CLI, first provision VMs and configure the cloud
95+
infrastructure, such as networking, storage, firewall and security groups.
96+
For information on these configuration tasks using the reference architecture,
97+
see the
98+
xref:../../install_config/install/prerequisites#prereq-cloud-provider-considerations[cloud provider considerations]
99+
and link:https://github.com/openshift/openshift-ansible/tree/master/playbooks/openstack[Ansible playbooks]
100+
to automate it. See also
101+
xref:../../install_config/configuring_openstack#install-config-configuring-openstack[Configuring for OpenStack]
102+
and
103+
xref:configuring-ansible[Configuring Ansible Inventory Files].
104+
105+
ifdef::openshift-enterprise[]
106+
[IMPORTANT]
107+
====
108+
The reference architecture for automated installations based on
109+
link:https://docs.openstack.org/heat/latest[OpenStack Heat] templates for
110+
link:https://access.redhat.com/documentation/en-us/reference_architectures/2017/html/deploying_red_hat_openshift_container_platform_3.4_on_red_hat_openstack_platform_10[{product-title} 3.4 on Red Hat OpenStack Platform 10]
111+
is no longer supported. For the Red Hat OpenStack 13 release, this process is replaced with the
112+
link:https://github.com/openshift/openshift-ansible/tree/master/playbooks/openstack[Ansible driven deployment solution].
113+
For automated installations, please follow that guide.
114+
====
115+
endif::openshift-enterprise[]
116+
endif::openshift-origin[]
78117

79118
[[configuring-ansible]]
80119
== Configuring Ansible Inventory Files
@@ -1230,20 +1269,19 @@ xref:../../architecture/networking/network_plugins.adoc#openshift-sdn[OpenShift
12301269
master.example.com
12311270
----
12321271

1233-
In order to ensure that your masters are not burdened with running pods, they
1234-
are automatically marked unschedulable by default by the installer, meaning that
1235-
new pods cannot be placed on the hosts. This is the same as setting the
1236-
`openshift_schedulable=false` host variable.
1237-
1238-
You can manually set a master host to schedulable during installation using the
1239-
`openshift_schedulable=true` host variable, though this is not recommended in
1240-
production environments:
1272+
In previous versions of {product-title}, master hosts were marked unschedulable
1273+
by default by the installer, meaning that new pods could be placed on the hosts.
1274+
Starting with {product-title} 3.9, however, masters must be marked schedulable;
1275+
this is done by setting the `openshift_schedulable=true` variable for the host:
12411276

12421277
----
12431278
[nodes]
12441279
master.example.com openshift_schedulable=true
12451280
----
12461281

1282+
This change is mainly so that the web console, which used to run as part of the
1283+
master itself, can instead be run as a pod deployed to the master.
1284+
12471285
If you want to change the schedulability of a host post-installation, see
12481286
xref:../../admin_guide/manage_nodes.adoc#marking-nodes-as-unschedulable-or-schedulable[Marking Nodes as Unschedulable or Schedulable].
12491287

@@ -1315,10 +1353,10 @@ you need to xref:advanced-install-configuring-registry-location[specify the desi
13151353
in the *_/etc/ansible/hosts_* file.
13161354

13171355
As described in xref:marking-masters-as-unschedulable-nodes[Configuring
1318-
Schedulability on Masters], master hosts are marked unschedulable by default. If
1356+
Schedulability on Masters], master hosts are marked schedulable by default. If
13191357
you label a master host with `region=infra` and have no other dedicated
1320-
infrastructure nodes, you must also explicitly mark these master hosts as
1321-
schedulable. Otherwise, the registry and router pods cannot be placed anywhere:
1358+
infrastructure nodes, the master hosts must also be marked as schedulable.
1359+
Otherwise, the registry and router pods cannot be placed anywhere:
13221360

13231361
----
13241362
[nodes]
@@ -1454,8 +1492,7 @@ xref:../../install_config/redeploying_certificates.adoc#install-config-redeployi
14541492
[[advanced-install-cluster-metrics]]
14551493
=== Configuring Cluster Metrics
14561494

1457-
Starting with {product-title} 3.7, cluster metrics are set to deploy
1458-
automatically by default during installation:
1495+
Cluster metrics are set to deploy automatically by default during installation:
14591496

14601497
[NOTE]
14611498
====
@@ -1560,13 +1597,11 @@ The remote volume path using the following options would be
15601597
Cluster logging is not set to automatically deploy by default. Set the
15611598
following to enable cluster logging when using the advanced installation method:
15621599

1563-
====
15641600
----
15651601
[OSEv3:vars]
15661602
15671603
openshift_logging_install_logging=true
15681604
----
1569-
====
15701605

15711606
[[advanced-installation-logging-storage]]
15721607
==== Configuring Logging Storage
@@ -1648,9 +1683,8 @@ The remote volume path using the following options would be
16481683
[[enabling-service-catalog]]
16491684
=== Configuring the Service Catalog
16501685

1651-
Starting with {product-title} 3.7, the
1652-
xref:../../architecture/service_catalog/index.adoc#architecture-additional-concepts-service-catalog[service
1653-
catalog] is enabled by default during installation. Enabling the service broker
1686+
The
1687+
xref:../../architecture/service_catalog/index.adoc#architecture-additional-concepts-service-catalog[service catalog] is enabled by default during installation. Enabling the service broker
16541688
allows service brokers to be registered with the catalog.
16551689

16561690
[NOTE]
@@ -1673,9 +1707,9 @@ as well; see xref:configuring-openshift-ansible-broker[Configuring the OpenShift
16731707
[[configuring-openshift-ansible-broker]]
16741708
=== Configuring the OpenShift Ansible Broker
16751709

1676-
Starting with {product-title} 3.7, the
1677-
xref:../../architecture/service_catalog/ansible_service_broker.adoc#arch-ansible-service-broker[OpenShift
1678-
Ansible broker] (OAB) is enabled by default. However, further configuration may be required for use.
1710+
The
1711+
xref:../../architecture/service_catalog/ansible_service_broker.adoc#arch-ansible-service-broker[OpenShift Ansible broker] (OAB) is enabled by default during installation. However,
1712+
further configuration may be required for use.
16791713

16801714
[[configuring-oab-storage]]
16811715
==== Configuring Persistent Storage for the OpenShift Ansible Broker
@@ -1686,9 +1720,30 @@ using persistent volumes (PVs) to function. If no PV is available, etcd will
16861720
wait until the PV can be satisfied. The OAB application will enter a `CrashLoop`
16871721
state until its etcd instance is available.
16881722

1689-
Some Ansible playbook bundles (APBs) may also require a PV for their own usage.
1690-
Two APBs are currently provided with {product-title} 3.7: MediaWiki and
1691-
PostgreSQL. Both of these require their own PV to deploy.
1723+
Some Ansible playbook bundles (APBs) also require a PV for their own usage in
1724+
order to deploy. For example, each of the database APBs have two plans: the
1725+
Development plan uses ephermal storage and does not require a PV, while the
1726+
Production plan is persisted and does require a PV.
1727+
1728+
[options="header"]
1729+
|===
1730+
|APB |PV Required?
1731+
1732+
|*postgresql-apb*
1733+
|Yes, but only for the Production plan
1734+
1735+
|*mysql-apb*
1736+
|Yes, but only for the Production plan
1737+
1738+
|*mariadb-apb*
1739+
|Yes, but only for the Production plan
1740+
1741+
|*mediawiki-apb*
1742+
|Yes
1743+
1744+
|===
1745+
1746+
To configure persistent storage for the OAB:
16921747

16931748
[NOTE]
16941749
====
@@ -1697,8 +1752,6 @@ but
16971752
xref:../../install_config/persistent_storage/index.adoc#install-config-persistent-storage-index[other persistent storage providers] can be used instead.
16981753
====
16991754

1700-
To configure persistent storage for the OAB:
1701-
17021755
. In your inventory file, add `nfs` to the `[OSEv3:children]` section to enable
17031756
the `[nfs]` group:
17041757
+
@@ -1768,7 +1821,8 @@ ansible_service_broker_local_registry_whitelist=['.*-apb$']
17681821
[[configuring-template-service-broker]]
17691822
=== Configuring the Template Service Broker
17701823

1771-
Starting with {product-title} 3.7, the xref:../../architecture/service_catalog/template_service_broker.adoc#arch-template-service-broke[template service broker] (TSB) is enabled by default.
1824+
The
1825+
xref:../../architecture/service_catalog/template_service_broker.adoc#arch-template-service-broke[template service broker] (TSB) is enabled by default during installation.
17721826

17731827
To configure the TSB, one or more projects must be defined as the broker's
17741828
source namespace(s) for loading templates and image streams into the service
@@ -2388,10 +2442,10 @@ concern for the install restarting *docker* on the host.
23882442
--storage=ostree \
23892443
--set INVENTORY_FILE=/path/to/inventory \ <1>
23902444
ifdef::openshift-enterprise[]
2391-
registry.access.redhat.com/openshift3/ose-ansible:v3.7
2445+
registry.access.redhat.com/openshift3/ose-ansible:v3.9
23922446
endif::[]
23932447
ifdef::openshift-origin[]
2394-
docker.io/openshift/origin-ansible:v3.7
2448+
docker.io/openshift/origin-ansible:v3.9
23952449
endif::[]
23962450
----
23972451
<1> Specify the location on the local host for your inventory file.
@@ -2427,10 +2481,10 @@ installation, use the following command:
24272481
--set PLAYBOOK_FILE=/usr/share/ansible/openshift-ansible/playbooks/openshift-checks/pre-install.yml \ <1>
24282482
--set OPTS="-v" \ <2>
24292483
ifdef::openshift-enterprise[]
2430-
registry.access.redhat.com/openshift3/ose-ansible:v3.7
2484+
registry.access.redhat.com/openshift3/ose-ansible:v3.9
24312485
endif::[]
24322486
ifdef::openshift-origin[]
2433-
docker.io/openshift/origin-ansible:v3.7
2487+
docker.io/openshift/origin-ansible:v3.9
24342488
endif::[]
24352489
----
24362490
<1> Set `PLAYBOOK_FILE` to the full path of the playbook starting at the
@@ -2472,10 +2526,10 @@ $ docker run -t -u `id -u` \ <1>
24722526
-e PLAYBOOK_FILE=playbooks/deploy_cluster.yml \ <4>
24732527
-e OPTS="-v" \ <5>
24742528
ifdef::openshift-enterprise[]
2475-
registry.access.redhat.com/openshift3/ose-ansible:v3.7
2529+
registry.access.redhat.com/openshift3/ose-ansible:v3.9
24762530
endif::[]
24772531
ifdef::openshift-origin[]
2478-
docker.io/openshift/origin-ansible:v3.7
2532+
docker.io/openshift/origin-ansible:v3.9
24792533
endif::[]
24802534
----
24812535
<1> `-u `id -u`` makes the container run with the same UID as the current
@@ -2608,7 +2662,7 @@ following as root:
26082662
# oc get nodes
26092663
26102664
NAME STATUS AGE
2611-
master.example.com Ready,SchedulingDisabled 165d
2665+
master.example.com Ready 165d
26122666
node1.example.com Ready 165d
26132667
node2.example.com Ready 165d
26142668
----

install_config/install/disconnected_install.adoc

+15-8
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
= Disconnected Installation
33
{product-author}
44
{product-version}
5-
:latest-tag: v3.7.9
6-
:latest-int-tag: v3.7.9
7-
:latest-registry-console-tag: v3.7.9
5+
:latest-tag: v3.9.3
6+
:latest-int-tag: v3.9.3
7+
:latest-registry-console-tag: v3.9.3
88
:data-uri:
99
:icons:
1010
:experimental:
@@ -132,7 +132,8 @@ $ subscription-manager repos \
132132
--enable="rhel-7-server-rpms" \
133133
--enable="rhel-7-server-extras-rpms" \
134134
--enable="rhel-7-fast-datapath-rpms" \
135-
--enable="rhel-7-server-ose-3.7-rpms"
135+
--enable="rhel-7-server-ansible-2.4-rpms" \
136+
--enable="rhel-7-server-ose-3.9-rpms"
136137
----
137138

138139
. The `yum-utils` command provides the *reposync* utility, which lets you mirror
@@ -167,7 +168,8 @@ $ for repo in \
167168
rhel-7-server-rpms \
168169
rhel-7-server-extras-rpms \
169170
rhel-7-fast-datapath-rpms \
170-
rhel-7-server-ose-3.7-rpms
171+
rhel-7-server-ansible-2.4-rpms \
172+
rhel-7-server-ose-3.9-rpms
171173
do
172174
reposync --gpgcheck -lm --repoid=${repo} --download_path=/path/to/repos
173175
createrepo -v </path/to/repos/>${repo} -o </path/to/repos/>${repo}
@@ -472,9 +474,14 @@ name=rhel-7-fast-datapath-rpms
472474
baseurl=http://<server_IP>/repos/rhel-7-fast-datapath-rpms
473475
enabled=1
474476
gpgcheck=0
475-
[rhel-7-server-ose-3.7-rpms]
476-
name=rhel-7-server-ose-3.7-rpms
477-
baseurl=http://<server_IP>/repos/rhel-7-server-ose-3.7-rpms
477+
[rhel-7-server-ansible-2.4-rpms]
478+
name=rhel-7-server-ansible-2.4-rpms
479+
baseurl=http://<server_IP>/repos/rhel-7-server-ansible-2.4-rpms
480+
enabled=1
481+
gpgcheck=0
482+
[rhel-7-server-ose-3.9-rpms]
483+
name=rhel-7-server-ose-3.9-rpms
484+
baseurl=http://<server_IP>/repos/rhel-7-server-ose-3.9-rpms
478485
enabled=1
479486
gpgcheck=0
480487
----

0 commit comments

Comments
 (0)