Bug 1565363
Summary: | [DOCS] Upgrading from 3.7 to 3.9 fails when inventory file specifies the master(s) as being unschedulable prior to upgrade, does not automatically make master(s) schedulable | |||
---|---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Candace Sheremeta <cshereme> | |
Component: | Documentation | Assignee: | Kathryn Alexander <kalexand> | |
Status: | CLOSED CURRENTRELEASE | QA Contact: | liujia <jiajliu> | |
Severity: | high | Docs Contact: | Vikram Goyal <vigoyal> | |
Priority: | urgent | |||
Version: | 3.9.0 | CC: | adellape, aos-bugs, jokerman, kalexand, mmccomas, rhowe, scott.c.worthington, wmeng, yapei | |
Target Milestone: | --- | |||
Target Release: | 3.11.0 | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | If docs needed, set a value | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1565702 (view as bug list) | Environment: | ||
Last Closed: | 2018-08-23 17:26:29 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1565702 |
Description
Candace Sheremeta
2018-04-09 22:23:04 UTC
This should be a documentation bug, as we do not want to overwrite the behaviour of setting scheduling false for a node variable. QE can reproduce the issue according to description.
Steps:
1. Install ocp v3.7
2. Edit inventory file to set "openshift_schedulable=False" for master node.
3. Run upgrade against above ocp.
But AFAIK, this should be expected result due to user want master node unscheduled by setting "openshift_schedulable=False" in inventory file.
> "In previous versions of OpenShift Container Platform, master hosts were marked unschedulable by default by the installer, meaning that no pods could be placed on the hosts. Starting with OpenShift Container Platform 3.9, however, masters must be marked schedulable; this is done automatically during upgrade."
Master node was marked unschedulable by default means that not setting openshift_schedulable explicitly. When no "openshift_schedulable" specified, installer will do default action.
To resolve it, user can just remove "openshift_schedulable=False" if user accept master node to be schedulable.
The documentation note was intended to mean that if you'd previously not set schedulability of the masters we'd automatically make them schedulable. We should clarify that note to make sure that if they have all masters openshift_schedulable=false the upgrade will fail to install the console and potentially other components. The workaround here is to remove `openshift_schedulable=false` from the masters and re-run the playbooks which will mark them schedulable. (In reply to Scott Dodson from comment #4) > The documentation note was intended to mean that if you'd previously not set > schedulability of the masters we'd automatically make them schedulable. We > should clarify that note to make sure that if they have all masters > openshift_schedulable=false the upgrade will fail to install the console and > potentially other components. > > The workaround here is to remove `openshift_schedulable=false` from the > masters and re-run the playbooks which will mark them schedulable. Note that the RH customer's BYO inventory for the upgrade had the following attributes: [masters] master-nodes-0[1:3].corp.local [nodes] master-nodes-0[1:3].corp.local openshift_schedulable=false openshift_node_labels="{'region': 'master', 'zone': 'default'}" infra-nodes-0[1:3].corp.local openshift_node_labels="{'region': 'infra', 'zone': 'default'}" app-nodes-0[1:3].corp.local openshift_node_labels="{'region': 'apps', 'zone': 'default'}" ### Perhaps the documentation should be clearer when upgrading from 3.7.x to 3.9.x by stating _explicitly_ that all master inventory entries should have the variable "openshift_schedulable=false" removed if it previously was set. I have a draft of this change here: https://github.com/openshift/openshift-docs/pull/11628 @Johnny, will you PTAL? I think I understand the change for both the automatic and manual upgrade, but please let me know if they need more changes. Automatic upgrade part LGTM. For manual upgrade part: > "During upgrade, if a value is not provided for the `openshift_schedulable` parameter, it is set to *true*. If a value is provided for `openshift_schedulable`, it is not changed." This seems not relevant with manual upgrade step because inventory file is not needed for manual upgrade. It's better to remove it, or else, better to update it to "During automatically upgrade, ...." at the beginning for above section. > "Remove the `openshift_schedulable` parameter and its value from the entry for each master host in the Ansible inventory file." Better to add "if a value is provided for the `openshift_schedulable`" for above section. Thanks Jia Liu! I removed those sections per your feedback and Scott's feedback. Will you please take another look? https://github.com/openshift/openshift-docs/pull/11628 (In reply to Kathryn Alexander from comment #9) > Thanks Jia Liu! I removed those sections per your feedback and Scott's > feedback. Will you please take another look? > > https://github.com/openshift/openshift-docs/pull/11628 Seems not update in pr11628. Could u double confirm? I apologize for the user error - I've fixed the PR. @Jia Liu, will you PTAL? LGTM now. Thanks! I've merged the change and am waiting for it to go live. This change is live on docs.openshift: https://docs.openshift.com/container-platform/3.9/upgrading/automated_upgrades.html#preparing-for-an-automated-upgrade And on the portal: https://access.redhat.com/documentation/en-us/openshift_container_platform/3.9/html-single/upgrading_clusters/#preparing-for-an-automated-upgrade |