4 Upgrade of Oracle CNC Solution deployed on with OCI

This section provides an overview of how to perform an upgrade of Oracle CNC NFs and Companion components in Oracle Cloud Infrastructure (OCI) environment.

4.1 Planning Upgrade

This section explains the planning for upgrading CNC with OCI Environment (OKE).

4.1.1 Guidelines

Oracle recommends the following guidelines:

  • Perform upgrade testing in sandbox or lab deployment before testing in production sites.
  • Upgrade all components to their target release, as per the compatibility matrix provided in the CNC release notes.
  • In a multisite deployment model, perform the upgrade of one site at a time. Follow the sequence mentioned in upgrade sequence to upgrade all the components in the specific site and then proceed to the next site.

    Refer to cnDBTier and NF-specific installation, upgrade, and fault recovery guide for post upgrade steps to verify the health of cnDBTier services and NF components.

  • Perform an upgrade of CNC Console, NF, and cnDBTier in a single maintenance window. If upgrade takes longer than a single maintenance window, individual components can be upgraded in multiple maintenance windows. Ensure that the upgrade order is followed as per the sequence mentioned in upgrade sequence.
  • If multiple NFs share a cnDBTier, upgrade all the instances of CNC Console and NFs sharing that cnDBTier of the specific site, before upgrading the cnDBTier of the site.
  • Rollback is the reverse order of upgrade.

4.1.2 Preupgrade Checklist

Go through the following checklist before performing an upgrade.

4.1.2.1 Resource Requirement

This section details about the resources required to upgrade CNC NFs and Companion components deployed on OCI environment.

4.1.2.1.1 OCI

Ensure that the number of planned resources required for NF, CNC Console, and cnDBTier are available during the upgrade.

4.1.2.1.2 Network Functions

For CNC NFs and Companion components upgrade, reevaluate resource requirement before performing the upgrade. It is possible that CNC NFs and Companion components require additional resources due to changes in architecture or service model.

For more information on NF resource requirements, see NF-specific installation, upgrade, and fault recovery guides.

4.1.2.2 Prerequisites

Ensure that you have the following prerequisites before performing an upgrade:

  • Keep the backup of the following artifacts from your recent successful installation handy:
    • custom values.yaml file
    • Updated helm charts
    • Secrets
    • Certificates
    • Keys used
  • See CNC Console, NF, and cnDBTier guides for preupgrade task details before upgrading respective components.

4.1.3 Upgrade Workflow

The following diagram details the upgrade sequence if you are using OCI.

Note:

OCI Adaptor doesn't support upgrade. Since OCI Adaptor requires reinstall, metrics scraping is impacted during that period.

Figure 4-1 CNC NFs and Companion components Upgrade Order on OCI Environment


CNC NFs and Companion components Upgrade Order on OCI Environment

See CNC NFs and Companion components installation, upgrade, and fault recovery guides for details on upgrading the respective components.

4.1.3.1 CNC NFs and Companion components Upgrade

This section explains the upgrade workflow of CNC NFs and Companion Components deployed on OCI environment.

Figure 4-2 CNC NFs and Companion components Upgrade on OCI Environment


CNC NFs and Companion components Upgrade on OCI Environment

The following procedure explains the upgrade workflow for Oracle NFs:

  1. Check the supported upgrade path for each NF. To know the upgrade path, see Oracle Communications Cloud Native Core Release Notes.

    Note:

    It is recommended to upgrade in the similar supported upgrade path of the Upgrade Workflow.
  2. Check for the compatibility of the target NF component. See Compatibility check of target NF component with installed CNE section for the procedure.
  3. If the NFs are not compatible, upgrade non-Oracle cloud native environment.
  4. If all NFs are compatible, upgrade the components based on the upgrade sequence mentioned in Upgrade Workflow section.
  5. Run the Helm test command to check the upgrade status. In case of any failure, contact My Oracle Support.
  6. Once the Helm test is successful, then the upgrade is complete.
  7. Perform the above upgrade steps in the production environment.

