-
Notifications
You must be signed in to change notification settings - Fork 1.4k
NO-ISSUE: Generate the agent systemd diagrams from the unit files #10052
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
base: main
Are you sure you want to change the base?
Conversation
Convert the agent installer service workflow diagrams from PNG to maintainable GraphViz DOT format. This allows the diagrams to be edited as text files rather than requiring image editing tools. Changes: - Add GraphViz DOT source files for all four workflows - Add Makefile to generate PNGs from DOT sources - Add README with build and editing instructions - Regenerate all PNG files from DOT sources The new workflow enables easier maintenance and collaboration: cd docs/user/agent/diagrams edit *.dot files make Assisted-by: Claude Code
Replace manually-maintained GraphViz DOT files with an auto-generation system that parses systemd unit files and generates diagrams showing service dependencies and workflow structure. Key features: - Parses systemd units from data/data/agent/systemd/units - Extracts Before/After dependencies for edges - Infers cluster membership from PartOf/BindsTo relationships - Filters services by workflow based on discriminator files - Shows file creation during workflows (node-zero creates node0, etc) - Auto-detects disconnected services and marks with thin borders - Auto-computes workflow differences (add-nodes vs install) - Maintains consistent layout with invisible edge chains Only a small number of exceptions are hardcoded: - load-config-iso@ triggered by udev (unconfigured_ignition only) - 99-agent-copy-files.sh excluded from interactive (agent-extract-tui provides tui) - agent-interactive-console services disabled in unconfigured-ignition Assisted-by: Claude Code
|
@zaneb: This pull request explicitly references no jira issue. In response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
|
/approve Really nice work @zaneb ! I think the graphical is definitely better than the hand-written ones 🤣. And agree that the ability to generate them automatically is definitely worth it. Maybe we should add also some info on how to regenerate the script in future, in case something is going to change? |
When systemd unit [Unit] sections are modified, the agent installer service diagrams need to be regenerated. This CLAUDE.md file provides directory-specific instructions for Claude Code to run the appropriate make command when making such changes. Assisted-by: Claude Code
Updated Makefile and all documentation references accordingly. Assisted-by: Claude Code
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: andfasano 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 |
Done. |
|
@zaneb: The following tests failed, say
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-sigs/prow repository. I understand the commands that are listed here. |
|
/cc @pawanpinjarkar |
|
@zaneb: The In response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
Automatically generate the graph of systemd unit interactions, so that it can automatically reflect changes.
The result is considerably uglier than the hand-drawn originals, but on balance I think knowing that they really reflect what is in the code (not just what we think should be in the code) is worth it.
Needless to say, I did not write any of this script myself.