5 Rolling Back OCNADD

This chapter describes the OCNADD rollback procedure from a target release to a previously supported version. In the current release, centralized deployment is supported, and OCNADD microservices will follow the centralized deployment mode with the management group and the worker group separation concerning microservices functions.

The rollback will be supported for the following cases:

  • Upgrade was done from source releases to the target release in the Centralized deployment mode.

Table 5-1 Supported Rollback Paths

Source Release Target Release
25.2.100 25.1.200

Rollback Steps

These steps are common for all the rollback cases. To roll back to a previous version, follow the steps as mentioned:

Note:

  • (Optional) A timeout interval of 15 minutes can be set while performing an upgrade, as only one pod of the OCNADD services is upgraded at a time.
  • Ensure that the status of the target version in the Helm history is not in a failed or error state. If Data Director has been integrated with a Druid cluster after upgrading to the current release and a rollback is required, it is recommended to remove all correlation and export configurations before performing the rollback.

Rollback Usecase 2: Upgrade Was Done from Source Releases (Centralized) to Target Release in the Centralized Deployment Mode

Note:

This scenario is applicable for rollback from 25.2.100 Centralized Deployment Mode to 25.1.200 Centralized Deployment Mode.

To roll back to a previous working version in the target rollback release, follow these steps:

If any worker group deployed in a separate namespace (other than the default workergroup) was upgraded to 25.2.100, and you want to restore the HNS support as it was before the upgrade, perform the following pre-rollback steps for each worker group belonging to a separate namespace
  1. Add back the HNC annotations
    Use the following command:
    kubectl hns set <child-namespace> --parent <parent-namespace>
    
    Example:
    kubectl hns tree ocnadd-mgmt
    
    Sample Output:
    
    ocnadd-mgmt
    ocnadd-wg1
    
    Then run:
    kubectl hns set ocnadd-wg1 --parent ocnadd-mgmt
    
    Verify the changes:
    kubectl hns tree ocnadd-mgmt
    
    Sample Output:
    
    ocnadd-mgmt
    +-- [s] ocnadd-wg1
    
  2. Special case – if the management namespace was also a child of another namespace
    Run the following command:
    kubectl annotate namespace <child-namespace> hnc.x-k8s.io/subnamespace-of=<parent-namespace> --overwrite
    
    Example:
    kubectl hns tree ocnadd-site
    
    Sample Output:
    
    ocnadd-site
    +-- [s] ocnadd-mgmt
    +-- [s] ocnadd-wg1 (1)
    
    Then run:
    kubectl annotate namespace ocnadd-wg1 hnc.x-k8s.io/subnamespace-of=ocnadd-mgmt --overwrite
    
    Verify the changes:
    kubectl hns tree ocnadd-site
    
    Sample Output:
    
    ocnadd-site
    └── [s] ocnadd-mgmt
        └── [s] ocnadd-wg1
    
  3. Repeat the above steps for each worker group namespace.

Rollback of Management Group:

  1. In case of default worker group, first disable the Admin service in default worker group custom_value file as below:
    global.ocnaddadmin.enabled: false
    Upgrade the default worker group in the current release
    helm upgrade <ocandd-default-workergroup-release-name>  <helm_chart_current_release>  -n <ocndd-mgmt-namespace> -f ocnadd-custom-values-<current_release>.yaml
  2. Check Revision of the Management Group Release to Rollback:
    helm history <ocandd-release-name> --namespace <ocndd-mgmt-namespace>

    Where,

    <ocandd-release-name> is the release name used for management group deployment.

    For example:
    helm history ocnadd --namespace ocnadd-deploy-mgmt
    Sample Helm history output:
    
    REVISION   UPDATED                     STATUS        CHART                         APP VERSION         DESCRIPTION
    1          Fri Jul 08 04:57:43 2025    superseded    ocnadd-25.1.200               25.1.200.0.0        Install complete (revision required for rollback)
    2          Fri Jul 08 05:07:43 2025    deployed      ocnadd-25.2.100               25.2.100.0.0        Upgrade complete  
  3. Rollback to Required Revision of the management release:
    helm rollback <ocandd-mgmt-release-name> <REVISION> --namespace <ocndd-mgmt-namespace>

    Where,

    <REVISION> is the revision number obtained in the previous step to which the services need to be rolled back.

    For example:
    helm rollback ocnadd 2 --namespace ocnadd-deploy
  4. After the successful completion of the management rollback (i.e., no service is in the Init stage), execute the following command:
    kubectl rollout restart deployment -n <ocndd-mgmt-namespace> ocnaddconfiguration
    
    Example:
    kubectl rollout restart deployment -n ocnadd-deploy-mgmt ocnaddconfiguration
    
  5. After restarting the configuration service, verify that all required configurations have been initialized.

