errose28 commented on a change in pull request #2527:
URL: https://github.com/apache/ozone/pull/2527#discussion_r689820167



##########
File path: hadoop-hdds/docs/content/feature/Nonrolling-Upgrade.md
##########
@@ -0,0 +1,110 @@
+---
+title: Non-rolling upgrades and downgrades
+summary: Steps to do a non rolling upgrade of Ozone.
+date: 2021-02-15
+author: Aravindan Vijayan 
+menu:
+   main:
+      parent: Features
+summary: How to do non-rolling upgrades and downgrades of Ozone
+---
+<!--
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License. See accompanying LICENSE file.
+-->
+
+Ozone supports non-rolling upgrades and downgrades, where all components are 
stopped first, and then restarted with the upgraded or downgraded versions.
+
+## Upgrade States
+
+After upgrading components, the upgrade process is divided into two states:
+
+1. **Pre-finalized**: When the current components are stopped and the new 
versions are started, they will see that the data on disk was written by a 
previous version of Ozone and enter a pre-finalized state. In the pre-finalized 
state:
+    - The cluster can be downgraded at any time by stopping all components and 
restarting with the old versions.
+    - Backwards incompatible features introduced in the new version will be 
disallowed by the cluster.
+    - The cluster will remain fully operational with all functionality present 
in the old version still allowed.
+    - Any data created while pre-finalized will remain readable after 
downgrade.
+
+2. **Finalized**: When a finalize command is given to OM or SCM, they will 
enter a finalized state.  In the finalized state:
+    - The cluster can no longer be downgraded.
+    - All new features of the cluster introduced in the new version can be 
used.
+
+### Querying finalization status
+
+**OM**: `ozone admin om finalizationstatus`. If using OM HA, finalization 
status is checked for the quorum, not individual OMs.
+
+**SCM**: `ozone admin scm finalizationstatus`. SCM will report that 
finalization is complete once it has finalized and is aware of enough finalized 
datanodes to form a write pipeline. The remaining datanodes will finalize 
asynchronously and be incorporated into write pipelines after informing SCM 
that they have finalized.
+
+**Datanodes**: `ozone admin datanode list` will list all datanodes and their 
health state as seen by SCM. If SCM is finalized, then datanodes whose health 
state is `HEALTHY` have informed SCM that they have finalized. Datanodes whose 
health state is `HEALTHY_READONLY` have not yet informed SCM that they have 
finished finalization. `HEALTHY_READONLY` (pre-finalized) datanodes remain 
readable, so the cluster is operational even if some otherwise healthy 
datanodes have not yet finalized. `STALE` or `DEAD` datanodes will be told to 
finalize by SCM once they are reachable again.
+
+
+## Steps to upgrade and downgrade
+
+Starting with your current version of Ozone, complete the following steps to 
upgrade to a newer version of Ozone.
+
+1. If using OM HA and currently running Ozone 1.2.0 or greater, prepare the 
Ozone Manager.
+    ```
+    ozone admin om -id=<om-sevice-id> prepare
+    ```
+    If OM HA is not being used, this step can be skipped. This will block the 
Ozone Managers from receiving all write requests. See [Ozone Manager Prepare 
For Upgrade]({{< relref "../design/omprepare.md" >}}) for more information

Review comment:
       Yeah this sentence is confusing I have updated it to read better.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to