You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This article introduces Azure Operator Service Manager (AOSM) safe upgrade practices (SUP). This feature set enables upgrades to complex container network function (CNF) hosted on Azure Operator Nexus. These upgrades generally support partner In Service Software Upgrade (ISSU) methods and requirements. While this article introduces basic concepts, look for additional articles which expand on advanced SUP features and capabilities.
12
+
This article introduces Azure Operator Service Manager (AOSM) safe upgrade practices (SUP). This feature set enables upgrades to complex container network function (CNF) hosted on Azure Operator Nexus. These upgrades generally support partner In Service Software Upgrade (ISSU) methods and requirements. While this article introduces basic concepts, look for other articles which expand on advanced SUP features and capabilities.
13
13
14
14
## Introduction to safe upgrades
15
-
A given network service supported by AOSM, composed of one to many CNFs, includes compoments which, over time, require software and/or configuration changes. To make these component level changes it's necessary to run one to many helm operations, upgrading each network function application (nfApp) in a particular order and in a manner which least impacts the network service. AOSM safe upgrade practices leverage the following high level capabilities to handle upgrade process and workflow requirements:
15
+
A given network service supported by AOSM, composed of one to many CNFs, includes components which, over time, require software and/or configuration changes. To make these component level changes it's necessary to run one to many helm operations, upgrading each network function application (nfApp) in a particular order and in a manner which least impacts the network service. AOSM safe upgrade practices apply the following high level capabilities to handle upgrade process and workflow requirements:
16
16
17
17
* SNS Reput Support - Execute helm upgrade operation across all nfApps in network function design version (NFDV).
18
18
* Nexus Platform - Support SNS reput operations on Nexus platform targets.
19
-
* Operation Time-outs - Ability to set operational time-outs for each nfApp operation.
19
+
* Operation Timeouts - Ability to set operational timeouts for each nfApp operation.
20
20
* Synchronous Operations - Ability to run one serial nfApp operation at a time.
21
21
* Control Upgrade Order - Define different nfApp sequence for install and upgrade.
22
22
* Pause On Failure - Default behavior pauses after an nfApp operation failure.
@@ -39,7 +39,7 @@ For each nfApp, the reput request supports various changes including increasing
39
39
40
40
To ensure outcomes, nfApp testing is supported using helm methods, either tests triggered by helm pre or post hooks, or using the standalone helm test hook. For pre or post hook failure, the `atomic` parameter is honored. With atomic/true, the failed chart is rolled back. With atomic/false, no rollback is executed. For standalone helm test hook failure, the `rollbackOnTestFailure` is honored, following similar logic as atomic. For more information on standalone helm testing, see the following article: [Run tests after install or upgrade](safe-upgrades-helm-test.md)
41
41
42
-
When an nfApp operation failure occurs, and after the failed nfApp is handled via `atomic` or `rollbackOnTestFailure` parameters, the operator can control behavior on how to handle any nfApps changed prior to the failed nfApp. With pause-on-failure the operator can force AOSM to break after addressing the failed nfApp, perserving the mixed version environment. With rollback-on-failure the operator can force AOSM to rollback any prior nfApp, restoring the original environment snapshot. For more information on controlling upgrade failure behavior, see the following article: [Control upgrade failure behavior](safe-upgrades-nf-level-rollback.md)
42
+
When an nfApp operation failure occurs, and after the failed nfApp is handled via `atomic` or `rollbackOnTestFailure` parameters, the operator can control behavior on how to handle any nfApps changed before the failed nfApp. With pause-on-failure the operator can force AOSM to break after addressing the failed nfApp, preserving the mixed version environment. With rollback-on-failure the operator can force AOSM to rollback any prior nfApp, restoring the original environment snapshot. For more information on controlling upgrade failure behavior, see the following article: [Control upgrade failure behavior](safe-upgrades-nf-level-rollback.md)
43
43
44
44
## Considerations for in-service upgrades
45
45
Azure Operator Service Manager generally supports in service upgrades, an upgrade method which advances a deployment version without interrupting the running service. Some network function owner considerations are necessary to ensure the proper behavior of AOSM during ISSU operations.
@@ -101,7 +101,7 @@ In cases where a reput update fails, the following process can be followed to re
101
101
* By default, the reput retries nfApps in the declared update order, unless they're skipped using `applicationEnablement` flag.
102
102
103
103
## Control timeouts with installOptions and UpgradeOptions
104
-
When an SNS operation starts either a `helm install` or a `helm upgrade` a 27-minute default timeout value is used. While this value can be customized at the global NF level, we recommend to customize this value at the component NF level using `roleOverrideValues` in the NF payload template. Further exposing the `roleOverrideValues` in CGS/CGV allows control by the operator at run-time. The following example demonstrates minimally supported installOptions and upgradeOptions parameters applied across two nfApp components;
104
+
When an SNS operation starts either a `helm install` or a `helm upgrade`, a 27-minute default timeout value is used. While this value can be customized at the global network function (NF) level, we recommend customizing this value at the component NF level using `roleOverrideValues` in the NF payload template. Further exposing the `roleOverrideValues` in CGS/CGV allows control by the operator at run-time. The following example demonstrates supported installOptions and upgradeOptions parameters applied across two nfApp components;
105
105
106
106
```json
107
107
{
@@ -179,7 +179,7 @@ The CGS template must be updated to include one variable declaration for each li
179
179
```
180
180
181
181
### NF payload template changes
182
-
The NF template must be update three ways. First, the implicit config parameter must be defined as type object. Second, `roleOverrideValues0`, `roleOverrideValues1`, and `roleOverrideValues2` must be declared as variables mapped to config parameter. Third, `roleOverrideValues0`, `roleOverrideValues1` and `roleOverrideValues2` must be referenced for substitution under `roleOverrideValues` in proper order and following proper syntax.
182
+
The NF template must be update three ways. First, the implicit config parameter must be defined as type object. Second, `roleOverrideValues0`, `roleOverrideValues1`, and `roleOverrideValues2` must be declared as variables mapped to config parameter. Third, `roleOverrideValues0`, `roleOverrideValues1`, and `roleOverrideValues2` must be referenced for substitution under `roleOverrideValues` in proper order and following proper syntax.
0 commit comments