-
Notifications
You must be signed in to change notification settings - Fork 199
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
Integrate BanyanDB as storage solution #126
Conversation
# under the License. | ||
|
||
apiVersion: apps/v1 | ||
kind: Deployment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be a statefulset.
CHANGES.md
Outdated
@@ -14,6 +14,7 @@ Release Notes. | |||
- Use startup probe option for first initialization of application | |||
- Allow setting env for UI deployment. | |||
- Add Istio ServiceEntry permissions. | |||
- Integrate BanyanDB as storage solution |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4.5.0 is released, please don't change the changelog here, add a new section for 4.6.0
Let's update the readme in the root. There are a lot of ElasticSearch docs there, you are setting up new storage, so you should refer to them. |
Okay, I got it. |
test/e2e/e2e.yaml
Outdated
@@ -55,7 +53,9 @@ setup: | |||
--set ui.image.tag=$UI_TAG \ | |||
--set oap.image.repository=$OAP_REPO \ | |||
--set oap.image.tag=$OAP_TAG \ | |||
--set oap.storageType=elasticsearch \ | |||
--set oap.storageType=banyandb \ | |||
--set elasticsearch.enabled=false \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both ES and BanyanDB should be covered by e2e tests.
chart/banyandb/Chart.yaml
Outdated
# A chart can be either an 'application' or a 'library' chart. | ||
# | ||
# Application charts are a collection of templates that can be packaged into versioned archives | ||
# to be deployed. | ||
# | ||
# Library charts provide useful utilities or functions for the chart developer. They're included as | ||
# a dependency of application charts to inject those utilities and functions into the rendering | ||
# pipeline. Library charts do not define any templates and therefore cannot be deployed. | ||
type: application | ||
|
||
# This is the chart version. This version number should be incremented each time you make changes | ||
# to the chart and its templates, including the app version. | ||
# Versions are expected to follow Semantic Versioning (https://semver.org/) | ||
version: 0.1.0 | ||
|
||
# This is the version number of the application being deployed. This version number should be | ||
# incremented each time you make changes to the application. Versions are not expected to | ||
# follow Semantic Versioning. They should reflect the version the application is using. | ||
# It is recommended to use it with quotes. | ||
appVersion: "1.16.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's clean up the comments in this file, most of the comments are not necessary
chart/skywalking/Chart.yaml
Outdated
- name: banyandb | ||
version: 0.1.0 | ||
repository: file://../banyandb | ||
condition: banyandb.enabled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this doesn't work (?) when we release the skywalking Chart to Docker hub, using this installation method https://github.com/apache/skywalking-kubernetes#install-released-version-using-docker-helm-repository--430
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What should I change the repo to? Something like oci://registry-1.docker.io/apache/skywalking-banyandb-helm?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hold due to new repo should be created.
Mail list, https://lists.apache.org/thread/l6c9s5t2opljbrs5fsd6xs42nh4lh7bn
@ButterBright Please reach @hanahmily for more context. And most of your PR should be reusable.
New repo created, please move your helm charts there, https://github.com/apache/skywalking-banyandb-helm |
I see. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
chart/skywalking/Chart.yaml
Outdated
@@ -38,3 +38,7 @@ dependencies: | |||
version: 12.1.2 | |||
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami | |||
condition: postgresql.enabled | |||
- name: skywalking-banyandb-helm | |||
version: 0.0.0-67df1c7 | |||
repository: oci://ghcr.io/apache/skywalking-banyandb-helm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we could use this as the final release. We should request for docker hub repository, and do a release for banyandb helm. @hanahmily
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because we deploy skywalking chart snapshot to ghcr so this makes sense in main branch but have to remember to change to a released one for banyandb chart before releasing. This also implies that a skywalking chart release depends on a banyandb release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense to me. We will release the banyandb helm once the cluster mode is supported later. @ButterBright please make a note of this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because we deploy skywalking chart snapshot to ghcr so this makes sense in main branch but have to remember to change to a released one for banyandb chart before releasing. This also implies that a skywalking chart release depends on a banyandb release.
For me, the concern is, that we don't release helm
repo in high frequency, so, most likely we definitely will lose track and release the next helm with this snapshot repository.
This PR is never urgent, so, if you feel the BanyanDB helm repo is ready to release, please go ahead to do so. I believe no matter banyandb helm repo is relying on BanyanDB server 0.5 release or not, it is close to be ready.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense to me. We will release the banyandb helm once the cluster mode is supported later. @ButterBright please make a note of this.
Okay.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because we deploy skywalking chart snapshot to ghcr so this makes sense in main branch but have to remember to change to a released one for banyandb chart before releasing. This also implies that a skywalking chart release depends on a banyandb release.
For me, the concern is, that we don't release
helm
repo in high frequency, so, most likely we definitely will lose track and release the next helm with this snapshot repository.This PR is never urgent, so, if you feel the BanyanDB helm repo is ready to release, please go ahead to do so. I believe no matter banyandb helm repo is relying on BanyanDB server 0.5 release or not, it is close to be ready.
Let's wait for banyandb's first official release then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed. @ButterBright, could you please release the banyandb helm chart version 0.1.0? @kezhenxu94, would you kindly guide them through the process?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed. @ButterBright, could you please release the banyandb helm chart version 0.1.0? @kezhenxu94, would you kindly guide them through the process?
Reach out to me if there is any help I can offer, btw, it's too troublesome to ask a non-committer to release, even it's a committer who is releasing, one of the steps in release process still needs a PMC member to help, so basically there is few stuff can be done by @ButterBright to propose a release yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can't accept non committer to do a release. Because ASF requires apache ID and his/her sign based on that.
@hanahmily You need to take the responsibility to be release manager.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will take care of the release
image: curlimages/curl | ||
imagePullPolicy: IfNotPresent | ||
command: ['sh', '-c', 'for i in $(seq 1 60); do curl {{ $banyandbHost }}:{{ .Values.banyandb.config.httpPort }}/api/healthz && exit 0 || sleep 5; done; exit 1'] | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
test/e2e/setup-e2e-shell/install.sh
Outdated
@@ -27,9 +27,9 @@ CURRENT_DIR="$(cd "$(dirname $0)"; pwd)" | |||
# prepare base dir | |||
TMP_DIR=/tmp/skywalking-infra-e2e | |||
BIN_DIR=/usr/local/bin | |||
mkdir -p $TMP_DIR && cd $TMP_DIR | |||
mkdir -p $TMP_DIR && cd $TMP_DIR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mkdir -p $TMP_DIR && cd $TMP_DIR | |
mkdir -p $TMP_DIR && cd $TMP_DIR |
@@ -25,6 +25,5 @@ HELMVERSION=${HELMVERSION:-'helm-v3.0.0'} | |||
|
|||
if ! command -v helm &> /dev/null; then | |||
mkdir -p $BASE_DIR/helm && cd $BASE_DIR/helm | |||
curl -sSL https://get.helm.sh/${HELMVERSION}-linux-amd64.tar.gz | |||
tar xz -C $BIN_DIR --strip-components=1 linux-amd64/helm | |||
curl -sSL https://get.helm.sh/${HELMVERSION}-linux-amd64.tar.gz | tar xz -C $BIN_DIR --strip-components=1 linux-amd64/helm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The |
pipeline seems to be unnecessary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unblock
@innerpeacez Please recheck. |
README.md
Outdated
|
||
```shell | ||
export REPO=chart | ||
git clone https://github.com/apache/skywalking-kubernetes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
git clone https://github.com/apache/skywalking-kubernetes | |
git clone https://github.com/apache/skywalking-helm |
README.md
Outdated
```shell | ||
export REPO=chart | ||
git clone https://github.com/apache/skywalking-kubernetes | ||
cd skywalking-kubernetes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cd skywalking-kubernetes | |
cd skywalking-helm |
.github/workflows/e2e.ci.yaml
Outdated
- name: Run Skywalking E2E Test (Elasticsearch as database) | ||
uses: apache/skywalking-infra-e2e@45584853d6f660102c523b1e9cb5815d12ae55d3 | ||
with: | ||
e2e-file: $GITHUB_WORKSPACE/test/e2e/e2e.yaml | ||
e2e-file: $GITHUB_WORKSPACE/test/e2e/e2e-elasticsearch.yaml | ||
- name: Run Skywalking E2E Test (BanyanDB as database) | ||
uses: apache/skywalking-infra-e2e@45584853d6f660102c523b1e9cb5815d12ae55d3 | ||
with: | ||
e2e-file: $GITHUB_WORKSPACE/test/e2e/e2e-banyandb.yaml | ||
- name: Run SWCK E2E Test | ||
uses: apache/skywalking-infra-e2e@afdf1cca0519d65bc480d8680b7a27f9b41fc421 | ||
with: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should run e2e in the parallel mode. You could ref the main repo skywalking.yml to use matrix
to define name
and config
.
You need to resolve the conflicts, maybe your local branch is not up-to-date? |
Oh yeah, I see. |
Please check the task names, they have the same recent suffix. They should have meaningful suffix, such as banyandb, swck... |
Can I simply make it the same as e2e test name? For example, Run Skywalking E2E Test (Elasticsearch as database), which I think also makes sense. |
Oops, yes, please do that. I accidentally merge this. Please open another PR to rename. @ButterBright |
Integrate BanyanDB as storage solution.