WIP: Add 'index graph' subcommand for graphviz output
Description of the change:
This PR is a port of https://github.com/joelanford/olm-index-graph as a new opm index graph subcommand.
Motivation for the change:
As an operator author, I need tooling for visualizing the upgrade graph+channels (and across indexes) to determine that I’ve gotten my upgrade path correct.
Reviewer Checklist
- [ ] Implementation matches the proposed design, or proposal is updated to match implementation
- [ ] Sufficient unit test coverage
- [ ] Sufficient end-to-end test coverage
- [ ] Docs updated or added to
/docs - [ ] Commit messages sensible and descriptive
TODO
- [ ] Re-use and/or re-purpose
Packageinstead of introducingGraphPackage? - [ ] Introduce
Packageinterface. Suggestions on what interface methods should exist? - [ ] Support for graphing multiple indices?
- [ ] Remove support for building graph directly from database file provided on command line?
- [ ] Add tests
- [ ] Add docs
Any other feedback?
@joelanford: The following test failed, say /retest to rerun all failed tests:
| Test name | Commit | Details | Rerun command |
|---|---|---|---|
| ci/prow/e2e-aws | fc114e7174bd14ea527725bbbffa6820c9e5515d | link | /test e2e-aws |
Full PR test history. Your PR dashboard.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.
To test this out:
make bin/opm
./bin/opm index graph quay.io/operator-framework/upstream-community-operators:latest -o upstream-community-operators.db.dot
dot upstream-community-operators.db.dot -Tsvg -o upstream-community-operators.db.svg
firefox upstream-community-operators.db.svg
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ecordell, joelanford
The full list of commands accepted by this bot can be found here.
The pull request process is described here
- ~~OWNERS~~ [ecordell]
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
@joelanford: PR needs rebase.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
@joelanford I'm guessing you're not working on this actively now. Closing this to reduce PR review request noise.