-
Notifications
You must be signed in to change notification settings - Fork 0
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
Discovery #102
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
maltesander
approved these changes
Jan 13, 2022
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.
bors merge |
bors bot
added a commit
that referenced
this pull request
Jan 13, 2022
102: Discovery r=fhennig a=fhennig ## Description - Added discovery to druid: The SQL connect string is written to a config map - Fixed the role services - they were referencing a port by name that doesn't have that name anymore Co-authored-by: Felix Hennig <[email protected]> Co-authored-by: Felix Hennig <[email protected]>
Build failed: |
bors merge |
bors bot
added a commit
that referenced
this pull request
Jan 14, 2022
102: Discovery r=fhennig a=fhennig ## Description - Added discovery to druid: The SQL connect string is written to a config map - Fixed the role services - they were referencing a port by name that doesn't have that name anymore Co-authored-by: Felix Hennig <[email protected]> Co-authored-by: Felix Hennig <[email protected]>
Build failed: |
5 tasks
bors merge |
Build succeeded: |
bors bot
pushed a commit
to stackabletech/superset-operator
that referenced
this pull request
Feb 1, 2022
## Description This PR refactors the init process and adds a new custom resource for druid connections. The Init resource is now called SupersetDB and also tracks a status. it is first `Provisioned`. If possible (secret also deployed) a kubernetes `Job` is started and the status of the CR becomes `Initializing`. The job is watched, and depending on whether it successfully completes or not, the SupersetDB also becomes `Ready` or `Failed` respectively. This change allows us to also depend on the DB being ready (or not). This is necessary for writing the druid connection information into the DB. A new CRD is introduced: `DruidConnection`. It holds information about the superset DB it should write to, and the Druid cluster that should be connected. A new controller watches the discovery config map as well as the superset DB resources. Once all the dependencies are there (and `Ready`) a job is started, and the status is updated, just like it is done for the `SupersetDB`. This is in line with the declarative philosophy of k8s; the spec reflects the desired state and the status tracks the actual underlying cluster. Also, with multiple controllers watching object states, control flow is delegated a bit to the API server. Before we were watching the job state manually, now we react to status changes which are given to us by the API server. The controllers only react to object changes. This PR also relies on the Druid Discovery PR stackabletech/druid-operator#102 What wasn't done: If the DruidConnection resource is deleted, the actual connection is not deleted. The issue doesn't say that this is necessary, and there is no obvious, documented way to delete data sources from the commandline, we'd have to go into the database and delete stuff there. On the controller side we can use a [finalizer](https://github.com/kube-rs/kube-rs/blob/d90ee9706923ceddf94c3d50928bc390543af2fc/examples/secret_syncer.rs#L92-L102). Co-authored-by: Felix Hennig <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Review Checklist
Once the review is done, comment
bors r+
(orbors merge
) to merge. Further information