Skip to content

Commit 24c6aa6

Browse files
authored
Update safe-upgrade-practices.md
1 parent a059e30 commit 24c6aa6

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

articles/operator-service-manager/safe-upgrade-practices.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,21 @@ This article introduces Azure Operator Service Manager (AOSM) safe upgrade pract
1414

1515
## What Are Safe Upgrade Practices
1616

17-
A given network service supported by Azure Operator Service Manager will be composed of one-to-many container-based network functions (CNFs) which, over time, will require frequent software updates. For each CNF update, it is necessary to run one-to-many helm operations, upgrading dependent network function applications (NfApps), in a particular order, in a manner which least impacts the network service. At Azure Operator Service Manager, Safe Upgrade Practices represents a set of features, which can automate the CNF operations required to update a network service on Azure Operator Nexus.
17+
A given network service supported by Azure Operator Service Manager will be composed of one-to-many container-based network functions (CNFs) which, over time, will require software updates. For each update, it is necessary to run one-to-many helm operations, upgrading dependent network function applications (NfApps), in a particular order, in a manner which least impacts the network service. At Azure Operator Service Manager, Safe Upgrade Practices represents a set of features, which can automate the CNF operations required to update a network service on Azure Operator Nexus.
1818

19-
![iFigre 1 - Overview Of Current Features](media/safe-upgrades-current-features.png)
19+
* SNS Reput update - Execute helm upgrade operation across all NfApps in NFDV.
20+
* Nexus Platform - Support SNS reput operations on Nexus platform targets.
21+
* Operation Timeouts - Ability to set operational timeouts for each NfApp operation.
22+
* Synchronous Operations - Ability to run one serial NfApp operation at a time.
23+
* Pause-On-Failure - Based on flag, set failure behavior to rollback only last NfApp operation.
24+
* Single Chart Test Validation - Running a helm test operation after a create or update.
25+
* Refactored SNS Re-put - Improved methods, adds update order and cleanup check.
2026

2127
## Safe Upgrade Practices Overview
2228

2329
To update an existing Azure Operator Service Manager site network service (SNS), the Operator executes a reput update request against the deployed SNS resource. Where the SNS contains CNFs with multiple NfApps, the request is fanned out across all NfApps defined in the network function definition version (NFDV). By default, in the order, which they appear, or optionally in the order defined by UpdateDependsOn parameter.
2430

25-
For each NfApp, the reput update request supports increasing a helm chart version, adding/removing helm values and/or adding/removing any NfApps. Timeouts can be set per NfApp, based on known allowable runtimes, but NfApps can only be processed in serial order, one after the other. When processing each NfApp, the reput update applies the following logic:
31+
For each NfApp, the reput update request supports increasing a helm chart version, adding/removing helm values and/or adding/removing any NfApps. Timeouts can be set per NfApp, based on known allowable runtimes, but NfApps can only be processed in serial order, one after the other. The reput update implements the following processing logic:
2632

2733
* For an NFApp with applicationEnablement set to false, skip.
2834
* For an NFApp, which is common between old and new network function definition version (NFDV), trigger upgrade component.
@@ -39,11 +45,11 @@ When planning for an upgrade using Azure Operator Service Manager, address the f
3945
- New NFDV and network service design version (NSDV) are needed, under existing NFDg and NSDg.
4046
- We cover basic changes to the NFDV in the step-by-step section.
4147
- New NSDV is only required if a new configuration group schema (CGS) version is being introduced.
42-
- If neccesary, new CGS.
48+
- If necessary, new CGS.
4349
- Required if an upgrade introduces new exposed configuration parameters.
4450

4551
- Create updated artifacts using Operator workflow.
46-
- If neccesary, create new configuration group values (CGVs) based on new CGS.
52+
- If necessary, create new configuration group values (CGVs) based on new CGS.
4753
- Reuse and craft payload by confirming the existing site and site network service objects.
4854

4955
- Update templates to ensure that upgrade parameters are set based on confidence in the upgrade and desired failure behavior.
@@ -54,15 +60,15 @@ Follow the following process to trigger an upgrade with Azure Operator Service M
5460

5561
#### Create new NFDV template with higher version.
5662

57-
When selecting a new NFDV version, it must be a valid SemVer format, where only incrementing values of patch and minor versions updates are allowed. A lower NFDV version is not allowed. Given a CNF deployed using NFDV 2.0.0, the new NFDV can be of version 2.0.1, or 2.1.0, but not 1.0.0, or 3.0.0.
63+
For new NFDV versions, it must be a valid SemVer format, where only incrementing values of patch and minor versions updates are allowed. A lower NFDV version is not allowed. Given a CNF deployed using NFDV 2.0.0, the new NFDV can be of version 2.0.1, or 2.1.0, but not 1.0.0, or 3.0.0.
5864

5965
#### Update new NFDV Helm parameters to desired target version.
6066

6167
Helm chart versions can be updated, or Helm values can be updated or parameterized as necessary. New NfApps can also be added where they did not exist in deployed version.
6268

6369
#### Update NFDV for desired NfApp order using UpdateDependsOn
6470

65-
UpdateDependsOn is a NFDV parameter used to specify ordering of NfApps during update operations. If UpdateDependsOn is not provided, serial ordering of CNF applications, as appearing in the NFDV is used.
71+
UpdateDependsOn is an NFDV parameter used to specify ordering of NfApps during update operations. If UpdateDependsOn is not provided, serial ordering of CNF applications, as appearing in the NFDV is used.
6672

6773
#### Update NFDV roleOverrideValues for desired upgrade behavior.
6874

@@ -86,7 +92,7 @@ Resolve the root cause for NfApp failure by analyzing logs and other debugging i
8692

8793
#### Manually skip completed charts using applicationEnablement parameter.
8894

89-
After fixing the failed NfApp, but before attempting an upgrade retry, consider changing the applicationEnablement parameter to accelerate retry behavior. This parameter can be set false, where an NfApp should be skipped. This parameter can be usefuel where an NfApp does not require an upgraded. See the appendix for more information on manipulating the applicationEnablement flag.
95+
After fixing the failed NfApp, but before attempting an upgrade retry, consider changing the applicationEnablement parameter to accelerate retry behavior. This parameter can be set false, where an NfApp should be skipped. This parameter can be useful where an NfApp does not require an upgraded. See the appendix for more information on manipulating the applicationEnablement flag.
9096

9197
#### Issue SNS Re-Put retry (repeat until success)
9298

@@ -98,14 +104,14 @@ Azure Operator Service Manager continues to grow the Safe Upgrade Practice featu
98104

99105
* Improve Upgrade Options Control - Expose parameters more effectively.
100106
* Skip NfApp on No Change - Skip processing of NfApps where no changes result.
101-
* Exeute NFDV Rollback On Failure - Based on flag, rollback all completed NfApps on failure.
107+
* Execute NFDV Rollback On Failure - Based on flag, rollback all completed NfApps on failure.
102108
* Operate Asynchronously - Ability to run multiple NfApp operations at a time.
103109
* Download Images- Ability to preload images to edge repository.
104110
* Target Charts for Validation - Ability to run a helm test only on a specific NfApp.
105111

106112
## Appendix A - Using applicationEnablement
107113

108-
In the NFDV resource, under deployParametersMappingRuleProfile there is the property applicationEnablement of type enum, which take values: Unknown, Enabled, or disabled. It can be used to exclude NfApp operations during NF deployment.
114+
In the NFDV resource, under deployParametersMappingRuleProfile there is the property applicationEnablement of type enum, which takes values: Unknown, Enabled, or disabled. It can be used to exclude NfApp operations during NF deployment.
109115

110116
### Publisher
111117

0 commit comments

Comments
 (0)