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
Copy file name to clipboardExpand all lines: articles/operator-service-manager/safe-upgrade-practices.md
+16-10Lines changed: 16 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,15 +14,21 @@ This article introduces Azure Operator Service Manager (AOSM) safe upgrade pract
14
14
15
15
## What Are Safe Upgrade Practices
16
16
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.
18
18
19
-

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.
20
26
21
27
## Safe Upgrade Practices Overview
22
28
23
29
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.
24
30
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:
26
32
27
33
* For an NFApp with applicationEnablement set to false, skip.
28
34
* 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
39
45
- New NFDV and network service design version (NSDV) are needed, under existing NFDg and NSDg.
40
46
- We cover basic changes to the NFDV in the step-by-step section.
41
47
- 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.
43
49
- Required if an upgrade introduces new exposed configuration parameters.
44
50
45
51
- 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.
47
53
- Reuse and craft payload by confirming the existing site and site network service objects.
48
54
49
55
- 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
54
60
55
61
#### Create new NFDV template with higher version.
56
62
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.
58
64
59
65
#### Update new NFDV Helm parameters to desired target version.
60
66
61
67
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.
62
68
63
69
#### Update NFDV for desired NfApp order using UpdateDependsOn
64
70
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.
66
72
67
73
#### Update NFDV roleOverrideValues for desired upgrade behavior.
68
74
@@ -86,7 +92,7 @@ Resolve the root cause for NfApp failure by analyzing logs and other debugging i
86
92
87
93
#### Manually skip completed charts using applicationEnablement parameter.
88
94
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.
90
96
91
97
#### Issue SNS Re-Put retry (repeat until success)
92
98
@@ -98,14 +104,14 @@ Azure Operator Service Manager continues to grow the Safe Upgrade Practice featu
98
104
99
105
* Improve Upgrade Options Control - Expose parameters more effectively.
100
106
* 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.
102
108
* Operate Asynchronously - Ability to run multiple NfApp operations at a time.
103
109
* Download Images- Ability to preload images to edge repository.
104
110
* Target Charts for Validation - Ability to run a helm test only on a specific NfApp.
105
111
106
112
## Appendix A - Using applicationEnablement
107
113
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.
0 commit comments