-
Notifications
You must be signed in to change notification settings - Fork 11
Create pipeline element status tables #135
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
Merged
Merged
Conversation
This file contains hidden or 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
These new tables supplement additional information about pipeline elements based on their K8s statuses.
dcb20e0
to
a23d530
Compare
jogrogan
reviewed
May 8, 2025
hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sPipelineElementMapTable.java
Show resolved
Hide resolved
ryannedolan
approved these changes
May 8, 2025
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.
🔥 🔥 🔥
hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sPipelineElement.java
Outdated
Show resolved
Hide resolved
hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sPipelineElementApi.java
Outdated
Show resolved
Hide resolved
hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sPipelineElementApi.java
Show resolved
Hide resolved
hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sPipelineElementMapEntry.java
Outdated
Show resolved
Hide resolved
hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sPipelineElementMapTable.java
Outdated
Show resolved
Hide resolved
hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sPipelineElementMapTable.java
Show resolved
Hide resolved
hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sPipelineTable.java
Outdated
Show resolved
Hide resolved
|
||
!ok | ||
|
||
select pl.name as pipeline_name, pl.status as pipeline_status, pe.element_name, pe.failed as element_failed from "k8s".pipelines pl inner join (select t2.element_name, t1.failed, t2.pipeline_name from "k8s".pipeline_elements t1 inner join "k8s".pipeline_element_map t2 on t1.name = t2.element_name) pe on pl.name = pe.pipeline_name; |
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 is amazing!
d504bcf
to
4bf6896
Compare
ryannedolan
pushed a commit
that referenced
this pull request
May 13, 2025
* Create pipeline element status tables These new tables supplement additional information about pipeline elements based on their K8s statuses.
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.
Problem & Solution Overview
Currently users can only see statuses of pipelines through the "k8s".pipelines metadata table but there are cases, such as debugging, where they would like to see more details of the elements deployed for the pipelines. As of now, they need do multiple Kubernetes queries directly to get those information.
This PR is to provide a more convenient way to get status of pipelines and their direct elements by:
In the future, the above tables can be expanded to provide statuses of indirect elements, i.e. the ones deployed based on spec fields of other elements.
Testing Done
Integration test: com.linkedin.hoptimator.k8s.TestSqlScripts.k8sMetadataTables
Manual verification with the hoptimator cli:
deploy dev environment
create a couple of pipelines
verify statuses of pipelines and their elements by querying "k8s".pipelines and the new tables "k8s".pipeline_elements and "k8s".pipeline_element_map, e.g.: