-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
enhancement(vdev): Inject labels block to ComposeConfig #17063
Conversation
✅ Deploy Preview for vector-project ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
❌ Deploy Preview for vrl-playground failed.
|
@@ -129,6 +129,32 @@ pub trait ContainerTestRunner: TestRunner { | |||
Ok(RunnerState::Missing) | |||
} | |||
|
|||
fn labels(&self) -> Result<BTreeMap<String, String>> { |
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.
Haven't tested this yet fully, hence this is marked as a draft. However I am curious if the general step of reading from command.check_output().lines()
is what we expect.
Would also like suggestions on what the return value should be
Datadog ReportBranch report: ✅ |
Regression Detector ResultsRun ID: 9dc71497-2210-4080-a01b-5cfc3778d2c9 ExplanationA regression test is an integrated performance test for The table below, if present, lists those experiments that have experienced a statistically significant change in mean optimization goal performance between baseline and comparison SHAs with 90.00% confidence OR have been detected as newly erratic. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±5.00% change in their mean optimization goal are discarded. An experiment is erratic if its coefficient of variation is greater than 0.1. The abbreviated table will be omitted if no interesting change is observed. Changes in experiment optimization goals with confidence ≥ 90.00% and |Δ mean %| ≥ 5.00%:
Fine details of change detection per experiment.
|
This work will be paused as it will wait on the progress of implementing the Runner block first. |
Problem
Injecting labels to the temporary compose file we generate
Solution
To avoid modifying every compose config file, the solution is to load and parse the compose file in vdev, inject the labels, and write it to a temporary file before launching docker-compose. The main changes made in this PR are:
labels
field to theComposeService
struct inconfig.rs
.inject_labels
function inintegration.rs
, which adds the required labels to the compose configuration.labels
method inrunner.rs
to collect labels from the process list provided bydocker ps --all
.By implementing these changes, we can now inject labels into the configuration and store state data without having to modify every compose file.
Testing
Currently testing is done by ensuring the changes don't break any integration tests in CI
Related Issues