5 Upgrading CNC Console

This section provides details of CNCC upgrade procedure to upgrade the following CNC Console components:
  • M-CNCC IAM
  • M-CNCC Core
  • A-CNCC Core

WARNING:

Before proceeding with CNCC IAM helm upgrade, latest CNCC database backup must be taken. See CNCC IAM DB Backup and store backup file in a location which can be easily restored.

Note:

A-CNCC DB dependency has been removed from CNC Console release 23.2.0. Only CNCC IAM and M-CNCC Core have DB dependency.

The following steps must be followed while performing the upgrade:

  1. CNCC IAM DB Backup
  2. A-CNCC Core DB Backup
  3. CNCC Upgrade
  4. Removing A-CNCC Core DB

This section explains about the CNC Console upgrade procedures for single cluster and Multicluster deployments. M-CNCC IAM, M-CNCC Core, and A-CNCC Core can be upgraded from current version to the latest version using helm upgrade feature.

User can upgrade and Rollback CNC Console from a source release to a target release using CDCS or CLI procedures as outlined in the following table:

Upgrade References Applicable for CDCS Applicable for CLI
CNCC IAM DB Backup CNCC IAM DB Backup Yes Yes
A-CNCC Core DB Backup A-CNCC Core DB Backup Yes Yes
CNCC Upgrade CNCC Upgrade See Oracle Communications CD Control Server Installation and Upgrade Guide Yes
Removing A-CNCC Core DB Removing A-CNCC Core DB Yes Yes

Caution:

It is recommended to verify the copy pasted content especially when the hyphens or any special characters are part of copied content.

5.1 Supported Upgrade Paths

This section describes the supported upgrade paths for CNCC

For more information about supported upgrade paths, see CNC Console Deployment Modes section.

The following table lists the supported upgrade paths for Console:

Table 5-1 CNC Console Upgrade Sequence

Deployment Mode Source Version Target Version Upgrade Sequence Comments
Single Cluster 23.2.x or 23.3.x 23.4.x

Console Upgrade

Upgrade CNCC

NF Upgrade

Upgrade Instances (NF or CNE/OSO Common Services)

cnDbtier Upgrade

  • CNC Console can be upgraded first as 22.2.0 onwards NF includes menu api to support Console first upgrade functionality.
  • A-CNCC DB dependency has been removed from CNC Console release 23.2.0. Only CNCC IAM and M-CNCC Core have DB dependency. For more information see the preupgrade and postupgrade tasks.
  • Helm upgrade CNCC using existing release name (cncc-iam or cncc).
Multi Cluster 23.2.x or 23.3.x 23.4.x

Console Manager Upgrade

Upgrade CNCC

Console Agent Upgrade

Upgrade A-CNCC Core

NF Upgrade

Upgrade Instances (NF or CNE/OSO Common Services)

cnDbtier Upgrade

  • CNC Console can be upgraded first as 22.2.0 onwards NF includes menu API to support Console first upgrade functionality.
  • Manager Clusters:
    • A-CNCC DB dependency has been removed from CNC Console release 23.2.0. Only CNCC IAM and M-CNCC Core have DB dependency. For more information see the preupgrade and postupgrade tasks.
    • Helm upgrade CNCC using existing release name(cncc-iam or cncc).
  • Agent Clusters:
    • A-CNCC DB dependency has been removed from CNC Console release 23.2.0. Only CNCC IAM and M-CNCC Core have DB dependency. For more information see the preupgrade and postupgrade tasks.
    • Helm upgrade A-CNCC using existing release name (cncc-core or cncc). This will upgrade A-CNCC Core.

Note:

  • Console should be upgraded first followed by NF for all the supported NFs.
  • cnDBTier only supports APIs from 23.3.x onwards. Users with a combination of cnDBTier 23.3.x or older, and NF version 23.4.x or newer won't have access to the data in cnDBTier configuration items.

5.2 Preupgrade Tasks

While upgrading an existing CNC Console deployment, the running set of containers and pods are replaced with the new set of containers and pods. However, if there is no change in the pod configuration, the running set of containers and pods are not replaced.

Caution:

  • No configuration should be performed during upgrade.
  • Do not exit from helm upgrade command manually. After running the helm upgrade command, it takes sometime (depending upon number of Pods to upgrade) to upgrade all of the services. In the meantime, you must not press "ctrl+c" to come out from helm upgrade command. It may lead to anomalous behavior.

Preupgrade Steps

  1. Keep current occncc_custom_values_<version>.yaml file as backup, that is
    occncc_custom_values_<version to be upgraded>.yaml 
  2. Update the new custom_values.yaml defined for target CNC Console release. See CNC Console IAM Configuration Parameters section and CNC Console Core Configuration Parameters section for more details about helm configurable parameters.
  3. Install or upgrade the network policies, if applicable. For more information, see Configuring Network Policies for CNC Console.

5.3 CNCC IAM DB Backup

This section describes the procedure to do the DB backup of CNCC IAM.

Prerequisites

