Installing Siebel Monthly Update in a Siebel CRM on OKE Environment Deployed by SCM
You can use these steps to install latest monthly updates in a Siebel CRM on OKE environment deployed by SCM. These steps do not include repository upgrade steps, which are optional and identical to those relevant for on-premises Siebel CRM deployments.
kubectl get
pods
may throw error. Sourcing of virtual environment and k8sprofile can be
done by running the following commands:
sudo podman exec -it cloudmanager bash
bash-4.4$ source /home/opc/venv/bin/activate
source /home/opc/siebel/<env_id>/k8sprofile
- Back up the database
You must perform a backup of the database; preferably, a full backup.
- Upgrade SCM
You must upgrade your SCM instance to match the target Siebel CRM version to which you wish to upgrade. For more information, see Updating Siebel Cloud Manager with a New Container Image.
- Back up the SCM provided files for the Siebel CRM environment
You must back up the files in the current environment to ensure that you have a working version of the required set of files in case of any issues with the new upgrade or if you want to roll back to the previous version.
To create a backup, do the following:
- Create a backup
directory:
ssh -i <private_key> opc@<cm_instance> mkdir /home/opc/siebel/<ENV_ID>/<backup_dir_name>
- Exec in to the SCM
container:
sudo podman exec -it cloudmanager bash
- Copy the SCM Helm charts, SCM Git repositories, environment configurations
(for example, CGW and SES) , Siebel server (for example, quantum) and AI
configurations (for example, quantum) to the backup directory
(<backup_dir_name>):
cd /home/opc/siebel/<env_id>/<backup_dir_name> cp -R /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ /home/opc/siebel/<ENV_ID>/<env_namespace>-cloud-manager/ /home/opc/siebel/<ENV_ID>/<env_namespace>-siebfs0/<ENV_NAMESPACE>/CGW/ /home/opc/siebel/<ENV_ID>/<env_namespace>-siebfs0/<ENV_NAMESPACE>/SES/ /home/opc/siebel/<ENV_ID>/<env_namespace>-siebfs0/<ENV_NAMESPACE>/edge/ /home/opc/siebel/<ENV_ID>/<env_namespace>-siebfs0/<ENV_NAMESPACE>/quantum/ /home/opc/siebel/<ENV_ID>/<backup_dir_name> exit
Note: The variables in the example have the following values:- <private_key>: The key used in SCM stack creation.
- <cm_instance>: The SCM instance IP address.
- <backup_dir_name>: The name of the backup directory.
- <env_id>: The six characters long environment ID.
- <env_namespace>: The name of the environment given in the payload.
- <ENV_NAMESPACE>: The name of the environment given in the payload, in uppercase.
- edge: The Siebel CRM server name.
- quantum: The ai server name.
- Create a backup
directory:
- Tag git repositories
- Create a tag in the SCM Git repository as
follows:
sudo podman exec -it cloudmanager bash cd /home/opc/siebel/<ENV_ID>/<env_namespace>-cloud-manager/ git pull git tag <tag_name> git push origin --tags
In the example,
<tag_name>
is the source Siebel version. For example, 25.7. - Create a tag in the Helm charts Git repository as
follows:
sudo podman exec -it cloudmanager bash cd /home/opc/siebel/<ENV_ID>/ <env_namespace>-helmcharts/ git pull git tag <Tag_Name> git push origin --tags exit
In the example,
<Tag_Name>
is the source Siebel version. For example, 25.7.
- Create a tag in the SCM Git repository as
follows:
- Update infrastructure Helm chart
You must update the infrastructure Helm chart to the latest version. To update the infrastructure Helm chart, do the following:
- Suspend flux kustomization for infrastructure as follows:
- Verify the deployment state of
ingress:
helm list -n <env_namespace>
The name of the ingress in the command response is <env_namespace>-ingress-nginx.
- Suspend flux kustomization for infrastructure to rollout
infrastructure changes in the Helm chart
repository:
flux suspend kustomization infrastructure -n <env_namepsace>
- Verify the deployment state of
ingress:
- Update the Helm chart repository:
- Copy the infrastructure Helm chart from the SCM
charts
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ rm -Rf ingress-nginx cp -R /home/opc/siebel-cloud-manager/charts/ingress-nginx /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/
- Go to the
ingress-nginx
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ingress-nginx
- Open
Chart.yaml
and increment the chart version to roll out the infrastructure changes. - Commit the changes to the Git
repository:
git add . git commit -m "infrastructure latest helmchart changes" git push
- Verify that the working tree is
clean:
git status
Note: Flux reconciliation does not happen at this time as flux is in suspended mode.
- Copy the infrastructure Helm chart from the SCM
- Resume flux kustomization for
infrastructure:
cd /home/opc/siebel/<ENV_ID>/ source k8sprofile flux resume kustomization infrastructure -n <env_namepsace> flux reconcile -n <env_namepsace> source git siebel-repo <env_namepsace_repository> flux reconcile -n <env_namepsace> kustomization infrastructure
In the example above,
<env_namespace>
is the repository name. - Verify and confirm the infrastructure updates, ensure that the value of the
field SUSPENDED is False and READY is True for the following
commands:
flux get kustomization infrastructure -n <env_namespace> flux get helmrelease nginx -n <env_namespace>
- Ensure that APP VERSION points to the latest version and is incremented from
the previous
version:
helm list -n <env_namespace>
- Suspend flux kustomization for infrastructure as follows:
- Update metacontroller Helm chart
You must update the metacontroller
Helm chart to the latest version. To update the metacontroller Helm chart, do the following:
- Suspend flux kustomization for metacontroller as follows:
- Verify the deployment state of
metacontroller:
helm list -n <env_namespace>
The name of the metacontroller in the command response is <env_namespace>-metacontroller.
- Suspend flux kustomization for metacontroller to rollout the latest
metacontroller changes in the Helm
repository:
flux suspend kustomization metacontroller -n <env_namepsace>
- Verify the deployment state of
metacontroller:
- Update the Helm chart repository:
- Copy the metacontroller Helm chart from the SCM
charts
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ rm -Rf metacontroller cp -R /home/opc/siebel-cloud-manager/charts/metacontroller /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/
- Go to the
metacontroller
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/metacontroller
- Open
Chart.yaml
and increment the chart version to roll out the metacontroller changes. - Commit the changes to the Git
repository:
git add . git commit -m "metacontroller latest helmchart changes" git push
- Verify the status of the working tree to confirm that the status is
"nothing to commit, working tree
clean":
git status
Note: Flux reconciliation does not happen at this time as flux is in suspended mode.
- Copy the metacontroller Helm chart from the SCM
- Resume flux kustomization for
metacontroller:
cd /home/opc/siebel/<ENV_ID>/ source k8sprofile flux resume kustomization metacontroller -n <env_namepsace> flux reconcile -n <env_namepsace> source git siebel-repo <env_namepsace_repository> flux reconcile -n <env_namepsace> kustomization metacontroller
- Verify and confirm the metacontroller updates, ensure
that the value of the field SUSPENDED is False and READY is True for the
following
commands:
flux get kustomization metacontroller -n <env_namespace> flux get helmrelease metacontroller -n <env_namespace>
- Ensure that APP VERSION points to the latest version and is incremented from
the previous
version:
helm list -n <env_namespace>
- Suspend flux kustomization for metacontroller as follows:
- Update Siebel operator Helm chart
You must update the Siebel operator Helm chart to the latest version. To update the Siebel operator Helm chart, do the following:
- Suspend flux kustomization for Siebel operator as follows:
- Verify the deployment state of the Siebel
operator:
helm list -n <env_namespace>
The name of the Siebel operator in the command response is siebel-controller-xxx; here, xxx is the random number generated and assigned to the Siebel-operator.
- Suspend flux kustomization for siebel-operator to rollout latest
Siebel-operator changes in SCM and Helm
repositories:
flux suspend kustomization siebel-operator -n <env_namepsace>
- Verify the deployment state of the Siebel
operator:
- Update the Helm charts repository:
- Copy the Siebel operator Helm charts from the SCM
siebel-operator
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ rm -Rf siebel-operator cp -R /home/opc/siebel-cloud-manager/operators/siebel-operator /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/
- Go to the
siebel-operator
Helm chart directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/siebel-operator/manifest
- Open
kustomization.yaml
and add the image details under the values section as follows.images: - name: siebel-operator-base newName: <user_registry_url>/<registry_prefix>/cm/siebel-operator-base
- Commit the changes to the Git
repository:
git add . git commit -m "Siebel operator latest helmchart changes" git push
- Verify that the working tree is
clean:
git status
Note: Flux reconciliation does not happen at this time as flux is in suspended mode.
- Copy the Siebel operator Helm charts from the SCM
- Resume flux kustomization for Siebel
operator:
cd /home/opc/siebel/<ENV_ID>/ source k8sprofile flux resume kustomization siebel-operator -n <env_namepsace> flux reconcile -n <env_namepsace> source git siebel-repo <env_namepsace_repository> flux reconcile -n <env_namepsace> kustomization apps
- Verify and confirm the Siebel operator updates, ensure that the value of the
field SUSPENDED is False and READY is
True:
flux get kustomization siebel-operator -n <env_namespace>
- Confirm that the config map is
reloaded:
kubectl -n <env_namespace> get cm kubectl -n <env_namespace> get cm siebel-controller-xxx
- Suspend flux kustomization for Siebel operator as follows:
- Build and push the new Siebel CRM custom image for the target version
You must re-tag the copied Siebel CRM base image to the user’s environment registry and push it to the registry specific to the user’s environment.
- Re-tag the copied Siebel CRM base image to the user's environment
registry:
- Set the target Siebel CRM
version:
sudo podman exec -it cloudmanager bash export target_version=<target_siebel_version>
- Set the
source_base_image
variable to the destination registry repository obtained from the mirror:export source_base_image="<user_registry_url>/<user_registry_prefix>/cm/siebel:$target_version-full"
- Verify that the
source_base_image
variable is set properly:echo $source_base_image export target_base_image="<user_registry_url>/<user_registry_namespace>/<env_namespace>/siebel:$target_version-full"
- Verify that the
target_base_image
variable is set properly:echo $target_base_image
- Re-tag the target Siebel CRM base image to the user's environment
registry:
podman tag $source_base_image $target_base_image
- Set the target Siebel CRM
version:
- Log in to the docker registry to push the target Siebel CRM base image to
the user's
registry:
podman login <user_region>.ocir.io podman push $target_base_image
- Sync the local environment ID's Helm charts Git repository with the remote
repository for the custom artifacts
changes.
cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ git clean -d -x -f git pull
- Build a new custom image for the Siebel CRM web artifacts and push it to the
customer
registry:
cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/siebel-artifacts/build/ export target_image=<registry_url>/<registry_namespace>/<env_namespace>/siebel:$target_version.CUSTOM.1 podman build --build-arg BASE_IMAGE=${target_base_image} -t ${target_image} ./ -f dockerfile podman push $target_image exit
- Re-tag the copied Siebel CRM base image to the user's environment
registry:
- Update Siebel Gateway Helm chart and Helm release
You must update the Siebel Gateway Helm chart to the latest version and Helm release to point to user registry. To update the Siebel Gateway Helm chart and Helm release:
- Suspend flux Helm release for Siebel Gateway as follows:
- Verify the deployment state of Siebel
Gateway:
helm list -n <env_namespace>
- Suspend flux Helm release for Siebel Gateway to roll out the latest
changes:
flux suspend image update cm-siebel-image-update1 -n <env_namespace> flux suspend image update cm-siebel-image-update2 -n <env_namespace> flux suspend helmrelease siebel-gateway -n <env_namespace>
- Verify the deployment state of Siebel
Gateway:
- Update Helm charts repository:
- Copy the latest Siebel Gateway Helm chart from SCM the charts
directory:
cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ rm -Rf siebel-gateway cp -R /home/opc/siebel-cloud-manager/charts/crm/siebel-gateway /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/
- Go to the
siebel-gateway
Helm chart directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/siebel-gateway
- Open
Charts.yaml
and increment the chart version to roll out the Siebel Gateway changes. - Commit the changes to the Git
repository:
git add . git commit -m "siebel-gateway latest helmchart changes" git push
- Verify that the working tree is
clean:
git status
Note: Flux reconciliation does not happen at this time as flux is in suspended mode.
- Copy the latest Siebel Gateway Helm chart from SCM the charts
directory:
- Update the SCM repository with the Siebel Gateway changes:
- Go to the
siebel
directory in the SCM repository:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-cloud-manager/flux-crm/apps/base/siebel/
- Add the custom image details under the values section in the
siebel-gateway.yaml
file as follows:values: image: siebel: imagePullPolicy: IfNotPresent registry: <user_registry_url> repository: <registry_prefix/object_namespace>/<env_namespace>/siebel tag: <target_image built in step 8.d, for example 25.5.CUSTOM.1>
- Commit the changes to the
repository:
git add . git commit -m "Updating siebel-gateway helmrelease container images repository to user registry" git push
- Go to the
- Resume flux Helm release for Siebel
Gateway:
cd /home/opc/siebel/<ENV_ID>/ source k8sprofile flux resume helmrelease siebel-gateway -n <env_namepsace> flux reconcile -n <env_namepsace> source git siebel-repo <env_namepsace_repository> flux reconcile -n <env_namepsace> kustomization apps
- Verify and confirm the Siebel Gateway updates, ensure that the value of the
field SUSPENDED is False and READY is
True:
flux get kustomization siebel-gateway-n <env_namespace> flux get helmrelease -n <env_namespace>
- Ensure that APP VERSION points to the latest version and is incremented from
previous
version:
helm list -n <env_namespace>
- Suspend flux Helm release for Siebel Gateway as follows:
- Update Siebel Config Helm chart
You must update the
siebel-config
Helm chart to the latest version. To update thesiebel-config
Helm chart:- Suspend flux Helm release for
siebel-config
as follows:- Verify the deployment state of
siebel-config
:helm list -n <env_namespace>
- Suspend Helm release to rollout
siebel-config
changes in SCM and Helm repositories:flux suspend helmrelease siebel-config -n <env_namespace>
- Verify the deployment state of
- Update the Helm chart repository:
- Copy the
siebel-config
Helm chart from the SCMcharts
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/siebel-config rm -Rf templates/ values.yaml Chart.yaml cp -R /home/opc/siebel-cloud-manager/charts/crm/siebel-config/templates/ /home/opc/siebel-cloud-manager/charts/crm/siebel-config/values.yaml /home/opc/siebel-cloud-manager/charts/crm/siebel-config/Chart.yaml /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/siebel-config/
- Go to the Helm chart
siebel-config
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/siebel-config
- Open
Chart.yaml
and increment the chart version to roll out the infrastructure changes. - Commit the changes to the Git
repository:
git add . git commit -m "siebel-configlatest helmchart changes" git push
- Verify that the working tree is
clean:
git status
Note: Flux reconciliation does not happen at this time as flux is in suspended mode.
- Copy the
- Resume flux Helm release for
siebel-config
:cd /home/opc/siebel/<ENV_ID>/ source k8sprofile flux resume helmrelease siebel-config -n <env_namepsace> flux reconcile -n <env_namepsace> source git siebel-repo <env_namepsace_repository> flux reconcile -n <env_namepsace> kustomization apps
- Verify and confirm the siebel-config updates, ensure that the value of the
field SUSPENDED is False and READY is True for the following
commands:
flux get kustomization siebel-config -n <env_namespace> flux get helmrelease -n <env_namespace>
- Ensure that APP VERSION points to the latest version and is incremented from
previous
version:
helm list -n <env_namespace>
- Suspend flux Helm release for
- Update Siebel Helm chart and Helm release
You must update the
siebel
Helm chart to the latest version and Helm release to point to user registry. To update thesiebel
Helm chart and Helm release, do the following:- Suspend flux Helm release for
siebel
as follows:- Verify the deployment state of the
siebel
:helm list -n <env_namespace>
- Suspend Helm release for
siebel
to roll out the latest changes:flux suspend helmrelease siebel -n <env_namespace>
- Verify the deployment state of the
- Update the Helm chart repository:
- Copy the siebel Helm charts from SCM
charts
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ rm -Rf siebel cp -R /home/opc/siebel-cloud-manager/charts/crm/siebel /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/
- Go to the siebel Helm
chart
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/siebel
- Open
Chart.yaml
and increment the chart version to roll out the Siebel changes. - Commit the changes to the Git
repository:
git add . git commit -m "siebel latest helmchart changes" git push
- Verify that the working tree is
clean:
git status
Note: Flux reconciliation does not happen at this time as flux is in suspended mode.
- Copy the siebel Helm charts from SCM
- Update the SCM repository with the
siebel
changes- Go to the
siebel
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-cloud-manager/flux-crm/apps/base/siebel/
- Update the
siebel.yaml
file as follows:values: image: siebel: imagePullPolicy: IfNotPresent registry: <user_registry_url> repository: <registry_prefix/object_namespace>/<env_namespace>/siebel tag: <target_image built in step 8.d, for example 25.5.CUSTOM.1> git add . git commit -m "Updating siebel helmrelease container images repo to my registry" git push
- Go to the
- Resume flux Helm release for
siebel
:cd /home/opc/siebel/<ENV_ID>/ source k8sprofile flux resume helmrelease siebel -n <env_namepsace> flux reconcile -n <env_namepsace> source git siebel-repo <env_namepsace_repository> flux reconcile -n <env_namepsace> kustomization apps
- Verify and confirm the Siebel updates, ensure that the value of the field
SUSPENDED is False and READY is True for the following
commands:
flux get kustomization apps -n <env_namespace> flux get helmrelease siebel -n <env_namespace>
- Ensure that APP VERSION points to the latest version and is incremented from
previous
version:
helm list -n <env_namespace>
- Suspend flux Helm release for
- Update Siebel artifacts Helm chart
You must update the Siebel artifacts Helm chart to the latest version and Helm release to point to user registry. To update the Siebel artifacts Helm chart and Helm release:
- Suspend flux Helm release for
siebel-artifacts
as follows:- Verify the deployment state of the
siebel-artifacts
:helm list -n <env_namespace>
- Suspend Helm release for
siebel-artifacts
to roll out the latest changes:flux suspend helmrelease siebel-artifacts -n <env_namespace>
- Verify the deployment state of the
- Update the Helm chart repository:
- Copy the
siebel-artifacts
Helm charts from SCM charts directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ rm -Rf siebel-artifacts/ cp -R /home/opc/siebel-cloud-manager/charts/crm/siebel-artifacts /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/
- Restore the
siebel-artifacts/build
folder from the backup:cp -R /home/opc/siebel/<ENV_ID>/backup/<env_namespace>-helmcharts/siebel-artifacts/build/ /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/siebel-artifacts/
- Go to the
siebel-artifacts
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/siebel-artifacts
- Open
Chart.yaml
and increment the chart version to roll out thesiebel-artifacts
changes. - Commit the changes to the Git
repository:
git add . git commit -m “Siebel-artifacts latest helmchart changes" git push
- Verify that the working tree is
clean:
git status
Note: Flux reconciliation does not happen at this time as flux is in suspended mode.
- Copy the
- Update the SCM repository with the
siebel-artifacts
changes:- Go to the
siebel
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-cloud-manager/flux-crm/apps/base/siebel
- Update the image details in the
siebel-artifacts.yaml
file as follows:values: image: siebel: base_image: <user_registry_url>/<registry_prefix/object_namespace>/cm/siebel: $target_version-full registry: <user_registry_url> repository: <registry_prefix/object_namespace>/<env_namespace>/siebel tag: < target_image built in step 8.d, for example 25.5.CUSTOM.1>
- Commit the changes to the Git
repository:
git add . git commit -m "Updating siebel-artifacts helmrelease container images repo to user registry" git push
- Go to the
- Update version in
Chart.yaml
as follows:- Go to the
siebel-artifacts
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/siebel-artifacts
- Update the
Chart.yaml
file as follows:name: siebel-artifacts version: 0.1.1 appVersion: "25.5"
- Commit the changes to the Git
repository:
git add . git commit -m "Updating new siebel version" git push
- Go to the
- Resume flux Helm release for
siebel-artifacts
:- Resume
siebel-artifacts
helmrelease:cd /home/opc/siebel/<ENV_ID>/ source k8sprofile flux resume helmrelease siebel-artifacts -n <env_namepsace>
- Trigger manual
reconciliation:
flux resume image update cm-siebel-image-update1 -n <env_namespace> flux resume image update cm-siebel-image-update2 -n <env_namespace> flux reconcile source git siebel-repo <env_namepsace> -n <env_namepsace> flux reconcile kustomization apps -n <env_namepsace>
- Resume
- Verify and confirm the siebel-artifacts updates, ensure that the value of
the field SUSPENDED is False and READY is True for the following
commands:
flux get kustomization apps -n <env_namespace> flux get helmrelease siebel-artifacts -n <env_namespace>
- Ensure that APP VERSION points to the latest
version:
helm list -n <env_namespace>
- Suspend flux Helm release for
- Update Siebel observability Helm chart
You must update the Siebel observability Helm chart to the latest version. To update the Siebel-observability Helm chart, do the following:
- Verify the deployment state of monitoring Helm charts
(
kube-state-metrics
,node-exporter
,prometheus
,prometheus-adapter
,prometheus-alert-manager
):helm list -n <env_namespace>
Note:prometheus-alert-manager
is deployed only ifsend_alerts
is set totrue
. - Suspend flux Helm release for Siebel observability to roll out the latest
changes as
follows:
flux suspend helmrelease kube-state-metrics -n <env_namespace> flux suspend helmrelease node-exporter -n <env_namespace> flux suspend helmrelease prometheus -n <env_namespace> flux suspend helmrelease prometheus-adapter -n <env_namespace> flux suspend helmrelease prometheus-alert-manager -n <env_namespace>
- Update the Helm chart repository:
- Copy the Siebel observability Helm charts from the SCM
charts
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ rm -Rf node-exporter/ kube-state-metrics/ prometheus/ prometheus-adapter/ prometheus-alert-manager/ cp -R /home/opc/siebel-cloud-manager/charts/siebel_observability/ /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/
- Increment the chart version in the
Chart.yaml
file to roll out the changes, in the following directories:/home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/kube-state-metrics/ /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/node-exporter/ /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/prometheus/ /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/prometheus-adapter/ /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/prometheus-alert-manager/
- Commit the changes to the Git
repository:
git add . git commit -m " infrastructure latest helmchart changes" git push
- Verify that the working tree is
clean:
git status
Note: Flux reconciliation does not happen at this time as flux is in suspended mode.
- Copy the Siebel observability Helm charts from the SCM
- Resume flux Helm release for Siebel
observability:
flux resume helmrelease kube-state-metrics -n <env_namespace> flux resume helmrelease node-exporter -n <env_namespace> flux resume helmrelease prometheus -n <env_namespace> flux resume helmrelease prometheus-adapter -n <env_namespace> flux resume helmrelease prometheus-alert-manager -n <env_namespace> #this can be given only if send_alerts = true in payload. flux reconcile -n <env_namepsace> source git siebel-repo <env_namepsace_repository> flux reconcile -n <env_namepsace> kustomization apps
- Verify and confirm the Siebel observability updates, ensure that the value
of the field SUSPENDED is False and READY is True for
kube-state-metrics
,node-exporter
,prometheus
,prometheus-adapter
,prometheus-alert-manager
:flux get kustomization apps -n <env_namespace> flux get helmrelease -n <env_namespace>
- Ensure that APP VERSION points to the latest version and is incremented from
previous version for
kube-state-metrics
,node-exporter
,prometheus
,prometheus-adapter
,prometheus-alert-manager
:helm list -n <env_namespace>
- Verify the deployment state of monitoring Helm charts
(
- Update Siebel logging Helm chart
You must update Siebel logging Helm chart to the latest version. To update the Siebel logging Helm chart:
- Suspend flux Helm release for Siebel logging as follows:
- Verify the deployment state of Siebel logging Helm charts
(
oracle-opensearch
,oracle-opensearch-dashboards
, andsiebel-logging
):helm list -n <env_namespace>
- Suspend flux Helm release to rollout Siebel logging changes in Helm
repositories:
flux suspend helmrelease oracle-opensearch -n <env_namespace> flux suspend helmrelease oracle-opensearch-dashboards -n <env_namespace> flux suspend helmrelease siebel-logging -n <env_namespace>
- Verify the deployment state of Siebel logging Helm charts
(
- Update the Helm chart repository:
- Copy the Siebel logging Helm charts from the SCM
charts
directory:cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ rm -Rf siebel-logging/ oracle-opensearch/ oracle-opensearch-dashboards/ cp -R /home/opc/siebel-cloud-manager/charts/siebel-logging/ /home/opc/siebel-cloud-manager/charts/oracle-opensearch/ /home/opc/siebel-cloud-manager/charts/oracle-opensearch-dashboards/ /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/
- Increment the chart version, to roll out the changes, in the
Chart.yaml
file in the following directories:/home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/siebel-logging/ /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/oracle-opensearch/ /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/oracle-opensearch-dashboards/
- Commit the changes to the Git
repository:
cd /home/opc/siebel/<ENV_ID>/<env_namespace>-helmcharts/ git add . git commit -m " siebel-logging latest helmchart changes" git push
- Verify that the working tree is
clean:
git status
Note: Flux reconciliation does not happen at this time as flux is in suspended mode .
- Copy the Siebel logging Helm charts from the SCM
- Resume flux Helm release for Siebel
logging:
cd /home/opc/siebel/<ENV_ID>/ source k8sprofile flux resume helmrelease oracle-opensearch -n <env_namespace> flux resume helmrelease oracle-opensearch-dashboards -n <env_namespace> flux resume helmrelease siebel-logging -n <env_namespace> flux reconcile -n <env_namepsace> source git siebel-repo <env_namepsace_repository> flux reconcile -n <env_namepsace> kustomization apps
- Verify and confirm the Siebel logging updates, ensure that the value of the
field SUSPENDED is False and READY is True for
oracle-opensearch
,oracle-opensearch-dashboard
, andsiebel-logging
:flux get kustomization apps -n <env_namespace> flux get helmrelease -n <env_namespace>
- Ensure that APP VERSION points to the latest version and is incremented from
previous version for
oracle-opensearch
,oracle-opensearch-dashboard
, andsiebel-logging
:helm list -n <env_namespace>
- Suspend flux Helm release for Siebel logging as follows:
- Check the status of the flux components after
upgrade:
flux get all -n <env_namespace>
- Watch out for the successful completion of postinstalldb Kubernetes job
For more information, see Reviewing the PostInstallDBSetup Execution Status.
- The new image updates will trigger postinstalldb update through flux-crm sync up.
- Wait for the Kubernetes job completion.
- Manually verify the postinstalldb job reports and exit code from the logs.
- In case of errors, take corrective actions and rerun postinstalldb
Kubernetes job by updating the version in
chart.yaml
file as required for an incremental run.
For more information, see Making Incremental Changes.
sudo podman exec -it cloudmanager bash source /home/opc/siebel/<env_id>/k8sprofile kubectl -n <env_namespace> get pods
- Configuration instructions specific to a release
- For any configuration instructions specific to a release, refer to Siebel Upgrade Guide and Siebel Release Notes.
- Migrate the persistent volume content. Refer to the "Migrating Persistent Volume Content" section in the Deploying Siebel CRM Containers Guide.
- Upgrading the repository
During the upgrade process if any new features require repository upgrade, then upgrade the repository. Refer to Using Siebel Tools Guide.
- Troubleshooting
- In any of the above steps during the Siebel new image rollout and flux sync-up, verify the Helm Release deployment status.
- If HelmRelease is in failed state, rollback is required and increment the
version in
Chart.yaml
for the helm upgrade.
To verify the helm release status:
kubectl get helmrelease -n <env_namespace>
Note: In the command response, the value in the READY column should be "True" for all the helm releasesTo verify the deployment status of helm charts:
helm ls -n <env_namespace>
Note: In the command response, the value in the STATUS column should be "deployed" for all the helm charts. - Rollback steps for Helm Charts
In case of any failures noticed in the above two commands, find out the stable helmchart revision and do a rollback of helm charts by running the following commands:
- To find out the previous stable REVISION
deployed:
helm history siebel -n <env_namespace>
- Rollback to the previous stable REVISION identified by the previous command,
that is, helm
history:
helm rollback siebel -n <env_namespace> 1
For example:
W0505 10:56:23.450209 3296 warnings.go:70] would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (containers "persist-folders", "sai" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (containers "persist-folders", "sai" must set securityContext.capabilities.drop=["ALL"]), runAsNonRoot != true (pod or containers "persist-folders", "sai" must set securityContext.runAsNonRoot=true), seccompProfile (pod or containers "persist-folders", "sai" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost") W0505 10:56:23.511704 3296 warnings.go:70] would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (containers "persist-fix", "ses" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (containers "persist-fix", "ses" must set securityContext.capabilities.drop=["ALL"]), runAsNonRoot != true (pod or containers "persist-fix", "ses" must set securityContext.runAsNonRoot=true), seccompProfile (pod or containers "persist-fix", "ses" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost") Rollback was a success! Happy Helming!
- To find out the previous stable REVISION
deployed:
- Verify the application URLs once the environment comes up.