Symptoms

The third-party plug-ins pre-check failed during upgrade of Billing.

Cause

The installed third-party plug-ins were found during the pre-check. Some plug-ins you are using are incompatible with the version of Billing you are going to upgrade to.

Resolution

To perform the upgrade, all third-party plug-ins should be rebuilt to be compatible with the new Billing version. For that, do the following:

  1. Prepare the development environment with SDK of the target version.

    • If you are upgrading to 7.1 or later versions:

      a. Create a new development environment (do not install SDK on the host with BA installed) as described in OA Premium Domain Plug-In SDK (C++). Note: You can use respective instructions from this guide when upgrading to product versions 7.1, 7.2, 7.3 and 7.4.

      b. Install Plug-Ins SDK of your target version there (for example, if you are upgrading from 7.0 to 7.1, install the 7.1 SDK). You will require the respective install SDK script attached to this KB (the script is valid for 7.0 and later versions only!).

    • If you are upgrading to 7.0 version:

      a. Create a new development environment (do not install SDK on the host with BA installed) as described in OA Premium 7.0 Domain Plug-In SDK (C++).

      b. Install OA 7.0 Plug-Ins SDK there. You will require the respective install SDK script attached to this KB (the script is valid for 7.0 and later versions only!).

    • If you are upgrading to Billing versions earlier than 7.0:

      a. Log in to your development environment used for building custom plug-ins as root.

      b. Maximize the console window to fit the full screen height.

      c. Upgrade Billing on the development environment to the new version. Use the upgrade guides for respective versions:

      If upgrading to 6.0 and later versions - use the 6.0 Upgrade Guide.

  2. Attached install SDK scripts:

  3. Update the SDK on the development environment to the newest version (install updates)

  4. Rebuild the plug-ins.

    a. In the development environment, change directory to the plug-in's one (in our example, MYTEST):

        # cd ~/DomainPlugins/MYTEST
    

    b. Install the project build files with this command:

        # waf install
    

    c. Build the plug-in RPM with this command:

        # waf build --rpm
    

    d. The resulting RPM package will be located in the /root/rpmbuild/RPMS/x86_64/ directory.

    e. Repeat the steps for each plug-in that requires rebuilding.

  5. Perform additional steps to pass the precheck.

    • In case of upgrading from 7.0.1 and later, do the following:

      a. On the Management node, run the custom_plugin_version_bump.py script (located on Management node at /usr/local/pem/bin/):

      custom_plugin_version_bump.py --plugin-name <custom_plug-in_name> --compatible-version <new billing version>
      

      b. Repeat the steps for each incompatible plug-in.

    • In case of upgrading from 7.0 RTM, do the following:

      a. Download the custom_plugin_version_bump.py script from this KB.

      b. Run script on the Management node:

      custom_plugin_version_bump.py --plugin-name <custom_plug-in_name> --compatible-version <new billing version>
      

      where <new billing version> can be taken from failing precheck output.

      c. Repeat the steps for each incompatible plug-in.

    • In case of upgrading from 6.0.x, remove all custom plug-in packages (RPMs) manually before the upgrade procedure. Then manually increase the versions of the plug-ins, and this will allow to pass approve the "Third-party plug-ins" pre-check. To change the version of a plug-in, do the following:

      a. Log in to PCP, switch to Billing.

      b. Open System > Information (or System Information > Support for versions 5.5 and earlier) and click 'View add-ons'. Plug-ins are displayed in the 'Add-ons' list, where each incompatible plug-in has the empty 'Version' field.

      c. Select the plug-in from the list by clicking on the respective link in the 'Name' column. The add-on's details are displayed.

      d. Click 'Edit'. The plug-in's details are displayed for editing.

      e. In the 'Version' field, enter the new version of the plug-in (the same exact version the new update has; for example, in case of upgrading to Billing 6.0, the update name should be of the following format: 6.0.6-123).

      f. Save the changes. The new version entered will be treated as a confirmation that the plug-in is compatible.

      g. Repeat the steps for each incompatible plug-in.

  6. Perform the upgrade.
  7. Install the rebuilt plug-in packages.

    Install the rebuilt RPM packages (the ones you re-built in the development environment) to the Billing application server by running the command rpm -Uvh <rpm-name>. For example:

         rpm -Uvh bm-domreg-plugin-mytest-1.0.0-001.x86_64.rpm
    

    For more details on plug-in installation, refer to the Domain Plug-In SDK guide of the respective version of the product.

  8. Run the configuration script.

    On the Billing application server, run the configuration script as follows:

    • If you have upgraded to a version 7.0 or later,

      /usr/local/bm/tools_py/configure.py
      

      Note: before running the script, stop billing:

      # service pba stop
      

      After the script execution finished, start it:

      # service pba start
      
    • If you have upgraded to a version 6.0.x and earlier,

      /usr/local/bm/tools/configure.pl
      

Internal content

Link on internal Article