Release - 6.1.0 (latest)

Hot-fix 6.1.0 (18-06-2024)

  1. Knowlg: Replace Azure Media Services with MediaKind(MK.IO)

Overview:

This hot-fix addresses the upcoming retirement of Azure Media Services (AMS) on June 30, 2024. To ensure a smooth transition, we are implementing MediaKind, a Microsoft partner solution, as an alternative to AMS. Currently, Azure Media Services is used for generating streaming URLs. Due to its upcoming retirement, we are transitioning to MediaKind to maintain continuity in our streaming services.

Details:

Issue Fixed

Azure Media Services will be retired on June 30, 2024. As a replacement, we are migrating to MediaKind. This includes:

  1. Generating streaming URLs for new assets using MediaKind.

  2. Migrating all existing streaming assets to MediaKind.

Migration Steps to MediaKind (MK.IO)

To migrate Azure Media Services (AMS) data to MediaKind (MK.IO), follow these steps:

  1. Get an MK.IO Subscription:

  2. Generate MediaKind Authentication Token:

    • Once your MK.IO subscription is activated, log in to your MK.IO account.

    • Navigate to MediaKind Authentication Token to generate an authentication token for accessing MediaKind APIs.

  3. Connect Your Azure Storage Account:

  4. Create a Streaming Endpoint:

    • During the creation of a streaming endpoint, provide a name and select the appropriate streaming endpoint type as per your requirements.

  5. Create a Transform in Video Processing:

    • When creating a transform in Video Processing, specify a name and choose a suitable Built-in preset value according to your encoding needs.

Additional Information

  • Preparation for Migration:

    • Ensure you are logged into your MK.IO account before accessing the provided links.

    • Follow the steps sequentially for a smooth migration process from AMS to MediaKind (MK.IO).

  • Additional Resources:

  • Bulk Migration Documentation:

    • Once the above steps are completed, refer to the document for instructions on bulk migration of old assets from AMS to your MK.IO account.

    https://docs.mk.io/docs/bulk-asset-migration-from-ams-storage

NOTE: Once migration done. We need to republish the contents:

  • As we know, streaming URLs are stored in content metadata, which we use to play the streaming assets. Since these assets are migrated to MK.IO, the base path will change as shown below. Therefore, we need to republish all those contents.

Before Migration: Azure Streaming URL:

https://sunbirddevmedia-inct.streaming.media.azure.net/daac53ae-f3a9-44b6-a546-7fc08c37848c/do_2133506859240161281539_163308.ism/manifest(format=m3u8-cmaf)

After Migration: MK.IO Streaming URL:

https://ep-default-mkservicepoc.japaneast.streaming.mediakind.com/daac53ae-f3a9-44b6-a546-7fc08c37848c/do_2133506859240161281539_163308.ism/manifest(format=m3u8-cmaf)
  • If you observe both URLs, only the base path is changing.

Configuration/Environment variable changes:

New Configurations:

Variable Name
Description
Default Value

azure_mediakind.project_name

MK.IO subscription name

azure_mediakind.auth_token

MK.IO authentication token to access the MediaKind APIs. Please refer above step2 for auth token generation.

azure_mediakind.account_name

MK.IO storage account name. Please refer above step3 to get this name.

azure_mediakind.api.endpoint

MK.IO API endpoint

azure_mediakind.transform.default

Please refer above step5 to get this value. While creating we have used name media_transform_default that is waht we kept as default you can this value whatever name you want.

media_transform_default

azure_mediakind.stream.base_url

Please refer above step4 to get this value. Once you created streaming endpoint it will provide some base url copy that value here.

azure_mediakind.stream.endpoint_name

Please refer above step4 to get this value.

azure_mediakind.stream.protocol

Hls

azure_mediakind.stream.policy_name

Predefined_ClearStreamingOnly

Deprecated Configurations:

Variable Name
Description

media_service_azure_tenant

Azure media service tenant name

media_service_azure_subscription_id

Azure media service subscription ID

media_service_azure_account_name

Azure media service account name

media_service_azure_resource_group_name

Azure media service resource group name

media_service_azure_token_client_key

Azure media service client key

media_service_azure_token_client_secret

Azure media service client secret

media_service_azure_stream_base_url

Azure media service stream base URL

Release Tags

Component
Service to be Build
Tag
Deploy Job
Deployment Tag
Comment

