Applying Siebel POC Patches

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

  1. Perform the following steps in the SCM container or pod:
    1. Connect to the SCM instance:
      • For SCM deployed on OCI, connect to the host, and access the container as follows:
        ssh opc@<SCM instance id>
        docker exec -it cloudmanager bash 
        

        or

        sudo podman exec -it cloudmanager bash
      • For SCM deployed in a CNCF Kubernetes cluster, access the SCM pod as follows:
        kubectl -n <env_namespace> exec -it pod/scm-<replicaset-id>-<pod-id> -- bash

        In the above command, <env_namespace> is the Siebel CRM environment name where you want to apply the POC patches.

    2. Synchronize the local Helm chart repository:
      cd /home/opc/siebel/<env_id>/<helmchart_repo>
      git pull
    3. Make a note of the Siebel CRM base image in the /home/opc/siebel/<ENV_ID>/<cloudmanager_flux_repo>/flux-crm/apps/base/siebel/siebel-artifacts.yaml file. Use the value of spec.values.image.siebel.base_image.
      Note: The image tag for the Siebel CRM base image uses the format <YY>.<MM>-full. For example, 26.6-full.
    4. Retrieve the latest custom image tag:
      source /home/opc/siebel/<env_id>/k8sprofile
      flux get image policy cm-siebel-image-policy -n metatest1 | tail -n 1 | awk '{print $NF}'
    5. Increment the custom image tag retrieved in the previous step:
       <YY>.<MM>.CUSTOM.X to <YY>.<MM>.CUSTOM.X+1

      For example: 25.2.CUSTOM.1 to 25.2.CUSTOM.2

      Use the incremented value as <new_custom_image_tag> in subsequent steps.

  2. Perform the following steps on the Oracle Linux VM:
    1. Go to the cloned Helm chart repository:
      cd <helmchart_repo>
    2. Download the POC application scripts from the Siebel CRM container image in your registry:
      podman login <user_registry_url> -u <registry_user> -p "<registry_password>"
      id=$(podman create <user_registry_url>/<env_namespace>/siebel:YY.MM-full)
      echo $id
      podman cp $id:/config/POCApply <helmchart_repo>
      podman rm $id

      In the above commands:

      • $id contains 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 the POC patches.
    3. Verify that the <helmchart_repo>/POCApply directory contains the following files:
      • applyPOC
      • Dockerfile
      • processPatches
    4. Copy the POC patches to the <helmchart_repo>/POCApply directory. POC patches are provided through My Oracle Support. For example:
      P12345678_1200_Linux-x86-64_1of2.zip
    5. Apply the POC patches as follows:
      cd <helmchart_repo>/POCApply
      bash applyPOC -s <source_base_image> -t <target_base_image>

      In this command:

      • <source_base_image> is the source base image - <user_registry_url>/<env_namespace>/siebel:YY.MM-full.
      • <target_base_image> is the target base image - <user_registry_url>/<env_namespace>/siebel:YY.MM-full-patchesTo<month><yy>.
    6. Push the target base image to the registry:
      podman push <user_registry_url>/<envname>/siebel:YY.MM-full-patchesTo<month><yy>
    7. Build a new custom image by using the patched base image:
      cd <helmchart_repo>
      
      git pull
      
      podman build \
        --build-arg BASE_IMAGE=<target_base_image> \
        -t <user_registry_url>/<envname>/siebel:<new_custom_image_tag> \
        -f dockerfile \
        siebel-artifacts/build \
        --storage-opt ignore_chown_errors=true
    8. Push the custom image to the registry configured in the global configuration:
      podman push <user_registry_url>/<envname>/siebel:<new_custom_image_tag>
  3. Perform the following steps in the SCM container or pod:
    1. Synchronize the local Helm chart repository:
      ssh opc@<SCM_instance_id>
      docker exec -it cloudmanager bash

      or

      sudo podman exec -it cloudmanager bash
    2. Go to the Helm chart repository directory and pull the latest changes from the remote Git repository:
      cd /home/opc/siebel/<env_id>/<helmchart_repo>
      git pull
    3. Update the base_image parameter in the following file with the target base image that you pushed in Step 2.f:
      /home/opc/siebel/<ENV_ID>/<cloudmanager_flux_repo>/flux-crm/apps/base/siebel/siebel-artifacts.yaml
    4. Commit and push the changes to the Git repository:
      git add .
      git commit -m "Update base_image with POC patched Siebel image"
      git pull
      git push
    5. Monitor the deployment through Flux CD and verify that the new image containing the POC patches and custom files is deployed successfully. Wait for the Siebel CRM environment to initialize and become operational:
      • Verify that the environment is functioning correctly by accessing the appropriate application URLs.
      • Verify that the POC patches have been deployed successfully by checking the timestamps of the associated libraries or executables:
        source /home/opc/siebel/<env_id>/k8sprofile
        kubectl -n <env_namespace> exec -it edge-0 -- ls -ltr /siebel/mde/siebsrvr/lib