14 Customizing BRM Cloud Native Services

Learn how to customize the Oracle Communications Billing and Revenue Management (BRM) server and clients in a cloud native environment to meet your business needs.

The Docker build commands in this chapter reference Dockerfile and related scripts as is from the oc-cn-docker-files-12.0.0.x.0.tgz package. Ensure that you use your own version of Dockerfile and related scripts before running the build command.

Caution:

The Dockerfiles and related scripts are provided for reference only. You can refer to them to build or extend your own Docker images. Support is restricted to core product issues only and no support will be provided for custom Dockerfiles and scripts.

Customizing BRM Server

You can customize the BRM Server by doing one of these:

  • Layering the BRM cloud native Docker image with a customized library file.

  • Creating the BRM cloud native Docker image with the default Dockerfile and then layering a customized library.

For example, you could extend fm_subsciption_pol_custom.so by doing this:

  1. Create the Docker image by going to the $PIN_HOME directory and entering this:

    cat Dockerfile_cm
    
    FROM cm:12.0.0.x.0
    USER root
    COPY lib/fm_subscription_pol_custom.so $PIN_HOME/lib/fm_subscription_pol_custom.so
    RUN chown -R omsuser:oms $PIN_HOME/lib/fm_subscription_pol_custom.so && \
     chmod 755 ${PIN_HOME}/lib/fm_subscription_pol_custom.so
    USER omsuser
  2. Customize the lib/fm_subscription_pol_custom.so library file.

  3. Copy the customized library file to $PIN_HOME/lib.

  4. Build the BRM Server image by entering this command:

    docker build -t cm_custom:12.0.0.x.0 -f Dockerfile_cm .
  5. Update the custom Docker image name in the override-values.yaml file.

Customizing Billing Care

Extensibility is one of the biggest features of on-premise Billing Care, and this same extensibility is available in the Billing Care cloud native deployment. You can override the existing Billing Care behavior, such as change labels and icons, add new flows and screens, and so on, by using the Billing Care SDK.

To use the Billing Care SDK in a cloud native environment, do this:

  1. Build the Billing Care SDK WAR the same way as described in "Packaging and Deploying Customizations" in Billing Care SDK Guide.

  2. Create a Billing Care SDK image by using the Linux image as a base.

  3. Update the override-values.yaml file to direct oc-cn-op-job-helm-chart to deploy the SDK WAR file and link it with Billing Care or the Billing Care REST API WAR after deploying them.

The cloud native package includes all of the scripts necessary to prepare and run an SDK image. For example, if your SDK WAR is named BillingCareCustomizations.war, you would build the Billing Care SDK image like this:

  1. Go to the oc-cn-docker-files/ocbc/billing_care_sdk directory.

  2. Copy the BillingCareCustomizations.war file to your current working directory (oc-cn-docker-files/ocbc/billing_care_sdk).

  3. Build the SDK image by entering this command:

    docker build --build-arg SDK_WAR=BillingCareCustomizations.war -t oracle/billingcare_sdk:12.0.0.x.0  .
  4. In your override-values.yaml file for oc-cn-op-job-helm-chart, edit the keys shown in Table 14-1. This directs oc-cn-op-job-helm-chart to deploy the Billing Care SDK image rather than the Billing Care image and to include additional files that are needed for successful deployment of SDK.

    Table 14-1 Billing Care SDK Keys

    Key Path Description

    imageName

    ocbc.bc.deployment.sdk

    ocbc.bcws.deployment.sdk

    Set this to oracle/billingcare_sdk.

    This is the name of the image, which must be used for the billingcare pod.

    imageTag

    ocbc.bc.deployment.sdk

    ocbc.bcws.deployment.sdk

    Set this to 12.0.0.x.0.

    This tags the image used for the billingcare pod.

    isEnabled

    ocbc.bc.sdk

    ocbc.bcws.sdk

    Set this key to true if you want to deploy SDK.

    deployName

    ocbc.bc.sdk

    ocbc.bcws.sdk

    The name of the SDK Library in the Manifest.MF file. The default is BillingCareCustomizations.

  5. Install oc-cn-op-job-helm-chart followed by oc-cn-helm-chart to customize Billing Care or the Billing Care REST API with SDK.

Customizing ECE

You can customize the ECE image by layering the native Docker image with the customized code.

For example:

 > cat Dockerfile_custom_ece
FROM oc-cn-ece:12.0.0.x.0
USER root
#commands that need to be run
USER eceuser

To build the image, run this Docker command:

docker build -t customECE:12.0.0.x.0 -f customECEDockerfile .

where customECE is the name of your custom ECE Helm chart, and customECEDockerfile is the name of your custom Dockerfile.

For the Helm chart to take the new custom image for installation, set these key in your override-values.yaml file for the ECE Helm chart:

imageRepository: "docker-repo:docker-port"
container:
   image: "customECEImageName"