The prerequisites for the backup process are:

  • MySQL NDB cluster should be in a healthy state.
  • Every database node of the MySQL NDB cluster should be in running state.
  • In case of cnDBTier to verify the prerequisites, check mysql pod is up and running.
  • In case of VM based DB Tier to verify the prerequisites, login to MCM client on one of the SQL node of the cluster. Execute the following command to check the node status:
    mcm> show status -r occnendbclustera;
  • Log in to the SQL node and run the following command to take the dump (backup) of the database. The user is required to enter the password.
    kubectl exec -i -n <namespace> <sql-node> -- mysqldump --single-transaction --no-tablespaces --no-create-info -h 127.0.0.1 -u <username> -p <database-name> | gzip > <backup_filename>.sql.gz
    

    Example:

    kubectl exec -i -n occne-ndb ndbappmysqld-0 -- mysqldump --single-transaction --no-tablespaces --no-create-info
          -h 127.0.0.1 -u cnccusr -p cnccdb | gzip > cnccdbBackup.sql.gz

5.4 A-CNCC Core DB Backup

This section describes the procedure to take the DB backup of A-CNCC Core.

Note:

This step is applicable when upgrading from 23.1.x or older version as CNCC 23.2.0 onwards A-CNCC DB dependency has been taken out. Only CNC Console IAM and M-CNCC Core has DB dependency.

Prerequisites

The prerequisites for the backup process are:

  • MySQL NDB cluster should be in a healthy state.
  • Every database node of the MySQL NDB cluster should be in running state.
  • In case of cnDBTier to verify the prerequisites, check mysql pod is up and running.
  • In case of VM based DBTier to verify the prerequisites, log in to MCM client on one of the SQL node of the cluster. Run the following command to check the node status:
    mcm> show status -r occnendbclustera;
  • Log in to the SQL node and run the following command to take the dump (backup) of the database. The user is required to enter the password.
    kubectl exec -i -n <namespace> <sql-node> -- mysqldump --single-transaction --no-tablespaces
              -h 127.0.0.1 -u <username> -p <database-name> | gzip > <backup_filename>.sql.gz
    Example:
    kubectl exec -i -n occne-ndb ndbappmysqld-0 -- mysqldump --single-transaction --no-tablespaces -h 127.0.0.1 -u cnccusr -p acncccommonconfig | gzip >
        acncccommonconfigBackup.sql.gz

5.5 CNCC Upgrade

This section describes the procedure to upgrade CNCC.

Note:

  • Existing release name must be used for upgrade.
  • mCnccIams port is assumed as 80. The mCnccIams port configuration must be added only if port is other than 80.
  1. Prepare occncc_custom_values_<version>.yaml file for upgrade.
  2. Upgrade CNC Console using existing release release name (cncc-iam or cncc) by running the following command:
    $ helm upgrade <cncc_iam_release_name> <helm_chart> -f <occncc_custom_values_<version>.yaml> -n <namespace>

    Example:
    $ helm upgrade cncc ocspf-helm-repo/cncc -f occncc_custom_values_<version>.yaml -n cncc
  3. Check the status of upgrade by running the following command:
    $ helm status <cncc_iam_release_name> -n <namespace>
    Example:
    $ helm status cncc -n cncc

5.6 Post Upgrade Tasks

This section describes the tasks to be performed after an upgrade.

5.6.1 Removing A-CNCC Core DB

Note:

This step is applicable when upgrading from 23.1.x or older version as CNCC 23.2.0 onwards A-CNCC DB dependency has been taken out. Only CNC Console IAM and M-CNCC Core has DB dependency.

Perform the following steps to remove A-CNCC Core DB:

  • Log in to a server or machine that can access the SQL nodes of the NDB cluster.
  • Connect to the SQL node of the NDB cluster or connect to the cnDBTier.
    To connect to cnDBTier, run the following command:
    $ kubectl -n <cndbtier_namespace> exec -it <cndbtier_sql_pod_name> -c <cndbtier_sql_container_name>
          -- bash
    Example:
    $ kubectl -n cndbtier  exec -it ndbappmysqld-0 -c mysqlndbcluster -- bash
  • Login to the MySQL prompt using a root permission or user that can create users with permissions.
    $ mysql -h 127.0.0.1 -u root -p
  • Drop the existing acncccommonconfig database.
    
    $ DROP DATABASE if exists <ACNCC Core Common Config Database>;
    $ DROP DATABASE if exists acncccommonconfig;

5.7 Parameters and Definitions During CNC Console Upgrade

Parameters and Definitions during CNCC Upgrade

Table 5-2 Parameters and Definitions during CNCC Upgrade

Parameters Definitions
<release_name> CNCC Helm release deployed. It could be found in the output of 'helm list' command
<namespacename> CNCC namespace in which release deployed
<helm_chart> CNCC helm chart
<chart_version> CNCC helm chart version in case helm charts are referred from helm repo
<helm_repo> CNCC helm repo
<occncc_custom_values_<version>.yaml>

CNCC customized values.yaml for target release.

<occncc_rollback_iam_schema_<version>.sql> CNCC DB schema file used for rollback