Knowledge-platform-jobs

Build/KnowledgePlatform/FlinkJobs

Deploy/KnowledgePlatform/FlinkJobs

Jobs to be deployed: 1. video-stream-generator

Hot-fix 6.1.0 (07-06-2024)

  1. DIAL service Build issue fix

Release Tags

Component
Service to be Build
Tag
Deploy Job
Deployment Tag
Comment

dial-service

Build/Core/Dial

Deploy/Kubernetes/Dial

Deploy Tag is given for reference only. Please do not use directly for deployment.

Hot-fix 6.1.0 (08-05-2024)

  1. Image URL is not getting generated when QR code is searched - KN-1071

Release Tags

Component
Service to be Build
Tag
Deploy Job
Deployment Tag
Comment

Schema upload

NA

NA

Deploy/Kubernetes/UploadSchema

Knowledge-platform

Build/Core/Content

Deploy/Kubernetes/Content

Deploy Tag is given for reference only. Please do not use directly for deployment.

Build/Core/Taxonomy

Deploy/Kubernetes/Taxonomy

Deploy Tag is given for reference only. Please do not use directly for deployment.

Configuration/Environment variable changes:

Variables Added in Content-Service:

Variable Name
Description
Default Value

cloud_storage_dial_container

Storage container name to store dial codes

dial

dialcode_image.keyspace

Keyspace name to store dial code images details in Cassandra

dialcodes

6.1.0 (29-04-2024)

Discussion thread: https://github.com/orgs/Sunbird-Knowlg/discussions/190

Release timeline:

Start date
End date

Planning phase

12-Feb, 2024

23-Feb, 2024

Sprint 1

26-Feb, 2024

15-Mar, 2024

Sprint 2

18-Mar, 2024

5-Apr, 2024

PPV

8-Apr, 2024

19-Apr, 2024

Prod

22-Apr, 2024

6.1.0 total scope: Link

Document Release Version

Project
Release Version
Date

Sunbird Knowlg

R6.1.0

Important note to the adopters:

As part of this release, we have made the below changes, which are important to know everyone.

We have upgraded Elasticsearch upgrade 6.8.22 to 7.17.13 — KN-976

Elasticsearch Upgrade Release Notes: 6.8.22 to 7.17.13

Upgrade Overview:

This release involves upgrading Elasticsearch from version 6.8.22 to version 7.17.13. The upgrade brings significant enhancements, bug fixes, and potential breaking changes that administrators and developers need to be aware of.

Upgrade Steps:

  1. Preparation:

    • Ensure compatibility with Java 11, as Elasticsearch 7.17.13 requires this version.

  2. Backup:

    • Before proceeding with the upgrade, ensure all data is backed up to prevent any loss during the migration process.

    • Please Click here for Backup & Restore In Local & Azure documentation

  3. Upgrade Process:

    • Follow the Elasticsearch upgrade documentation for detailed instructions on upgrading from version 6.8.22 to 7.17.13.

    • Please Click Here for upgrading ES from 6.8.22 to 7.17.13 documentation.

Once you have upgraded to Elasticsearch 7.17.13, please consider using the below release tags for API services and Flink Jobs deployment.

Following are the Planned Tickets of R 6.1.0

New Features:

None

Enhancements / Technical tasks:

S.no
JIRA ID
Description

1

Elasticsearch upgrade 6.8.22 to 7.17.13

2

Sunbird Video Player - Angular version upgrade 15 to 17

3

Sunbird PDF Player - Angular version upgrade 15 to 17

4

Angular version update for Player SDK from 13 to 17

5

Sunbird Collection editor documentation changes

6

DIAL code APIs Move from Knowlg MW to Content Service

Release Tags:

Upgrade Knowlg From 6.0.0 to 6.1.0

API Services:

Component
Service to be Build
Tag
Deploy Job
Deployment Tag
Comment

Schema upload

NA

NA

Deploy/Kubernetes/UploadSchema

Knowledge-platform

Build/Core/Content

Deploy/Kubernetes/Content

Deploy Tag is given for reference only. Please do not use directly for deployment.

Build/Core/Taxonomy

Deploy/Kubernetes/Taxonomy

Deploy Tag is given for reference only. Please do not use directly for deployment.

Build/Core/search

Deploy/Kubernetes/Search

Deploy Tag is given for reference only. Please do not use directly for deployment.

dial-service

