-
Notifications
You must be signed in to change notification settings - Fork 56
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
graph-builder: use openshift/cincinnati-graph-data instead of quay labels #232
graph-builder: use openshift/cincinnati-graph-data instead of quay labels #232
Conversation
9c82118
to
7efc17b
Compare
/retest |
1 similar comment
/retest |
7efc17b
to
d29f684
Compare
We're now using prod metadata - but tests are still using channels "a" and "b" |
Note that we're only using prod secondary metadata, while using test primary metadata 😄 When I started working on a solution for this locally, I stumbled upon a real issue:
Our default delay of 30 seconds is too short for GitHub's API, the good news is we're not that far away:
I.e., raising the delay to 60 seconds, assuming our deployments have different IPs, will do it until we have authentication against the GitHub API. If we have consensus I will raise the delay to 60 in this PR as well. |
SGTM, perhaps we should invest into token support (most likely we'll use that on stage / prod anyway) |
Definitely a mid-term goal, but I wouldn't block on it, as I think 60s, or even 120s is a small duration compared to the release frequency and the cluster sync frequency. |
As per @LalatenduMohanty comment I have changed my opinion on blocking on authentication. The comment reminded me of our intention to follow best continuous delivery practices, which means that we shouldn't compromise our quality in master (which feeds stage) if not necessary. I implemented authentication in a new commit. Now we need to get secrets for CI, staging and production and wire them through in the deployment templates. |
4c4d0a0
to
0cba757
Compare
27a69e4
to
6261258
Compare
graph-builder/src/plugins/github_openshift_secondary_metadata_scraper/plugin.rs
Outdated
Show resolved
Hide resolved
b7287c4
to
374778c
Compare
Amending to my previous comment, we're not dealing with actual fluctuation of the CI, but I'm certain that this PR doesn't degrade the the performance of the Cincinnati stack either. This PR does change the e2e deployment to use production data, which is the likely cause of performance changes. |
/retest |
This LGTM, lets squash in a single commit |
* GithubOpenshiftSecondaryMetadataScraperPlugin: fix path in debug output Unpacking happens to a tmpdir and not to the final output_directory. Reflect this in the debug message. * GithubOpenshiftSecondaryMetadataScraperPlugin: add revision setting When `revision` is set, the plugin will try to download this revision from the configured repository instead of looking up the latest one. * GithubOpenshiftSecondaryMetadataScraperPlugin: fix should_update evaluation Only download if the wanted and completed commits *do not* match. Previously this has been mistakenly inverted. * GithubOpenshiftSecondaryMetadataScraperPlugin: make directory handling safe and robust This changes the plugin create and use two temproary directories inside the given output directory; one per extraction and final output respectively. The path of the final output directory is passed through the following plugin via the IO parameters at the key defined with the public variable `GRAPH_DATA_DIR_PARAM_KEY`. With this change, the plugin only touches files within the configured output directory, while never removing any pre-existing files, which it both previously did. Also the unit test is changed to call the plugin twice, to ensure the plugin does not fail on subsequent runs. * OpenshiftSecondaryMetadataParserPlugin: lookup data directory in parameters The data directory found in the IO parameters, if found, has precedence over the configured data directory.
…ondaryMetadataParser We want to use an OpenShift specific default value for the key_prefix setting. However, using a default value for the key_prefix string which is not the default for the string type, which would be the empty string, is not intuitive. This can be alleviated by making the default value a publicly expose constant and thus make it transparent.
…bstract releases This switches to using the `Graph`'s implementation of `Eq` for comparison and exludes abstract releases in the edge debug output.
d900722
to
814bee1
Compare
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
🎉
/hold I am still going through the PR |
I previously assumed the dev-dependency would refer to the version of the same dependency from the regular dependency list. According to this error my assumption was wrong. ``` cincinnati/Cargo.toml: dependency (prettydiff) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions ``` For now I don't see a better way than to manage these versions separately, while bumping them in lockstep.
* graph-builder: by default use openshift/cincinnati-graph-data instead of quay labels This configures the graph-builder binary to by default use the GithubOpenshiftSecondaryMetadataScraperPlugin and the OpenshiftSecondaryMetadataParserPlugin in conjunction to use https://github.com/openshift/cincinnati-graph-data as the new source for secondary metadata. It also removes the NodeRemovePlugin because it's not envisioned to be used within the secondary metadata schema. * tests/e2e: test with cincinnati-graph-data This switches the e2e test to verifying the a Cincinnati stack which is configured to fetch metadata from a specific revision of the cincinnati-graph-data repository [0]. Also change the test to reuse the cincinnati graph comparison functionality which offers a helpful human readable failure output. [0]: https://github.com/openshift/cincinnati-graph-data * dist/openshift: scrape secondary metadata from github This changes the OpenShift template plugin configuration to use the GitHub scraper plugins by default.
* Justfile: configure scraping from GitHub and add e2e recipes * Justfile: refactor graph-builder arguments to global variables This makes it easier to override variables for the `run-graph-builder` and related recipes where it is a transitive dependency.
The previous change to using production data in the e2e graph-builder configuration had a significant impact on the load balancing test results. Until we have better tracing capabilities we simply lower the expectations.
814bee1
to
a8cddc8
Compare
Just reworded a commit message, no content changes: $ git diff 814bee1 a8cddc8 | wc -l
0 |
/hold cancel |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: LalatenduMohanty, steveeJ, vrutkovs The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This configures the graph-builder binary to use the
GithubOpenshiftSecondaryMetadataScraperPlugin and the
OpenshiftSecondaryMetadataParserPlugin in conjunction to use
https://github.com/openshift/cincinnati-graph-data as the new source for
secondary metadata.