[docs] Add SchedulingClass operations guide#455
Conversation
Document the new SchedulingClass feature for restricting tenant workloads to specific nodes or failure domains. Covers the cozystack-scheduler installation, SchedulingClass CRD spec with examples (datacenter pinning, zone spreading, dedicated nodes), tenant assignment, auto-populated label selectors, and verification steps. Requires Cozystack v1.2+ and cozystack-scheduler v0.2.0+. Signed-off-by: Timofei Larkin <lllamnyp@gmail.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
✅ Deploy Preview for cozystack ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
📝 WalkthroughWalkthroughA new documentation page for SchedulingClass is added, covering the custom resource definition, mutating webhook behavior, Cozystack scheduler integration, prerequisites, installation instructions, configuration examples, auto-populated label selectors, and verification procedures. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a new documentation page that guides users on how to use the SchedulingClass feature in Cozystack. The guide explains how to configure and use SchedulingClasses to manage tenant workload placement, covering prerequisites, installation, configuration examples, and verification steps. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request adds a comprehensive guide for the new SchedulingClass feature. The documentation is well-structured, clear, and provides useful examples and verification steps. I have one suggestion to improve consistency in how the auto-populated label selectors are documented, which will enhance clarity for the user.
| the workload's Cozystack application identity labels (`apps.cozystack.io/application.group`, | ||
| `.kind`, `.name`). This means you can define generic spreading or anti-affinity |
There was a problem hiding this comment.
For clarity and consistency, it's better to list the full label keys here. The use of .kind and .name is confusing and inconsistent with the 'Auto-populated label selectors' section later in the document (lines 152-154), which lists the full keys. Using the full keys here will prevent any ambiguity for the reader.
| the workload's Cozystack application identity labels (`apps.cozystack.io/application.group`, | |
| `.kind`, `.name`). This means you can define generic spreading or anti-affinity | |
| the workload's Cozystack application identity labels (`apps.cozystack.io/application.group`, `apps.cozystack.io/application.kind`, `apps.cozystack.io/application.name`). This means you can define generic spreading or anti-affinity |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@content/en/docs/v1/operations/scheduling-classes.md`:
- Around line 79-83: The note uses ambiguous shorthand for Cozystack application
identity labels; update the sentence that lists
`apps.cozystack.io/application.group`, `.kind`, `.name` so it explicitly names
the full label keys instead of shorthand. Replace the shorthand with the full
keys `apps.cozystack.io/application.group`,
`apps.cozystack.io/application.kind`, and `apps.cozystack.io/application.name`
wherever the note mentions labelSelector or topologySpreadConstraint to match
the later documentation and ensure copy/paste safety.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 2f28a5ca-133b-4466-8ea1-17a808c4176e
📒 Files selected for processing (1)
content/en/docs/v1/operations/scheduling-classes.md
| When a `topologySpreadConstraint` or pod affinity/anti-affinity term has a nil | ||
| `labelSelector`, the scheduler automatically populates it with a selector matching | ||
| the workload's Cozystack application identity labels (`apps.cozystack.io/application.group`, | ||
| `.kind`, `.name`). This means you can define generic spreading or anti-affinity | ||
| policies without hard-coding label values per application. |
There was a problem hiding this comment.
Fix ambiguous label key notation in the note block.
apps.cozystack.io/application.group, .kind, .name reads like shorthand and can be misread as literal keys. Please list full keys explicitly (as you already do later in the doc) for consistency and copy/paste safety.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@content/en/docs/v1/operations/scheduling-classes.md` around lines 79 - 83,
The note uses ambiguous shorthand for Cozystack application identity labels;
update the sentence that lists `apps.cozystack.io/application.group`, `.kind`,
`.name` so it explicitly names the full label keys instead of shorthand. Replace
the shorthand with the full keys `apps.cozystack.io/application.group`,
`apps.cozystack.io/application.kind`, and `apps.cozystack.io/application.name`
wherever the note mentions labelSelector or topologySpreadConstraint to match
the later documentation and ensure copy/paste safety.
Document the new SchedulingClass feature for restricting tenant workloads to specific nodes or failure domains. Covers the cozystack-scheduler installation, SchedulingClass CRD spec with examples (datacenter pinning, zone spreading, dedicated nodes), tenant assignment, auto-populated label selectors, and verification steps.
Requires Cozystack v1.2+ and cozystack-scheduler v0.2.0+.
Summary by CodeRabbit