Rollback of Worker Groups

  1. Check Revision for Rollback:
    helm history <ocandd-release-name> --namespace <ocnadd-workergroup-namespace>

    Where,

    <ocandd-release-name> is the release name used for default worker group deployment.

    For example:
    helm history ocnadd --namespace ocnadd-deploy
    Sample Helm history output:
    
    REVISION   UPDATED                     STATUS        CHART                         APP VERSION       DESCRIPTION 
    1          Fri Jul 08 04:57:43 2025    superseded    ocnadd-25.1.200               25.1.200.0.0        Install complete (revision required for rollback)
    2          Fri Jul 08 05:07:43 2025    superseded    ocnadd-25.2.100               25.2.100.0.0        Upgrade complete 
    3          Fri Jul 08 05:15:43 2025    superseded    ocnadd-25.2.100               25.2.100.0.0        Upgrade complete  
    4          Fri Jul 08 07:07:43 2025    deployed      ocnadd-25.2.100               25.2.100.0.0        Upgrade complete
  2. Rollback to Required Revision or the worker group release:
    helm rollback <ocandd-release-name> <REVISION> --namespace <ocndd-workergroup-namespace>

    Where,

    <REVISION> is the revision number obtained in the previous step to which the services need to be rolled back.

    For example:
    helm rollback ocnadd 2 --namespace ocnadd-deploy
  3. Rollback Adapter Services and other services to the previous version. Follow the below steps:
    1. Perform helm upgrade using the management group charts folder:
      1. If no correlation configurations are present:
        helm upgrade <management-release-name> -f ocnadd-custom-values-<mgmt-group>.yaml --namespace <ocnadd-namespace> <mgmt_helm_chart> --set global.env.admin.OCNADD_ADAPTER_UPGRADE_ENABLE=true
        For example:
        helm upgrade ocnadd-mgmt -f ocnadd-custom-values-mgmt-group.yaml --namespace ocnadd-deploy ocnadd_mgmt --set global.env.admin.OCNADD_ADAPTER_UPGRADE_ENABLE=true 
      2. If correlation configurations are also present:
        helm upgrade <management-release-name> -f ocnadd-custom-values-<mgmt-group>.yaml --namespace <ocnadd-namespace> <mgmt_helm_chart> --set global.env.admin.OCNADD_ADAPTER_UPGRADE_ENABLE=true,global.env.admin.OCNADD_CORR_UPGRADE_ENABLE=true

        Note:

        If the correlation configuration was enabled for extended storage (from 24.2.0 onwards) then also use the flag "global.env.admin.OCNADD_STORAGE_ADAPTER_UPGRADE_ENABLE=true" in the above command.
        For example:
        helm upgrade ocnadd-mgmt -f ocnadd-custom-values-mgmt-group.yaml --namespace ocnadd-deploy ocnadd_mgmt --set global.env.admin.OCNADD_ADAPTER_UPGRADE_ENABLE=true,global.env.admin.OCNADD_CORR_UPGRADE_ENABLE=true

        Note:

        If the correlation configuration was enabled for extended storage (from 24.2.0 onwards), then also use the flag global.env.admin.OCNADD_STORAGE_ADAPTER_UPGRADE_ENABLE=true in the above command.
        helm upgrade ocnadd-mgmt -f ocnadd-custom-values-mgmt-group.yaml --namespace ocnadd-deploy ocnadd_mgmt --set global.env.admin.OCNADD_ADAPTER_UPGRADE_ENABLE=true,global.env.admin.OCNADD_CORR_UPGRADE_ENABLE=true,global.env.admin.OCNADD_STORAGE_ADAPTER_UPGRADE_ENABLE=true
      3. If ingress adapter configurations are also present:
        helm upgrade <management-release-name> -f ocnadd-custom-values-<mgmt-group>.yaml --namespace <ocnadd-namespace> <mgmt_helm_chart> --set global.env.admin.OCNADD_ADAPTER_UPGRADE_ENABLE=true,global.env.admin.OCNADD_CORR_UPGRADE_ENABLE=true,global.env.admin.OCNADD_INGRESS_ADAPTER_UPGRADE_ENABLE=true
        For example:
        helm upgrade ocnadd-mgmt -f ocnadd-custom-values-mgmt-group.yaml --namespace ocnadd-deploy ocnadd_mgmt --set global.env.admin.OCNADD_ADAPTER_UPGRADE_ENABLE=true,global.env.admin.OCNADD_CORR_UPGRADE_ENABLE=true,global.env.admin.OCNADD_INGRESS_ADAPTER_UPGRADE_ENABLE=true
  4. Check the status of the upgrade, and monitor the pods to come back to the RUNNING state.

Note:

  • If the rollback is unsuccessful, see troubleshooting steps outlined in the Oracle Communications Network Analytics Data Director Troubleshooting Guide.
  • On rollback completion, if the export, correlation, aggregation, ingress-adapter and/or consumer adapter services may not receive the configuration notification in timely manner and start processing data, then see the section "Invalid Subscription entry in the subscription table" in the Oracle Communication Network Analytics Troubleshooting Guide.
  • If the rollback is successful and intraTLS is disabled, then create the certificates of all the OCNADD services. For required certificates, see rollbacked release Oracle Communication Network Analytics Security Guide.