Mirroring Siebel CRM Base Images
You can mirror the Siebel CRM base images that SCM uses to provision a Siebel CRM
environment, to a user defined destination registry through the
base/images/mirror
API. The API call pulls the container images and
pushes them to the user defined destination registry.
To mirror the base images, call the base/images/mirror
API as
follows:
POST endpoint:
https://<CM_Instance_IP>:<port_num>/scm/api/v1.0/base/images/mirror
Sample payload:
{
"destination_registry": {
"registry_url": "iad.ocir.io",
"registry_user": "deploygroup/user.name@example.com",
"registry_password": "aDgFFg123",
"registry_prefix": "deploygroup"
},
"update_global_config": "true"
}
For every image mirroring process job triggered via the POST API, a unique 6 character identifier "RUN_ID" is generated through which you can check status of the job. To get the details of the current job, execute a GET method API call as follows:
GET endpoint:
https://<CM_Instance_IP>:<port_num>/scm/api/v1.0/base/images/mirror/<RUN_ID>
Sample response:
{
"data": {
"image_mirror_details": {
"end_time": null,
"images": {
"iad.ocir.io/deploygroup/busybox:latest": {
"end_time": "Fri, 13 Sep 2024 09:57:49 +0000",
"message": "Successfully uploaded to destination registry.",
"start_time": "Fri, 13 Sep 2024 09:57:45 +0000",
"status": "completed"
},
"iad.ocir.io/deploygroup/curlimages/curl:latest": {
"end_time": "Fri, 13 Sep 2024 09:57:54 +0000",
"message": "Successfully uploaded to destination registry.",
"start_time": "Fri, 13 Sep 2024 09:57:49 +0000",
"status": "completed"
},
"iad.ocir.io/deploygroup/dx4c/dev/dbutils:23.1": {
"end_time": null,
"message": "Currently being uploaded.",
"start_time": "Fri, 13 Sep 2024 09:57:54 +0000",
"status": "in-progress"
}
},
"images_processed": 2,
"run_id": "XXXXX",
"start_time": "Fri, 13 Sep 2024 09:57:45 +0000",
"status": "in-progress",
"total_images": 31,
"update_global_config": true
}
},
"message": "Current status of the image mirroring process",
"status": "success"
}
Parameters in Response Definition
The following table describes the parameters in the response:
Payload Parameter | Section | Definition |
---|---|---|
image_mirror_details | Top level | Provides the details of the image mirroring process. |
start_time | image_mirror_details | The time when the image mirroring process started. |
end_time | image_mirror_details | The time when the image mirroring process finished. |
images | image_mirror_details | A dictionary containing individual images and their respective upload statuses. |
start_time | images | The time when this specific image started uploading. |
end_time | images | The time when this specific image finished uploading. |
message | images | Status message for the specific image upload process. |
images_processed | image_mirror_details | The number of images processed so far during the mirroring process. |
run_id | image_mirror_details | Unique identifier for tracking the current image mirroring process. |
status | image_mirror_details | The overall status of the image mirroring process (in-progress, completed, failed). |
total_images | image_mirror_details | The total number of images scheduled for mirroring in the process. |
update_global_config | image_mirror_details | Indicates whether the destination registry details was saved to the global configuration for future use. |
message | Top level | A general message describing the current status of the image mirroring operation. |
status | Top level | Indicates the success or failure of the API request (success, failed). |
registry_user
has
permission to create the repository name (for example,
project01/acme-web-app/component1
) in the root compartment, or
you should create the repositories before pushing images. The
/home/opc/siebel-cloud-manager/scripts/cmapp/yaml/siebel_images.yaml
file in the SCM container will contain a list of images, and the corresponding
repository paths need to be created in OCIR. For more information, see the Creating a Repository topic in the OCI documentation.