Build/Core/Dial

Deploy/Kubernetes/Dial

Deploy Tag is given for reference only. Please do not use directly for deployment.

Knowledge-platform-jobs

Build/KnowledgePlatform/FlinkJobs

Deploy/KnowledgePlatform/FlinkJobs

Jobs to be deployed:

  1. Search-indexer

  2. asset-enrichment

  3. Content-publish

  4. post-publish-processor

  5. qrcode-image-generator

  6. video-stream-generator

  7. transaction-event-processor (This job is Optional. )

Note: transaction-event-processor Flink job is optional. Because we merged both audit-history-indexer & audit-event-generator into one job. If you want to continue with two separate jobs, you don't need to deploy transaction-event-processor Flink job.

Sunbird player SDK:

Angular version - 13

Install: npm i @project-sunbird/sunbird-player-sdk-v9@6.0.2

https://www.npmjs.com/package/@project-sunbird/sunbird-player-sdk-v9/v/6.0.2

Angular version - 14

Install: npm i @project-sunbird/sunbird-player-sdk-v9@6.0.3

https://www.npmjs.com/package/@project-sunbird/sunbird-player-sdk-v9/v/6.0.3

Angular version - 15

Install: npm i @project-sunbird/sunbird-player-sdk-v9@6.0.4

https://www.npmjs.com/package/@project-sunbird/sunbird-player-sdk-v9/v/6.0.4

Angular version - 16

Install: npm i @project-sunbird/sunbird-player-sdk-v9@6.0.5

https://www.npmjs.com/package/@project-sunbird/sunbird-player-sdk-v9/v/6.0.5

Angular version - 17

Install: npm i @project-sunbird/sunbird-player-sdk-v9@6.0.7

https://www.npmjs.com/package/@project-sunbird/sunbird-player-sdk-v9/v/6.0.7

Sunbird PDF Player:

Angular version - 16

Install: npm i @project-sunbird/sunbird-pdf-player-v9@6.1.0

https://www.npmjs.com/package/@project-sunbird/sunbird-pdf-player-v9/v/6.1.0

Angular version - 17

Install: npm i @project-sunbird/sunbird-pdf-player-v9@6.1.1

https://www.npmjs.com/package/@project-sunbird/sunbird-pdf-player-v9/v/6.1.1

Sunbird Video Player:

Angular Version - 16

Install: npm i @project-sunbird/sunbird-video-player-v9@6.1.0

https://www.npmjs.com/package/@project-sunbird/sunbird-video-player-v9/v/6.1.0

Angular Version - 17

Install: npm i @project-sunbird/sunbird-video-player-v9@6.1.1

https://www.npmjs.com/package/@project-sunbird/sunbird-video-player-v9/v/6.1.1

Configuration/Environment variable changes:

In this release, we've transferred the following two APIs from Knowledge-MW-service to Content-Service. Because we moved these APIs to the Content-Service, the endpoints have been updated to ensure consistency with other content APIs.

S.No
Old API Endpoint
New API Endpoint

1

/v1/dialcode/reserve/:identifier

/content/v3/dialcode/reserve/:identifier (OR) /content/v4/dialcode/reserve/:identifier

2

/v1/dialcode/process/status

/content/v3/process/status/:processid

(OR) /content/v4/process/status/:processid

Consequently, to reflect these changes, we'll need to update the upstream_url configuration in kong-api layer to reference Content-Service instead of Knowledge-MW-service.

Previous:

- name: reserveDialcode
  uris: "{{ dialcode_service_prefix }}/v1/reserve"
  upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/reserve"
  
- name: qrCodeBatchProcessStatus
  uris: "{{ dialcode_service_prefix }}/v1/process/status"
  upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/process/status"

Update to:

- name: reserveDialcode
  uris: "{{ dialcode_service_prefix }}/v1/reserve"
  upstream_url: "{{ content_service_url }}/content/v3/dialcode/reserve"
  
- name: qrCodeBatchProcessStatus
  uris: "{{ dialcode_service_prefix }}/v1/process/status"
  upstream_url: "{{ content_service_url }}/content/v3/process/status

Variables Added in Content-Service:

Variable Name
Description
Default Value

kafka.dial.request.topic

Input Kafka Topic Name

{{ env_name }}.qrimage.request

dialcode.keyspace

Keyspace name to store dial code process details in Cassandra

dialcodes

Last updated