4.1.4 Compatibility Check of Target NF Component with Installed OCI

  1. Run the following command to get the list of resource versions for the installed OCI:
    kubectl api-versions

    Sample output:

    admissionregistration.k8s.io/v1 apiextensions.k8s.io/v1 
    apiregistration.k8s.io/v1 apps/v1 
    authentication.k8s.io/v1 authorization.k8s.io/v1 
    autoscaling/v1 
    autoscaling/v2 autoscaling/v2beta2 
    batch/v1 certificates.k8s.io/v1 coordination.k8s.io/v1 
    discovery.k8s.io/v1 events.k8s.io/v1 
    flowcontrol.apiserver.k8s.io/v1beta1 
    flowcontrol.apiserver.k8s.io/v1beta2 metrics.k8s.io/v1beta1 
    networking.k8s.io/v1 node.k8s.io/v1 policy/v1 rbac.authorization.k8s.io/v1 
    scheduling.k8s.io/v1 storage.k8s.io/v1 storage.k8s.io/v1beta1 v1
  2. Run the following command to get the list of target CNC Console, NF, and cnDBTier resources and their versions:
    helm upgrade <helm release> <chart tarball> -f <Custom File> -n <helm release> --dry-run | egrep -i "^apiVersion:|^kind:" |sed 's/\r$//' | awk '{ ORS = (NR%2 ? ", " : RS) } 1' | sort | uniq

    For example:

    helm upgrade ocudr  ocudr-23.4.0.tgz -f ocudr_custom_values_23.4.0.yaml -n ocudr --dry-run | egrep -i "^apiVersion:|^kind:" |sed 's/\r$//' | awk '{ ORS = (NR%2 ? ", " : RS) } 1' | sort | uniq
    Sample output:
    apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 , 
    kind: Deployment apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2, 
    kind: Deployment apiVersion: apps/v1, 
    kind: Deployment apiVersion: apps/v1, 
    kind: StatefulSet apiVersion: autoscaling/v2, 
    kind: HorizontalPodAutoscaler apiVersion: batch/v1, 
    kind: Job apiVersion: policy/v1, 
    kind: PodDisruptionBudget 
    apiVersion: rbac.authorization.k8s.io/v1, 
    kind: Role apiVersion: rbac.authorization.k8s.io/v1, 
    kind: RoleBinding apiVersion: v1, 
    kind: ConfigMap apiVersion: v1, 
    kind: Pod apiVersion: v1, 
    kind: Service apiVersion: v1, 
    kind: ServiceAccount 
    kind: Service, apiVersion: v1
  3. Verify that installed OCI has all resources and their versions required by CNC Console, NF, and cnDBTier.

4.2 Performing the NF Upgrade

See the following documents for detailed procedures to upgrade the respective components:

Table 4-1 CNC Network Functions Document Reference

CNC Network Functions Document Reference
Oracle Communications Cloud Native Core, Binding Support Function (BSF) Oracle Communications Cloud Native Core, Binding Support Function Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Network Exposure Function (NEF) Oracle Communications Cloud Native Core, Network Exposure Function Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Network Repository Function (NRF) Oracle Communications Cloud Native Core, Network Repository Function Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Network Slice Selection Function (NSSF) Oracle Communications Cloud Native Core, Network Slice Selection Function Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Converged Policy (Policy) Oracle Communications Cloud Native Core, Converged Policy Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Security Edge Protection Proxy (SEPP) Oracle Communications Cloud Native Core, Security Edge Protection Proxy Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Service Communication Proxy (SCP) Oracle Communications Cloud Native Core, Service Communication Proxy Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Unified Data Repository (UDR) Oracle Communications Cloud Native Core, Unified Data Repository Installation, Upgrade, and Fault Recovery Guide

Table 4-2 CNC Companion Components Document Reference

CNC Companion Components Document Reference
Oracle Communications Cloud Native Configuration Console (CNC Console) Oracle Communications Cloud Native Configuration Console Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, cnDBTier (cnDBTier) Oracle Communications Cloud Native Core, cnDBTier Installation, Upgrade, and Fault Recovery Guide

Table 4-3 OCI Components Document Reference

OCI Components Document Reference
OCI Adaptor
  • Oracle Communications Cloud Native Core, OCI Adaptor User Guide
  • Oracle Communications Cloud Native Core, OCI Deployment Guide

Note:

OCI Adaptor doesn't support upgrade.

4.2.1 Upgrade Workflow

The following procedure explains the upgrade workflow for CNC components in OCI environment:

  1. Check for the compatibility of the target NF component. Refer to Compatibility check of target NF component with installed CNE section for compatibility check procedure.
  2. Upgrade cloud native core and restart the applications, if required.
  3. Run the Helm test command to check the upgrade status.
  4. Once the Helm test is successful, the upgrade is complete.
  5. Perform the above steps in the production environment.

4.2.2 Compatibility Check of CNC NF Component on Target OCI Environment

