Operand Deployment Lifecycle Manager cannot update when upgrading to version 3.6.4.

The workaround for upgrading to foundational services version 3.6.4 when you encounter an issue with the upgrade of the Operand Deployment Lifecycle Manager operator.

Symptom

The Operand Deployment Lifecycle Manager operator has Cannot update status. Additionally, another ibm-odlm operators with Unknown status shows in the same namespace.

Cause

Operand Deployment Lifecycle Manager (ODLM) is either not deleted properly during the upgrade, or the ODLM pod is running into error and blocking the operator upgrade.

Resolving the problem

Complete these steps to resolve the issue:

  1. Uninstall both ODLM operators. You can uninstall the operators either from the OpenShift console or by removing the subscriptions and CSVs by using the CLI.

    • Uninstall the operators in the Unknown and Cannot update status from the OpenShift console.

    • Log in to the OpenShift console.

    • From the navigation pane, click Operators > Installed Operators.

    • Find both ODLM operators with Unknown and Cannot update status on the list. Click the overflow action menu next to the operator, and choose Uninstall. Repeat for both operators

    • Delete the subscription and the CSV of both ODLM operators in the Unknown and Cannot update status by using the oc CLI.

    • Log in to the cluster by using the oc login command.

    • Run the following command to identify the name of the csv and subscription for both ODLM operators.

      oc -n ibm-common-services get sub
      oc -n ibm-common-services get csv
      
    • Run the following commands to delete the subscription and the CSV for both operators.

      • For the ODLM operator in Unknown status:

        oc -n ibm-common-services delete sub <subscription_of_ODLM_operator1>
        oc -n ibm-common-services delete csv <csv_of_ODLM_operator1>
        

        Where <subscription_of_ODLM_operator1> and <csv_of_ODLM_operator1> are the names of the subscription and the csv of the ODLM operator in the Unknown status.

      • For the ODLM operator in Cannot update status:

        oc -n ibm-common-services delete sub <subscription_of_ODLM_operator2>
        oc -n ibm-common-services delete csv <csv_of_ODLM_operator2>
        

        Where <subscription_of_ODLM_operator2> and <csv_of_ODLM_operator2> are the names of the subscription and the csv of the ODLM operator in the Cannot update status.

  2. Restart the ibm-common-service-operator pod to reinstall Operand Deployment Lifecycle Manager.

    1. Get the ibm-common-service-operator pod name.

      oc get pods -n ibm-common-services | grep ibm-common-service-operator
      
    2. Delete the ibm-common-service-operator pod.

      oc -n ibm-common-services delete pod <ibm-common-service-operator pod name>
      

    The ibm-common-service-operator pod is restarted and Operand Deployment Lifecycle Manager is successfully upgraded or reinstalled.