Skip to content

docs(helm): v7 upgrade guide #293

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: release/2.8
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions docs/enterprise-v2.8.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,22 @@ Compared to the [2.7.2](/enterprise-v2.7#2_7_2) release:
* timeplus_connector 2.2.8. No changes.
* timeplus cli 1.2.12. No changes.

Upgrade Instructions:
#### Upgrade Instructions

In 2.8, we changed the default way to save metadata. It's recommended to test the 2.8.0 with a fresh installation. We will provide a migration tool to help users migrate previous releases to 2.8.
Prior to Timeplus Enterprise 2.8, we use an internal KV store to persist the metadata for Timeplus appserver and connector. To simplify the architecture, starting from Timeplus Enterprise 2.8, we are deprecating the KV store and use a mutable stream (`neutron._timeplus_appserver_metastore`) to store those data. The KV store will be completely removed in the next 2.9 release.

The core functionality of the Timeplus Enterprise will still work even if you don't migrate the metadata. If you match all the conditions below, you can safely skip the migration:

1. All the resources are created via SQL or through timeplusd directly. No resources are created via Timeplus web console or Timeplus appserver REST API.
2. You don't use sources, sinks, dashboards, or alerts.

If you are still not sure, here are the things that would be broken without migration:
1. Sources, sinks, dashboards, alerts will be lost.
2. Some metadata such as descriptions, owner of the resource will be lost. It won't impact the functionality of the resource though.
3. Workspace setting will be lost.
4. Query history will be lost.

For Kubernetes users, please follow [the guide](/k8s-helm#v6-to-v7) to do the migration.

#### Known issues {#known_issue_2_8_0}
1. Direct upgrades from version 2.3 or earlier are not supported. Please perform a clean installation of 2.7.x and utilize [timeplus sync](/cli-sync) CLI or [Timeplus External Stream](/timeplus-external-stream) for data migration.
Expand Down
34 changes: 34 additions & 0 deletions docs/k8s-helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,40 @@ There are a lot of other configurations available to customize the deployment. S

## Upgrade guide

### v6 to v7
:::info
[Timeplus Enterprise 2.7](/enterprise-v2.7)'s helm chart versions are v6.0.x.
[Timeplus Enterprise 2.8](/enterprise-v2.8)'s helm chart versions are v7.0.x.
:::

By default, the v7 helm chart is configured to use new mutable stream based KV store. If you've decided not to run the migration, you can just use `helm upgrade` to upgrade the chart.

If you have decided to run the migration, here are the steps to follow:

1. Update the `values.yaml` to enable Timeplus CLI and disable both Timeplus connector and appserver
```yaml
timeplusCli:
enabled: true

timeplusConnector:
enabled: false

timeplusAppserver:
enabled: false
```
2. Use `helm -n $NS upgrade $RELEASE timeplus/timeplus-enterprise --version v7.x.x` to upgrade your Timeplus Enterprise deployment with v7 chart.
3. Use `kubectl -n $NS get pods` to check the status of the pods. Please make sure that:
1. `timeplusd` pods has been upgraded to 2.8.x
2. `timeplus-appserver` pod is terminated
3. `timeplus-connector` pod is terminated
4. `timeplus-cli` pod is up and running
4. Run `kubectl -n $NS exec timeplus-cli -it -- /bin/bash`
5. Run `./bin/timeplus migrate kv --host timeplusd-0.timeplusd-svc.<namespace>.svc.cluster.local -p <password>`
1. Replace `<namespace>` with the namespace that Timeplus Enterprise is deployed to
2. Replace `<password>` with the admin password. If you haven't customized it via `values.yaml`, please use the default password `timeplusd@t+`
6. Wait until the command above finishes. It should be very fast. In case of any error, please contact Timeplus support.
7. Once migration succeed, you can revert the `values.yaml` change you have done for step 1 and run `helm upgrade` to apply the change.

### v5 to v6
:::info
[Timeplus Enterprise 2.6](/enterprise-v2.6)'s helm chart versions are v5.0.x.
Expand Down