1. Have an OCI account
Get your 300USD OCI free credit for 30 days here or contact us, we will organize it gladly for you ! Configure compartment where do you want to deploy Gitlab server and Siebel CRM.
2. Install and configure Gitlab server
- Open this link and go to chapter Deploy and click : <<Deploy to Oracle Cloud>>
2. Configure the Resource-Stack Job , select 1_standalone Working directory, choose previously created Compartment, Avaliability Zone, instance name, DNS Hostname, Compute Shape, Memory, Compute Image (I take always the last one ) and Click <<Create>>
3. After the Resource Stack job is finished, login to the web page and set the password for root. The url is logged at the end of the job log or the public IP address of the instance.
4. Create Personal Access Token for the Siebel Cloud Manager API. Go to Settings -> Access Tokens and select Scopes for api, read_api, write_repository and read_repository.
5. Generate generate a private key and access token
Connect via SSH to your gitlab compute instance . Go to /etc/gitlab/. Edit gitlab.rb and modify external_url „https://<Public IP of your instance>“. Disable letsencrypt[‘enable‘] = false. Create /etc/gitlab/ssl/ and copy the key and certificates to this location.
sudo mkdir -p /etc/gitlab/ssl
sudo chmod 755 /etc/gitlab/ssl
In this directory generate key and certificates as follows :
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 365 -out rootCA.crt -subj "/C=US/ST=CA/L=Redwood Shores/O=Oracle/OU=Support/CN=localhost"
openssl genrsa -out <Public IP of your instance>.key 2048
openssl req -new -key <Public IP of your instance>.key -out <Public IP of your instance>.csr -subj "/CN=localhost"
Create device-csr.conf with the following content:
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
C = US
ST = CA
L = Redwood Shores
O = Oracle
OU = Support
CN = localhost
[v3_req]
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
IP.1 = <Public IP of your instance>
openssl x509 -req -in <Public IP of your instance>.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out <Public IP of your instance>.crt -extfile device-csr.conf -extensions v3_req -days 365
Reconfigure gitlab server with the command :
sudo gitlab-ctl reconfigure
It takes a while and after check your url https://<your public ip> and download the the rootCA.crt to use it later with Siebel Cloud Manager workflows.
3. Siebel Cloud Manager (SCM) Setup
Go to OCI Marketplace and search for Siebel Cloud Manager
Once the scm is installed, you can access it via http://<public ip of the scm instance>:16690
It is also good to open OCI CloudShell and access the instance with
ssh -i key opc@<your public ip address>
As a preparation for the Greenfield deployment once you are logged, upload the created certificate in the Chapter 2 Step 5. rootCA.crt. Create first directory
sudo mkdir /home/opc/certs/
sudo chmod 755 /home/opc/certs/
4. Siebel Deployment in OCI
The Siebel Deployment into OCI with Siebel Cloud Manager consist in current stage of 2 REST Calls. First call is creating the configuration and save it into gitlab. Second call triggers provisioning of the enviroment and created the Siebel CRM infrastructure in OCI based on payload in the first call. In our scenario we create greenfield Siebel CRM 23.7 installation for the Financial Services industry with 3 kubernetes nodes , one for Siebel Cloud Gateway, one for Siebel Application Interface and one for Siebel Enterprise Server. We use Vanilla OCI Autonomous DB and we import there the Sample DB. We are executing it in the OCI Frankfurt region , fra.ocir.io.
As a preparation create passwords in the OCI Vault for following users :
- siebel_admin_password
- default_user_password
- table_owner_password
- anonymous_user_password
As a second preparation study the payload documentation here.
For the execution of the config and enviroment REST call you can use either the url api of SCM http://<public ip of the scm instance>:16690, I have chosen Postman. Here I will only paste the working configuration which resulted from our Proof of concept.
1. REST Call to SCM to create the Siebel CRM greenfield configuration in the OCI as described above :
POST http://<your scm public ip>:16690/scm/api/v1.0/configuration
{
"name": "ccwsiebel",
"siebel": {
"registry_url": "fra.ocir.io",
"siebel_architecture": "CRM",
"registry_user": "frwtw2oxehic/yourname@youremaildomain",
"registry_password": "GENERATEDPSSWDyoushouldreplace",
"database_type": "Vanilla",
"industry": "Financial Services"
},
"infrastructure": {
"gitlab_url": "https://<public ip of your gitlab server installed here>",
"gitlab_accesstoken": "XXXXXXXX",
"gitlab_user": "root",
"gitlab_selfsigned_cacert": "/home/opc/certs/rootCA.crt"
},
"database": {
"db_type": "ATP",
"atp": {
"admin_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.somethingyoushouldreplace",
"storage_in_tbs": 1,
"cpu_cores": 3,
"wallet_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.somethingyoushouldreplace"
},
"auth_info": {
"siebel_admin_username": "sadmin",
"siebel_admin_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.somethingyoushouldreplace",
"default_user_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.somethingyoushouldreplace",
"table_owner_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.somethingyoushouldreplace",
"table_owner_user": "siebel",
"anonymous_user_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.somethingyoushouldreplace"
}
},
"size": {
"kubernetes_node_shape": "VM.Standard.E4.Flex",
"kubernetes_node_count": 3,
"node_shape_config": {
"memory_in_gbs": 60,
"ocpus": 4
},
"ses_resource_limits": {
"cpu": "2",
"memory": "4Gi"
},
"ses_resource_requests": {
"cpu": "1.0",
"memory": "4Gi"
},
"cgw_resource_limits": {
"cpu": "2",
"memory": "4Gi"
},
"cgw_resource_requests": {
"cpu": "1000m",
"memory": "4Gi"
},
"sai_resource_limits": {
"cpu": "1",
"memory": "4Gi"
},
"sai_resource_requests": {
"cpu": "1",
"memory": "4Gi"
}
}
}
The response looks like :
{
"data": {
"config_details": {
"attempts": 1,
"byo_infra_creation_details": {
"is_db_byod": false
},
"cm_build_version": "CM_23.7.2",
"config_id": "SWCFBS",
"custom_scripts": [],
"database": {
"atp": {
"admin_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something",
"cpu_cores": 3,
"storage_in_tbs": 1,
"wallet_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something"
},
"auth_info": {
"anonymous_user_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something",
"default_user_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something",
"siebel_admin_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something",
"siebel_admin_username": "sadmin",
"table_owner_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something",
"table_owner_user": "siebel",
"tns_connect_string": "config-ccwsiebel-swcfbs_tp"
},
"db_type": "ATP"
},
"env_status": "Creation-In-Progress",
"infrastructure": {
"git_cm_repo": "config-ccwsiebel-swcfbs-cloud-manager",
"git_cm_repo_id": 6,
"git_cm_repo_ssh_url": "git@gitlab.example.com:root/config-ccwsiebel-swcfbs-cloud-manager.git",
"git_helmcharts_repo": "config-ccwsiebel-swcfbs-helmcharts",
"git_helmcharts_repo_id": 7,
"git_helmcharts_repo_ssh_url": "git@gitlab.example.com:root/config-ccwsiebel-swcfbs-helmcharts.git",
"gitlab_accesstoken": "somethingtoken",
"gitlab_selfsigned_cacert": "/home/opc/certs/rootCA.crt",
"gitlab_url": "http://yourip",
"gitlab_user": "root",
"instance_metadata": {
"ad_for_storage": "1",
"advanced_network_configuration": false,
"bastion_public_key": "ssh-rsa bastionkey opc@ccw-siebel-cm",
"cm_prefix": "ccw",
"compartment_ocid": "ocid1.compartment.oc1..something",
"home_region_key": "FRA",
"hostname": "ccw-siebel-cm",
"mount_target_ocid": "ocid1.mounttarget.oc1.eu_frankfurt_1.something",
"mount_target_private_ip_ocid": "ocid1.privateip.oc1.eu-frankfurt-1.something",
"prisub_cm_cidr": "10.0.255.0/24",
"private_subnet_ocid": "ocid1.subnet.oc1.eu-frankfurt-1.something",
"pubsub_cm_cidr": "10.0.0.0/24",
"region": "eu-frankfurt-1",
"region_identifier": "eu-frankfurt-1",
"root_compartment_ocid": "ocid1.compartment.oc1..something",
"tenancy": "ccwocicloud",
"tenancy_namespace": "frwtw2oxehic",
"tenancy_ocid": "ocid1.tenancy.oc1..something",
"use_existing_resources": "false",
"use_existing_vcn": false,
"vcn_default_security": "ocid1.securitylist.oc1.eu-frankfurt-1.something",
"vcn_nat_gateway": "ocid1.natgateway.oc1.eu-frankfurt-1.something",
"vcn_ocid": "ocid1.vcn.oc1.eu-frankfurt-1.something",
"vcn_range_cidr": "10.0.0.0/16",
"vcn_service_gateway": "ocid1.servicegateway.oc1.eu-frankfurt-1.something"
},
"load_balancer_type": "public",
"namespace": "config-ccwsiebel-swcfbs",
"oci_fss_siebel_host": "siebelmount.cmpri.siebelcm.oraclevcn.com",
"oci_fss_siebel_path": "siebfs",
"resource_prefix": "config-ccwsiebel-swcfbs",
"siebel_cluster_subnet_cidr": "10.0.4.0/24",
"siebel_db_subnet_cidr": "10.0.3.0/24",
"siebel_file_system_count": "1",
"siebel_lb_subnet_cidr": "10.0.1.0/24",
"siebel_private_subnet_cidr": "10.0.2.0/24"
},
"name": "config-ccwsiebel-swcfbs",
"selfLink": "http://yourip:16690/scm/api/v1.0/configuration/SWCFBS",
"siebel": {
"database_type": "Vanilla",
"industry": "Financial Services",
"registry_password": "registrypsswd",
"registry_url": "fra.ocir.io",
"registry_user": "sdsds/emailname@domain",
"security_adapter_type": "DB",
"siebel_architecture": "CRM",
"siebel_image": "phx.ocir.io/siebeldev/cm/siebel:23.7-full",
"siebel_version": "23.7"
},
"size": {
"cgw_resource_limits": {
"cpu": "2",
"memory": "4Gi"
},
"cgw_resource_requests": {
"cpu": "1000m",
"memory": "4Gi"
},
"kubernetes_node_count": 3,
"kubernetes_node_shape": "VM.Standard.E4.Flex",
"node_shape_config": {
"memory_in_gbs": 60,
"ocpus": 4
},
"sai_resource_limits": {
"cpu": "1",
"memory": "4Gi"
},
"sai_resource_requests": {
"cpu": "1",
"memory": "4Gi"
},
"ses_resource_limits": {
"cpu": 4,
"memory": "24Gi"
},
"ses_resource_requests": {
"cpu": 1,
"memory": "8Gi"
}
},
"stages": [
{
"end_time": "",
"log_api_link": "http://130.61.27.156:16690/scm/api/v1.0/configuration/Q7DEX9/logs/greenfield-bucket-prep",
"log_location": "/home/opc/siebel/configuration/Q7DEX9/logs/greenfield.log"",
"name": "Build template for Greenfield environment",
"previous_status": "",
"stage_description": "Build template for Greenfield environment",
"stage_name": "greenfield-bucket-prep",
"start_time": "",
"status": ""
},
{
"end_time": "",
"log_api_link": "",
"log_location": "",
"name": "CIDR Validation",
"previous_status": "",
"stage_description": "CIDR Validation",
"stage_name": "cidr_validation",
"start_time": "",
"status": ""
},
{
"end_time": "",
"log_api_link": "",
"log_location": "",
"name": "Process CG artifacts and push to Git Repo",
"previous_status": "",
"stage_description": "Process CG artifacts and push to Git Repo",
"stage_name": "process-cg-artifacts",
"start_time": "",
"status": ""
}
]
}
},
"message": "Configuration Created Successfully.",
"status": "success"
}
There are several stages during the creation of configuration :
- Build template for Greenfield environment
- CIDR Validation
- Process CG artifacts and push to Git Repo
Important values for the stages are status, log_location. Based on status you see whether it is In Progress, or the stage passed or failed. If failed you should check the logs. The provisioning can and should be checked by REST Call
http://130.61.27.156:16690/scm/api/v1.0/configuration/Q7DEX9
where you receive identical json structure as during creation request byt with updates such as status, start_time, end_time , log_location etc of the stages.When the provisioning is finished, all stages have status passed.
2. REST call to provision the enviroment based on the created configuration
In the response of provisioned configuration take the value from config_id to execute the REST call for the provisioning of the enviroment. THe REST call is :
POST http://130.61.27.156:16690/scm/api/v1.0/environment
{
"config_id": "<your_config_id>",
"name": "<name_your_enviroment>"
}
The response after successful provisioning of the enviroment :
{
"data": {
"env_details": {
"app_url_status": [
{
"status": "validated",
"url": "https://<yournewsiebelenvip>/siebel/app/webtools/enu",
"validation_time": "Tue, 29 Aug 2023 16:22:55 +0000"
},
{
"status": "validated",
"url": "https://<yournewsiebelenvip>/siebel/app/eclinicalm/enu",
"validation_time": "Tue, 29 Aug 2023 16:22:56 +0000"
},
{
"status": "validated",
"url": "https://<yournewsiebelenvip>/siebel/app/epharmam/enu",
"validation_time": "Tue, 29 Aug 2023 16:22:59 +0000"
},
{
"status": "validated",
"url": "https://<yournewsiebelenvip>/siebel/app/finsm/enu",
"validation_time": "Tue, 29 Aug 2023 16:23:01 +0000"
},
{
"status": "validated",
"url": "https://<yournewsiebelenvip>/siebel/app/fins/enu",
"validation_time": "Tue, 29 Aug 2023 16:23:03 +0000"
},
{
"status": "validated",
"url": "https://<yournewsiebelenvip>/siebel/app/cgm/enu",
"validation_time": "Tue, 29 Aug 2023 16:23:07 +0000"
}
],
"attempts": 1,
"byo_infra_creation_details": {
"is_db_byod": false
},
"cm_build_version": "CM_23.7.2",
"config_id": "Q7DEX9",
"custom_scripts": [],
"database": {
"atp": {
"admin_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something",
"cpu_cores": 3,
"storage_in_tbs": 1,
"wallet_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something"
},
"auth_info": {
"anonymous_user_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something",
"default_user_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something",
"siebel_admin_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something",
"siebel_admin_username": "sadmin",
"table_owner_password": "ocid1.vaultsecret.oc1.eu-frankfurt-1.something",
"table_owner_user": "siebel",
"tns_connect_string": "ccwsandbox_tp"
},
"db_type": "ATP"
},
"env_id": "Q6DM6G",
"env_status": "completed",
"infrastructure": {
"atp_ocid": "ocid1.autonomousdatabase.oc1.eu-frankfurt-1.something",
"git_cm_repo": "ccwsandbox-cloud-manager",
"git_cm_repo_id": 10,
"git_cm_repo_ssh_url": "git@130.61.174.49:root/ccwsandbox-cloud-manager.git",
"git_helmcharts_repo": "ccwsandbox-helmcharts",
"git_helmcharts_repo_id": 11,
"git_helmcharts_repo_ssh_url": "git@130.61.174.49:root/ccwsandbox-helmcharts.git",
"gitlab_accesstoken": "RC34TQcP1iMdXc78GnYs",
"gitlab_selfsigned_cacert": "/home/opc/certs/rootCA.crt",
"gitlab_url": "https://130.61.174.49",
"gitlab_user": "root",
"instance_metadata": {
"ad_for_storage": "1",
"advanced_network_configuration": false,
"bastion_public_key": "ssh-rsa somethingr",
"cm_prefix": "ccw",
"compartment_ocid": "ocid1.compartment.oc1..something",
"home_region_key": "FRA",
"hostname": "ccw-siebel-cm",
"mount_target_ocid": "ocid1.mounttarget.oc1.eu_frankfurt_1.something",
"mount_target_private_ip_ocid": "ocid1.privateip.oc1.eu-frankfurt-1.something",
"prisub_cm_cidr": "10.0.255.0/24",
"private_subnet_ocid": "ocid1.subnet.oc1.eu-frankfurt-1.something",
"pubsub_cm_cidr": "10.0.0.0/24",
"region": "eu-frankfurt-1",
"region_identifier": "eu-frankfurt-1",
"root_compartment_ocid": "ocid1.compartment.oc1..something",
"tenancy": "ccwocicloud",
"tenancy_namespace": "frwtw2oxehic",
"tenancy_ocid": "ocid1.tenancy.oc1..something",
"use_existing_resources": "false",
"use_existing_vcn": false,
"vcn_default_security": "ocid1.securitylist.oc1.eu-frankfurt-1.something",
"vcn_nat_gateway": "ocid1.natgateway.oc1.eu-frankfurt-1.something",
"vcn_ocid": "ocid1.vcn.oc1.eu-frankfurt-1.something",
"vcn_range_cidr": "10.0.0.0/16",
"vcn_service_gateway": "ocid1.servicegateway.oc1.eu-frankfurt-1.something"
},
"load_balancer_type": "public",
"namespace": "ccwsandbox",
"oci_fss_siebel_host": "siebelmount.cmpri.siebelcm.oraclevcn.com",
"oci_fss_siebel_path": "siebfs",
"oci_mount_target_ip": "10.0.255.167",
"oci_mount_target_ocid": "ocid1.mounttarget.oc1.eu_frankfurt_1.something",
"oke_cluster_id": "ocid1.cluster.oc1.eu-frankfurt-1.somethinga",
"orm_apply_job_id": "ocid1.ormjob.oc1.eu-frankfurt-1.something",
"orm_stack_id": "ocid1.ormstack.oc1.eu-frankfurt-1.something",
"resource_prefix": "ccwsandbox",
"siebel_cluster_subnet_cidr": "10.0.4.0/24",
"siebel_db_subnet_cidr": "10.0.3.0/24",
"siebel_file_system_count": "1",
"siebel_lb_subnet_cidr": "10.0.1.0/24",
"siebel_private_subnet_cidr": "10.0.2.0/24"
},
"name": "ccwsandbox",
"selfLink": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/something",
"siebel": {
"bucket_url": "https://objectstorage.eu-frankfurt-1.oraclecloud.com/p/something/n/something/b/config-ccwsiebel-something-vanilla-financial-services/o/",
"database_type": "Vanilla",
"industry": "Financial Services",
"registry_password": "lW:7_CMGo}SCgD{(Xh1.",
"registry_url": "fra.ocir.io",
"registry_user": "frwtw2oxehic/martin.piekov@ccw.sk",
"security_adapter_type": "DB",
"siebel_architecture": "CRM",
"siebel_image": "phx.ocir.io/siebeldev/cm/siebel:23.7-full",
"siebel_version": "23.7"
},
"size": {
"cgw_resource_limits": {
"cpu": "2",
"memory": "4Gi"
},
"cgw_resource_requests": {
"cpu": "1000m",
"memory": "4Gi"
},
"kubernetes_node_count": 3,
"kubernetes_node_shape": "VM.Standard.E4.Flex",
"node_shape_config": {
"memory_in_gbs": 60,
"ocpus": 4
},
"sai_resource_limits": {
"cpu": "1",
"memory": "4Gi"
},
"sai_resource_requests": {
"cpu": "1",
"memory": "4Gi"
},
"ses_resource_limits": {
"cpu": 4,
"memory": "24Gi"
},
"ses_resource_requests": {
"cpu": 1,
"memory": "8Gi"
}
},
"stages": [
{
"end_time": "Tue, 29 Aug 2023 14:21:09 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/cidr_validation",
"log_location": "/home/opc/siebel/Q6DM6G/logs/validation.log",
"name": "CIDR Validation",
"previous_status": "",
"stage_description": "CIDR Validation",
"stage_name": "cidr_validation",
"start_time": "Tue, 29 Aug 2023 14:21:09 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 14:25:31 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/create-env-from-config",
"log_location": "/home/opc/siebel/Q6DM6G/logs/env_setup.log",
"name": "Clone configuration and create environment from configuration",
"previous_status": "",
"stage_description": "Clone configuration and create environment from configuration",
"stage_name": "create-env-from-config",
"start_time": "Tue, 29 Aug 2023 14:21:12 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 14:25:38 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/create-orm-stack",
"log_location": "/home/opc/siebel/Q6DM6G/logs/stack.log",
"name": "Begin infrastructure creation using ORM stack",
"previous_status": "",
"stage_description": "Begin infrastructure creation using ORM stack",
"stage_name": "create-orm-stack",
"start_time": "Tue, 29 Aug 2023 14:25:34 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 14:44:13 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/check-orm-stack",
"log_location": "/home/opc/siebel/Q6DM6G/logs/stack.log",
"name": "Check ORM stack job execution status",
"previous_status": "",
"stage_description": "Check ORM stack job execution status",
"stage_name": "check-orm-stack",
"start_time": "Tue, 29 Aug 2023 14:44:12 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 14:44:17 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/get-infra-details",
"log_location": "/home/opc/siebel/Q6DM6G/logs/stack.log",
"name": "Get Infra Details",
"previous_status": "",
"stage_description": "Get Infrastructure Details",
"stage_name": "get-infra-details",
"start_time": "Tue, 29 Aug 2023 14:44:16 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 14:44:30 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/common-setup",
"log_location": "/home/opc/siebel/Q6DM6G/logs/common-setup.log",
"name": "Common Setup",
"previous_status": "",
"stage_description": "Common Setup",
"stage_name": "common-setup",
"start_time": "Tue, 29 Aug 2023 14:44:20 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 14:44:38 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/get-resource-state",
"log_location": "/home/opc/siebel/Q6DM6G/logs/resource-state.log",
"name": "Check Resource State",
"previous_status": "",
"stage_description": "Check Resource State",
"stage_name": "get-resource-state",
"start_time": "Tue, 29 Aug 2023 14:44:34 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 14:46:52 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/validate-connectivity",
"log_location": "/home/opc/siebel/Q6DM6G/logs/connectivity.log",
"name": "Validate Connectivity between resources",
"previous_status": "",
"stage_description": "Validate Connectivity between Resources",
"stage_name": "validate-connectivity",
"start_time": "Tue, 29 Aug 2023 14:44:41 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 15:14:20 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/import-siebel-db",
"log_location": "/home/opc/siebel/Q6DM6G/logs/database.log",
"name": "Import Siebel database dump into Database",
"previous_status": "",
"stage_description": "Import Siebel database dump into Database",
"stage_name": "import-siebel-db",
"start_time": "Tue, 29 Aug 2023 14:46:55 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 15:14:24 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/shift-siebel-fs",
"log_location": "/home/opc/siebel/Q6DM6G/logs/shift-fs.log",
"name": "Shift Siebel file system to OCI FSS",
"previous_status": "",
"stage_description": "Shift Siebel file system to OCI FSS",
"stage_name": "shift-siebel-fs",
"start_time": "Tue, 29 Aug 2023 15:14:24 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 15:14:44 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/shift-web-artifact",
"log_location": "/home/opc/siebel/Q6DM6G/logs/webartifacts.log",
"name": "Build container images for custom web artifacts",
"previous_status": "",
"stage_description": "Build container images for custom web artifacts",
"stage_name": "shift-web-artifact",
"start_time": "Tue, 29 Aug 2023 15:14:27 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 15:14:48 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/import-keyfile-bin",
"log_location": "/home/opc/siebel/Q6DM6G/logs/keyfilebin.log",
"name": "Import secret file keyfile.bin",
"previous_status": "",
"stage_description": "Import secret file keyfile.bin",
"stage_name": "import-keyfile-bin",
"start_time": "Tue, 29 Aug 2023 15:14:48 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 15:22:03 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/flux-setup",
"log_location": "/home/opc/siebel/Q6DM6G/logs/deploy.log",
"name": "Flux Bootstrap to initiate GitOps",
"previous_status": "",
"stage_description": "Flux Bootstrap to initiate GitOps",
"stage_name": "flux-setup",
"start_time": "Tue, 29 Aug 2023 15:14:52 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 15:35:05 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/check-flux-deploy",
"log_location": "/home/opc/siebel/Q6DM6G/logs/deploy.log",
"name": "Check Flux deploy",
"previous_status": "",
"stage_description": "Check Flux deploy",
"stage_name": "check-flux-deploy",
"start_time": "Tue, 29 Aug 2023 15:31:50 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 15:51:59 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/check-siebel-deploy",
"log_location": "/home/opc/siebel/Q6DM6G/logs/siebelcheck.log",
"name": "Check Siebel deploy",
"previous_status": "",
"stage_description": "Check Siebel deploy",
"stage_name": "check-siebel-deploy",
"start_time": "Tue, 29 Aug 2023 15:49:14 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 15:52:03 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/publish",
"log_location": "/home/opc/siebel/Q6DM6G/logs/publish.log",
"name": "Publish URLs",
"previous_status": "",
"stage_description": "Publish URLs",
"stage_name": "publish",
"start_time": "Tue, 29 Aug 2023 15:52:02 +0000",
"status": "passed"
},
{
"end_time": "Tue, 29 Aug 2023 16:23:09 +0000",
"log_api_link": "http://<yourscmpipaddr>:16690/scm/api/v1.0/environment/Q6DM6G/logs/check-app-url-status",
"log_location": "/home/opc/siebel/Q6DM6G/logs/app_url_validations.log",
"name": "Check App URL status",
"previous_status": "",
"stage_description": "Check App URL status",
"stage_name": "check-app-url-status",
"start_time": "Tue, 29 Aug 2023 16:22:53 +0000",
"status": "passed"
}
],
"urls": [
"https://<yournewsiebelenvip>/siebel/app/webtools/enu",
"https://<yournewsiebelenvip>/siebel/app/eclinicalm/enu",
"https://<yournewsiebelenvip>/siebel/app/epharmam/enu",
"https://<yournewsiebelenvip>/siebel/app/finsm/enu",
"https://<yournewsiebelenvip>/siebel/app/fins/enu",
"https://<yournewsiebelenvip>/siebel/app/cgm/enu",
"https://<yournewsiebelenvip>/siebel/smc"
]
}
},
"message": "Environment details fetched",
"status": "success"
}
Now you can take one of the URLs and login into your Siebel CRM Application.
after entering user and password
This approach and direction leads into new architecture, where the containers should be only distributed components in the microservices approach. The repository will be as a common cache and by provisioning new containers for components such object managers, workflow process, EAI you can scale up and scale down the enterprise horizontally , have a zero downtime deployment and very modern infrastructure.
Upgrade process
With the OKE approach we can update Siebel Cloud Manager with a new container image whenever one becomes available. This architecture also allows incremental changes to the configuration. To install monthly updates delivered by Oracle into OKE environment deployed by SCM there are steps which can be fully automated for the containers and infrastructure, see here. For the repository upgrade the process is unchanged via Siebel Tools.
Scenarios of deploying Siebel CRM into OCI
We have in this blog demonstrated the greenfield deployment of Siebel CRM into Oracle Cloud Infrastructure using Siebel Cloud Manager. We utilized OCI autonomous OCI oracle db. We have provisioned VCN and resources by SCM. There are scenarios where you can use existing VCN infrastructure, have a dedicated instance of DB. Different scenario is Lift and shift where you download the utility and create the configuration with the utility. The SCM is provisioning Siebel CRM in OCI using Oracle Kubernetes Engine OKE. There is a scenario where you use in OCI Compute instances and either Lift and Shift your Siebel environment from on premise to OCI or create a new in OCI using compute instances. There is also approach by Oracle to lift adn shift your VMWare infrastructure from onprem to OCI.
Contact us to find you best approach to migrate your environment to the OCI cloud.
Some example scenario of Siebel CRM in OCI using compute instances can be seen here :
Conclusion
Migrating Oracle Siebel CRM environments from on premise to the Oracle Cloud Infrastructure is the best possible decision from cost, performance, lifecycle, security perspective. There are more approaches and every approach has its usage. We recommend to hire experienced company to consult you and guide you with the cloud journey. The very details make change. Plan you cloud journey with CCW and make your good future happend with us !