Perform the following compatibility checks:

  1. Run the following commands to get the list of deployed resources and their versions from a given CNC NFs and Companion components release:
    helm get manifest ocudr -n ocudr | egrep -i "^apiVersion:|^kind:" |sed 's/\r$//' | awk '{ORS = (NR%2 ? ", " : RS) } 1' | so  rt | uniq
    Sample output:
    apiVersion: apps/v1    # for versions before 1.9.0 use apps/v1beta2 , kind: Deployment
    apiVersion: apps/v1    # for versions before 1.9.0 use apps/v1beta2, kind: Deployment
    apiVersion: apps/v1, kind: Deployment
    apiVersion: apps/v1, kind: StatefulSet
    apiVersion: autoscaling/v2, kind: HorizontalPodAutoscaler
    apiVersion: policy/v1, kind: PodDisruptionBudget
    apiVersion: rbac.authorization.k8s.io/v1, kind: Role
    apiVersion: rbac.authorization.k8s.io/v1, kind: RoleBinding
    apiVersion: v1, kind: ConfigMap
    apiVersion: v1, kind: Service
    apiVersion: v1, kind: ServiceAccount
    
  2. Run the following command to get the list of resource versions for the target cloud native environment release:

    Note:

    • See OKE release documentation for supported resources and versions.
    • Alternate approach: From any installed target cloud native environment release, run the following command to get a list of all supported api-versions:
      kubectl api-versions
    Sample output:
    admissionregistration.k8s.io/v1 apiextensions.k8s.io/v1 
    apiregistration.k8s.io/v1 apps/v1 
    authentication.k8s.io/v1 authorization.k8s.io/v1 
    autoscaling/v1 
    autoscaling/v2 autoscaling/v2beta2 
    batch/v1 certificates.k8s.io/v1 coordination.k8s.io/v1 
    discovery.k8s.io/v1 events.k8s.io/v1 
    flowcontrol.apiserver.k8s.io/v1beta1 
    flowcontrol.apiserver.k8s.io/v1beta2 metrics.k8s.io/v1beta1 
    networking.k8s.io/v1 node.k8s.io/v1 policy/v1 rbac.authorization.k8s.io/v1 
    scheduling.k8s.io/v1 storage.k8s.io/v1 storage.k8s.io/v1beta1 v1
  3. Manually ensure that all installed CNC NFs and Companion components resources and their versions are available in the target OCI environment.

4.3 Performing the Postupgrade Tasks

This section explains the postupgrade tasks.

4.3.1 NF Postupgrade

Perform the following NF postupgrade tasks:

  • Verify postupgrade of all the components by running the "helm test" provided by CNC Console, NFs, and cnDBTier to verify the deployment health and status.
  • See CNC Console, NFs, and cnDBTier installation, upgrade, and fault recovery guides for postupgrade task details after upgrading respective components.

4.3.2 OCI Environment Postupgrade

Perform the following postupgrade tasks:

  • Re-validate the stability of all the components by running "helm test" provided by CNC Console, NF, and cnDBTier to verify the deployment health and status.
  • For procedures to perform any restart required by CNC Console, NF, or cnDBTier, see the NF-specific installation, upgrade, and fault recovery guides.

4.4 Performing the Rollback

Once a rollback is triggered for a component, this section of the guide helps you to decide the order of the rollback for other components that were upgraded successfully. For example, a rollback is triggered if the cnDBTier upgrade fails (or validation after an upgrade fails) for any reason, and this guide provides the information to perform the rollback of CNC NFs and Companion components in a given order.

Note:

OCI Adaptor doesn't support rollback.
The following diagram details the rollback sequence:

Figure 4-3 Performing the Rollback


Performing the Rollback

Note:

OCI Adaptor rollback is not supported. The user must use OCI Resource Manager to remove the OCI Adapters stack.

Table 4-4 CNC Network Functions Document Reference

CNC Network Functions Document Reference
Oracle Communications Cloud Native Core, Binding Support Function (BSF) Oracle Communications Cloud Native Core, Binding Support Function Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Network Exposure Function (NEF) Oracle Communications Cloud Native Core, Network Exposure Function Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Network Repository Function (NRF) Oracle Communications Cloud Native Core, Network Repository Function Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Network Slice Selection Function (NSSF) Oracle Communications Cloud Native Core, Network Slice Selection Function Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Converged Policy (Policy) Oracle Communications Cloud Native Core, Converged Policy Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Security Edge Protection Proxy (SEPP) Oracle Communications Cloud Native Core, Security Edge Protection Proxy Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Service Communication Proxy (SCP) Oracle Communications Cloud Native Core, Service Communication Proxy Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, Unified Data Repository (UDR) Oracle Communications Cloud Native Core, Unified Data Repository Installation, Upgrade, and Fault Recovery Guide

Table 4-5 CNC Companion Components Document Reference

CNC Companion Components Document Reference
Oracle Communications Cloud Native Configuration Console (CNC Console) Oracle Communications Cloud Native Configuration Console Installation, Upgrade, and Fault Recovery Guide
Oracle Communications Cloud Native Core, cnDBTier (cnDBTier) Oracle Communications Cloud Native Core, cnDBTier Installation, Upgrade, and Fault Recovery Guide

Table 4-6 OCI Components Document Reference

OCI Components Document Reference
OCI Adaptor
  • Oracle Communications Cloud Native Core, OCI Adaptor User Guide
  • Oracle Communications Cloud Native Core, OCI Deployment Guide

4.5 Performing the Postrollback Tasks

Perform the following postrollback tasks:

  • Verify the rollback of all the CNC NFs and Companion components by running the "helm test" to verify the deployment health and status.
  • See CNC NFs and Companion components installation, upgrade, and fault recovery guides for postrollback task details after rolling back respective components.