Skip to content

Commit

Permalink
Add druid update version docs
Browse files Browse the repository at this point in the history
Signed-off-by: Tapajit Chandra Paul <[email protected]>
  • Loading branch information
tapojit047 committed Oct 18, 2024
1 parent f8cdddf commit e74acb0
Show file tree
Hide file tree
Showing 13 changed files with 420 additions and 7 deletions.
2 changes: 1 addition & 1 deletion docs/guides/druid/backup/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ menu:
identifier: guides-druid-backup
name: Backup & Restore
parent: guides-druid
weight: 40
weight: 50
menu_name: docs_{{ .version }}
---
2 changes: 1 addition & 1 deletion docs/guides/druid/clustering/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ menu:
identifier: guides-druid-clustering
name: Druid Clustering
parent: guides-druid
weight: 20
weight: 30
menu_name: docs_{{ .version }}
---
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Druid Topology Cluster Guide
menu:
docs_{{ .version }}:
identifier: guides-druid-clustering-topology-cluster-guide
name: Druid Group Replication Guide
name: Druid Topology Cluster Guide
parent: guides-druid-clustering
weight: 20
menu_name: docs_{{ .version }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Druid Topology Cluster Overview
menu:
docs_{{ .version }}:
identifier: guides-druid-clustering-topology-cluster-overview
name: Druid Group Replication Overview
name: Druid Topology Cluster Overview
parent: guides-druid-clustering
weight: 15
menu_name: docs_{{ .version }}
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/druid/concepts/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ menu:
identifier: guides-druid-concepts
name: Concepts
parent: guides-druid
weight: 15
weight: 20
menu_name: docs_{{ .version }}
---
4 changes: 2 additions & 2 deletions docs/guides/druid/configuration/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ title: Run Druid with Custom Configuration
menu:
docs_{{ .version }}:
identifier: guides-druid-configuration
name: Configuration
name: Custom Configuration
parent: guides-druid
weight: 25
weight: 40
menu_name: docs_{{ .version }}
---
10 changes: 10 additions & 0 deletions docs/guides/druid/update-version/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Update Version
menu:
docs_{{ .version }}:
identifier: guides-druid-update-version
name: UpdateVersion
parent: guides-druid
weight: 60
menu_name: docs_{{ .version }}
---
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 53 additions & 0 deletions docs/guides/druid/update-version/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: Update Version Overview
menu:
docs_{{ .version }}:
identifier: guides-druid-update-version-overview
name: Overview
parent: guides-druid-update-version
weight: 10
menu_name: docs_{{ .version }}
section_menu_id: guides
---
> New to KubeDB? Please start [here](/docs/README.md).
# Druid Update Version Overview

This guide will give you an overview on how KubeDB Ops-manager operator update the version of `Druid`.

## Before You Begin

- You should be familiar with the following `KubeDB` concepts:
- [Druid](/docs/guides/druid/concepts/druid.md)
- [DruidOpsRequest](/docs/guides/druid/concepts/druidopsrequest.md)

## How update version Process Works

The following diagram shows how KubeDB Ops-manager operator used to update the version of `Druid`. Open the image in a new tab to see the enlarged version.

<figure align="center">
  <img alt="updating Process of Druid" src="/docs/guides/druid/update-version/images/dr-update-version.png">
<figcaption align="center">Fig: updating Process of Druid</figcaption>
</figure>

The updating process consists of the following steps:

1. At first, a user creates a `Druid` Custom Resource (CR).

2. `KubeDB` Provisioner operator watches the `Druid` CR.

3. When the operator finds a `Druid` CR, it creates required number of `PetSets` and related necessary stuff like secrets, services, etc.

4. Then, in order to update the version of the `Druid` database the user creates a `DruidOpsRequest` CR with the desired version.

5. `KubeDB` Ops-manager operator watches the `DruidOpsRequest` CR.

6. When it finds a `DruidOpsRequest` CR, it halts the `Druid` object which is referred from the `DruidOpsRequest`. So, the `KubeDB` Provisioner operator doesn't perform any operations on the `Druid` object during the updating process.

7. By looking at the target version from `DruidOpsRequest` CR, `KubeDB` Ops-manager operator updates the images of all the `PetSets`.

8. After successfully updating the `PetSets` and their `Pods` images, the `KubeDB` Ops-manager operator updates the image of the `Druid` object to reflect the updated state of the database.

9. After successfully updating of `Druid` object, the `KubeDB` Ops-manager operator resumes the `Druid` object so that the `KubeDB` Provisioner operator can resume its usual operations.

In the next doc, we are going to show a step by step guide on updating of a Druid database using updateVersion operation.
Loading

0 comments on commit e74acb0

Please sign in to comment.