> For the complete documentation index, see [llms.txt](https://ed.sunbird.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ed.sunbird.org/release-6.0.0/use/release/updating-sunbird-releases/5.2.0-to-6.0.0.md).

# 5.2.0 to 6.0.1

{% hint style="info" %}
Note: This document has been revised to incorporate updates for version 6.0.1, including testing of the cloud-agnostic feature on Oracle Cloud Infrastructure (OCI).

(updated on 26-06-2024)&#x20;
{% endhint %}

### Overview <a href="#user-content-overview" id="user-content-overview"></a>

This page details out the jobs required to be run as part of the upgrade of Sunbird ED from release 5.2.0 to release 6.0.1. Use the following table to understand the Jenkins jobs that need to be executed in order to successfully complete the upgrade. Any jenkins job configuration or pre-requisites mentioned under manual configuration section needs to be done first before running any of the mentioned jobs. The order of the jobs should also be run as shown below.

As part of release-6.0.0 some Jenkins job parameters are added for cloud agnostic changes. Follow the steps below to replace the config.xml for those jobs.

1\. Login to Jenkins VM

`su jenkins`

Replace the config.xml for the following mentioned Jenkins path

| Jenkins Jobs                        | Path of Jenkins Server                                              | Update Jenkins job URL                                                                                                                                             |
| ----------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Build/Core/Content                  | /var/lib/jenkins/jobs/Build/jobs/Core/jobs/Content                  | <https://raw.githubusercontent.com/project-sunbird/sunbird-devops/release-6.0.0/deploy/jenkins/jobs/Build/jobs/Core/jobs/Content/config.xml>                       |
| Build/Core/Learner                  | /var/lib/jenkins/jobs/Build/jobs/Core/jobs/Learner                  | <https://raw.githubusercontent.com/project-sunbird/sunbird-devops/blob/release-6.0.0/deploy/jenkins/jobs/Build/jobs/Core/jobs/Learner/config.xml>                  |
| Build/Core/Lms                      | /var/lib/jenkins/jobs/Build/jobs/Core/jobs/Lms                      | <https://raw.githubusercontent.com/project-sunbird/sunbird-devops/blob/release-6.0.0/deploy/jenkins/jobs/Build/jobs/Core/jobs/Lms/config.xml>                      |
| Build/Core/Analytics                | /var/lib/jenkins/jobs/Build/jobs/Core/jobs/Analytics                | <https://raw.githubusercontent.com/project-sunbird/sunbird-devops/blob/release-6.0.0/deploy/jenkins/jobs/Build/jobs/Core/jobs/Analytics/config.xml>                |
| Build/DataPipeline/CoreDataProducts | /var/lib/jenkins/jobs/Build/jobs/DataPipeline/jobs/CoreDataProducts | <https://raw.githubusercontent.com/project-sunbird/sunbird-devops/blob/release-6.0.0/deploy/jenkins/jobs/Build/jobs/DataPipeline/jobs/CoreDataProducts/config.xml> |
| Build/DataPipeline/AnalyticsCore    | /var/lib/jenkins/jobs/Build/jobs/DataPipeline/jobs/AnalyticsCore    | <https://raw.githubusercontent.com/project-sunbird/sunbird-devops/blob/release-6.0.0/deploy/jenkins/jobs/Build/jobs/DataPipeline/jobs/AnalyticsCore/config.xml>    |
| Build/KnowledgePlatform/FlinkJobs   | Build/KnowledgePlatform/FlinkJobs                                   | <https://raw.githubusercontent.com/project-sunbird/sunbird-devops/blob/release-6.0.0/deploy/jenkins/jobs/Build/jobs/KnowledgePlatform/jobs/FlinkJobs/config.xml>   |
| Build/Lern/LernDataProducts         | /var/lib/jenkins/jobs/Build/jobs/Lern/jobs/LernDataProducts         | <https://raw.githubusercontent.com/project-sunbird/sunbird-devops/blob/release-6.0.0/deploy/jenkins/jobs/Build/jobs/Lern/jobs/LernDataProducts/config.xml>         |
| Build/Lern/LernFlinkJobs            | /var/lib/jenkins/jobs/Build/jobs/Lern/jobs/LernFlinkJobs            | <https://raw.githubusercontent.com/project-sunbird/sunbird-devops/blob/release-6.0.0/deploy/jenkins/jobs/Build/jobs/Lern/jobs/LernFlinkJobs/config.xml>            |

### Adding the new variables

Update the following variables in sunbird-devops private repo according to your environment

`cd ansible/inventory/dev/core/common.yaml`

```bash
### Variables added as part of 6.0.0 release - https://github.com/Sunbird-Ed/ml-analytics-service/tree/release-6.0.0/release-notes/6.0.0.md
#### ML Analytics Service #####
ml_analytics_cname_url: # Reference value - https://obj.dev.sunbirded.org/samiksha/

### Variables added as part of 6.0.0 release - https://github.com/Sunbird-Ed/ml-analytics-service/tree/release-6.0.0/release-notes/6.0.0.md
ml_analytics_client_id : project-sunbird-dev-client # Keycloak client group
ml_analytics_username : reportAdmin1 # Username of a user which has roles of "PROGRAM_MANAGER", "PROGRAM_DESIGNER", "REPORT_ADMIN", "REPORT_VIEWER"
ml_analytics_createdBy : fb85a044-d9eb-479b-a55a-faf1bfaea14d # Unique system generated user UUID which is the same user as above
ml_container: samiksha

# provide the s3 compatible endpoint
# for AWS
# cloud_private_storage_account_endpoint: "https://s3.{{ cloud_public_storage_region }}.amazonaws.com"
# for OCI
#cloud_private_storage_account_endpoint: "https://<oci_namespace>.compat.objectstorage.{{cloud_public_storage_region}}.oraclecloud.com"
cloud_private_storage_account_endpoint: "{{ cloud_public_storage_endpoint }}" # Leave Blank for Azure
bb_name: "" #Leave Blank
```

`cd ansible/inventory/dev/core/secrets.yaml`

```bash
#### ML Analytics Service #####
### Variables added as part of 6.0.0 release - https://github.com/Sunbird-Ed/ml-analytics-service/tree/release-6.0.0/release-notes/6.0.0.md
# Examples values added below
ml_analytics_password : Test@123 # Password of a user which has roles of "PROGRAM_MANAGER", "PROGRAM_DESIGNER", "REPORT_ADMIN", "REPORT_VIEWER"
ml_analytics_authorization_access_token : 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkOTY3NzRjYzXXXXXXXXXXXXXQ4Y2RiOWQ2Mzg0OSJ9.n4hXxKxl_698yeZPSWhXeGvMOb4esfgPadIZe8jZ0Z4' # Bearer auth token which has access to APIs as defined in the https://github.com/Sunbird-Ed/ml-analytics-service/tree/release-6.0.0/release-notes/6.0.0.md
ml_analytics_client_secret : fd241dce-4ZZ9-47e1-97cf-1c7de7a44216 # Keycloak client secret for creating tokens, mapped to client id supplied to variable ml_analytics_client_id
```

`cd ansible/inventory/dev/KnowledgePlatform/common.yaml`

```bash
druid_storage_type: ""  # Your cloud service provider name. Supported values are aws, azure, gcloud
# Optional variables - Can be left blank
cloud_storage_report_verfication_bucketname: ""
dp_storage_endpoint_config: ""
```

### Remove the following variables

`cd ansible/inventory/dev/core/common.yaml`

```bash
ml_cloud_config: |
  CLOUD_STORAGE=AZURE
  AZURE_ACCOUNT_NAME={{sunbird_public_storage_account_name}}
  AZURE_ACCOUNT_KEY={{sunbird_public_storage_account_key}}
  AZURE_STORAGE_CONTAINER=samiksha
```

###

### **Build and Deploy for SunbirdED**

#### **SunbirdED:**

| Service      | Build job                               | Build tag           | Comments                                    | Deploy Job                                | Deploy tag    |
| ------------ | --------------------------------------- | ------------------- | ------------------------------------------- | ----------------------------------------- | ------------- |
| Portal       | <p>Build/Core/Player<br></p>            | release-6.0.0\_RC43 |                                             | Deploy/Kubernetes/Player                  | release-6.0.0 |
| ML Services  | Build/managed-learn/ml-projects-service | release-6.0.0\_RC9  |                                             | Deploy/managed-learn/ml-projects-service  | release-6.0.0 |
|              | Build/managed-learn/ml-core-service     | release-6.0.0\_RC24 |                                             | Deploy/managed-learn/ml-core-service      | release-6.0.0 |
|              | Build/managed-learn/ml-reports-service  | release-6.0.0\_RC7  |                                             | Deploy/managed-learn/ml-reports-service   | release-6.0.0 |
|              | Build/managed-learn/ml-survey-service   | release-6.0.0\_RC9  |                                             | Deploy/managed-learn/ml-survey-service    | release-6.0.0 |
| ML-Analytics |                                         |                     | ml\_analytics\_version: release-6.0.0\_RC14 | Deploy/managed-learn/ml-analytics-service | release-5.2.0 |

#### Sunbird Lern:

<table data-full-width="false"><thead><tr><th>Service/Component</th><th>Build job</th><th>Build tag</th><th>Deploy Job</th><th>Deploy tag</th><th>Comments</th></tr></thead><tbody><tr><td>Data pipeline</td><td>Build/Lern/FlinkJobs</td><td>github_release_tag:release-5.3.1_RC2, CLOUD_STORE_GROUP_ID:org.sunbird,CLOUD_STORE_ARTIFACT_ID:cloud-store-sdk_2.12,CLOUD_STORE_VERSION:1.4.6</td><td>Deploy/Lern/FlinkJobs</td><td>release-5.3.1_RC2</td><td></td></tr><tr><td>Lern data products</td><td>Build/Lern/LernDataProducts</td><td>github_release_tag:release-5.3.1_RC10, CLOUD_STORE_GROUP_ID:org.sunbird,CLOUD_STORE_ARTIFACT_ID:cloud-store-sdk_2.12,CLOUD_STORE_VERSION:1.4.6</td><td>Deploy/Lern/LernDataProducts</td><td>release-5.3.1_RC10</td><td></td></tr><tr><td>Analytics</td><td>Build/Core/Analytics</td><td>github_release_tag:release-5.1.3_RC1,CLOUD_STORE_GROUP_ID:org.sunbird,CLOUD_STORE_ARTIFACT_ID:cloud-store-sdk_2.12,CLOUD_STORE_VERSION:1.4.6</td><td>Deploy/Kubernetes/Analytics</td><td>release-6.0.0</td><td></td></tr><tr><td>User&#x26;Org Service</td><td>Build/Core/Learner</td><td>github_release_tag:release-5.3.1_RC1,CLOUD_STORE_GROUP_ID:org.sunbird,CLOUD_STORE_ARTIFACT_ID:cloud-store-sdk_2.12,CLOUD_STORE_VERSION:1.4.0CLOUD_STORE_GROUP_ID:org.sunbird,CLOUD_STORE_ARTIFACT_ID:cloud-store-sdk,CLOUD_STORE_VERSION:1.4.6</td><td>Deploy/Kubernetes/Learner</td><td>release-5.3.0-lern</td><td></td></tr><tr><td>Batch Service</td><td>Build/Core/Lms</td><td>github_release_tag:release-5.3.2_RC1,CLOUD_STORE_GROUP_ID:org.sunbird,CLOUD_STORE_ARTIFACT_ID:cloud-store-sdk_2.12,CLOUD_STORE_VERSION:1.4.0CLOUD_STORE_GROUP_ID:org.sunbird,CLOUD_STORE_ARTIFACT_ID:cloud-store-sdk,CLOUD_STORE_VERSION:1.4.6</td><td>Deploy/Kubernetes/Lms</td><td>release-5.3.0-lern</td><td></td></tr></tbody></table>

### Data Security Policy setup

Please refer the Lern microsite for setting this up&#x20;

<https://lern.sunbird.org/use/release-notes/release-v-5.3.0#data-security-policy-setup>

#### Sunbird Obsrv

<table data-full-width="false"><thead><tr><th>Service/Component</th><th>Build job</th><th>Build tag</th><th>Deploy Job</th><th>Deploy tag</th><th>Comments</th></tr></thead><tbody><tr><td>Data pipeline</td><td>Build/DataPipeline/AnalyticsCore</td><td>github_release_tag:release-5.1.3_RC3,CLOUD_STORE_GROUP_ID:org.sunbird,CLOUD_STORE_ARTIFACT_ID:cloud-store-sdk_2.12,CLOUD_STORE_VERSION:1.4.6</td><td>Deploy/DataPipeline/AnalyticsCore</td><td>release-5.2.0</td><td></td></tr><tr><td>Core Data products</td><td>Build/DataPipeline/CoreDataProducts</td><td>github_release_tag:release-5.1.3_RC3,CLOUD_STORE_GROUP_ID:org.sunbird,CLOUD_STORE_ARTIFACT_ID:cloud-store-sdk_2.12,CLOUD_STORE_VERSION:1.4.6</td><td>Deploy/DataPipeline/CoreDataProducts</td><td>release-5.2.0</td><td></td></tr></tbody></table>

#### **Sunbird-Knowlg**

<table data-full-width="false"><thead><tr><th width="164">Service/Component</th><th width="144">Build job</th><th width="132">Build tag</th><th>Deploy Job</th><th>Deploy tag</th><th>Comments</th></tr></thead><tbody><tr><td>Knowledge-platform-jobs</td><td>Build/KnowledgePlatform/FlinkJobs</td><td>github_release_tag:release-5.5.0_RC2,CLOUD_STORE_GROUP_ID:org.sunbird,CLOUD_STORE_ARTIFACT_ID:cloud-store-sdk_2.12,CLOUD_STORE_VERSION:1.4.6</td><td>Deploy/KnowledgePlatform/FlinkJobs</td><td>release-5.5.0_RC2</td><td>Jobs to be deployed: <strong>1. asset-enrichment 2.content-publish 3. post-publish-processor 4. qrcode-image-generator 5. video-stream-generator</strong></td></tr><tr><td>content-service</td><td>Build/Core/Content</td><td>github_release_tag:release-5.5.0_RC2,CLOUD_STORE_GROUP_ID:org.sunbird,CLOUD_STORE_ARTIFACT_ID:cloud-store-sdk,CLOUD_STORE_VERSION:1.4.7</td><td>Deploy/Kubernetes/Content</td><td>release-6.0.0</td><td></td></tr><tr><td>Plugins</td><td>Build/Plugins/ContentPlugins</td><td>release-5.2.1_RC4</td><td>Deploy/Plugins/ContentPlugins</td><td>release-6.0.0</td><td></td></tr><tr><td>Plugins</td><td>Build/Plugins/ContentEditor</td><td>release-5.2.1_RC3</td><td>Deploy/Plugins/ContentEditor</td><td>release6.0.0</td><td></td></tr></tbody></table>

#### **Sunbird-InQuiry**

<table data-full-width="false"><thead><tr><th>Service/Component</th><th>Build job</th><th>Build tag</th><th>Deploy Job</th><th>Deploy tag</th><th>Comments</th></tr></thead><tbody><tr><td>Assessment</td><td>Build/Core/Assessment</td><td>inquiry_release_tag:release-5.6.0_RC1,core_release_tag:release-5.2.0_RC2</td><td>Deploy/Kubernetes/Assessment</td><td>release-6.0.0</td><td></td></tr><tr><td>InQuiryFlink Job</td><td>Build/KnowledgePlatform/InquiryFlinkJob</td><td><p>release-5.7.0_RC4,</p><p><strong>cloud_store_group_id:</strong> org.sunbird, <strong>cloud_store_artifact_id:</strong> cloud-store-sdk_2.12, <strong>cloud_store_version:</strong> 1.4.6 "</p></td><td>Deploy/KnowledgePlatform/InquiryFlinkJob</td><td>release-5.7.0_RC4</td><td></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://ed.sunbird.org/release-6.0.0/use/release/updating-sunbird-releases/5.2.0-to-6.0.0.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
