Applying Siebel POC Patches in Siebel CRM Environment Deployed using SCM

This topic describes the process to patch your Siebel CRM containers with the POC that is supplied to you by Oracle Support, to fix an issue specific to your use of a specific Siebel CRM application version. Each POC patch contains one or more files which will add to, or overwrite, files in your Siebel CRM installation.

To apply Siebel POC patches in a SCM provisioned Siebel CRM environment, do the following:

  1. Connect to the SCM instance, for:
    1. SCM deployed on OCI, ssh and exec into docker container as follows:
      ssh opc@<SCM instance id>
      docker exec -it cloudmanager bash
      or 
      sudo podman exec -it cloudmanager bash
    2. SCM deployed in a CNCF Kubernetes cluster, exec into the SCM pod as follows:
      kubectl -n <env_namespace> exec -it pod/scm-<replicaset-id>-<pod-id> -- bash
  2. Verify the Siebel CRM base image:
    podman images
    Note: The naming pattern of the image tag of the Siebel CRM base image is <yy>.<mm>-full; for example, 25.2-full.
  3. Create an alias for the docker command line:
    alias docker=podman
  4. Download the POC applying scripts from the Siebel CRM container image from your registry.
    id='podman create <user_registry_url>/<env_namespace>/siebel:YY.MM-full'
    echo $id
    podman cp $id:/config/POCApply /home/opc/siebel
    podman rm $id

    In command above, the variable:

    • $id holds the container ID returned by the podman create command.
    • <user_registry_url> is the user’s container registry URL.
    • <env_namespace> is the Siebel CRM environment name where you want to apply POC patches.
  5. Verify that the /home/opc/siebel/POCApply folder contains the following files or scripts:
    applyPOC
    Dockerfile
    processPatches
  6. Copy the POC patches you wish to apply to the /home/opc/siebel/POCApply folder in the SCM container. These patches are delivered through My Oracle Support. For example, P12345678_1200_Linux-x86-64_1of2.zip.
  7. Apply the POC patches as follows:
    cd /home/opc/siebel/POCApply
    bash applyPOC -s <source_base_image> -t <target_base_image>

    In command above, the variable:

    • <source_base_image> is the folder containing the source base image <user_registry_url>/<env_namespace>/siebel:YY.MM-full.
    • <target_base_image> is <user_registry_url>/<env_namespace>/siebel:YY.MM-full-patchesTo<month><yy>.
  8. Push the target base image to the registry:
    podman push <user_registry_url>/<envname>/siebel:YY.MM-full-patchesTo<month><yy>
  9. Synchronize the Helm chart local repository to ensure it is current:
    cd /home/opc/siebel/<env_id>/<helmchart_repo> 
    git pull
  10. Get the latest version of the custom image tag:
    flux get images policy cm-siebel-image-policy --noheader -n <env_namespace> | cut -f2
  11. Increment the custom image tag retrieved in step 10. For example, 25.2.CUSTOM.1 to 25.2.CUSTOM.2
    <YY>.<MM>.CUSTOM.X to <YY>.<MM>.CUSTOM.X+1
  12. Build a new custom image using the target base image created with POCs:
    cd /home/opc/siebel/<env_id>/<helmchart_repo>
    git pull
    podman build --build-arg 
    BASE_IMAGE=<target_base_image> -t <new_custom_image_tag> -f dockerfile siebel-artifacts/build --storage-opt 
    ignore_chown_errors=true
  13. Push the custom image to the registry defined in global configuration:
    podman push <new_custom_image_tag>
  14. Set the base_image parameter in flux-crm/apps/base/siebel/siebel-artifacts.yaml to the target base image pushed in step 8.
  15. Monitor the process using Flux CD to ensure that the new image with the applied patches and custom files is successfully rolled out. Wait for the Siebel CRM environment to initialize and become operational, now:
    1. Verify the environment's functionality by checking the respective URLs.
    2. Check the timestamps of the libraries or executables associated with the POC to confirm that the patches have been correctly deployed:
      kubectl -n <env_namespace> exec -it edge-0 -- ls -ltr /siebel/mde/siebsrvr/li