Skip to content

feat: provide hardware profile#161

Open
gdzamg wants to merge 1 commit intomasterfrom
feat/add-hardware-profile
Open

feat: provide hardware profile#161
gdzamg wants to merge 1 commit intomasterfrom
feat/add-hardware-profile

Conversation

@gdzamg
Copy link

@gdzamg gdzamg commented Mar 24, 2026

Summary by CodeRabbit

  • Documentation
    • Added comprehensive Hardware Profile documentation covering introduction, management workflows (create, update, delete), and practical guides for CPU/GPU configurations, CLI setup, and GPU node scheduling.

@coderabbitai
Copy link

coderabbitai bot commented Mar 24, 2026

Walkthrough

This pull request adds comprehensive documentation for Hardware Profile functionality in infrastructure management, covering introduction, workflows, configuration guides, and CLI-based creation procedures for managing hardware configurations in Kubernetes-based inference services.

Changes

Cohort / File(s) Summary
Hardware Profile Overview
docs/en/infrastructure_management/hardware_profile/index.mdx, docs/en/infrastructure_management/hardware_profile/intro.mdx
Introduction and root-level documentation pages defining Hardware Profile concepts, resource identifiers, scheduling constraints, validation mechanisms, and their role in inference service deployments.
Functional Guides
docs/en/infrastructure_management/hardware_profile/functions/index.mdx, docs/en/infrastructure_management/hardware_profile/functions/hardware_profile.mdx
End-to-end workflows for creating, updating, and deleting hardware profiles, including resource definition, node selector configuration, toleration setup, and profile application during inference service deployment.
How-To Guides
docs/en/infrastructure_management/hardware_profile/how_to/index.mdx, docs/en/infrastructure_management/hardware_profile/how_to/create_hardware_profile_cli.mdx, docs/en/infrastructure_management/hardware_profile/how_to/cpu_and_gpu_profiles.mdx, docs/en/infrastructure_management/hardware_profile/how_to/schedule_to_specific_gpu_nodes.mdx
Task-focused guides covering CLI-based profile creation, CPU and GPU profile examples with YAML manifests, and scheduling strategies using node selectors and tolerations.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~4 minutes

Suggested reviewers

  • zhaomingkun1030
  • typhoonzero

Poem

🐰 Hop, hop, the docs now shine so bright,
Hardware profiles guide with all their might,
From CPU to GPU, each config's true,
With tolerations and selectors too!
Infrastructure managed with rabbit delight! 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: provide hardware profile' directly summarizes the main change—adding comprehensive documentation for Hardware Profile functionality across multiple new documentation pages.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/add-hardware-profile

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@docs/en/infrastructure_management/hardware_profile/functions/hardware_profile.mdx`:
- Line 5: Update the document heading text that currently reads "Hardware
Profile Manage" to the corrected phrase "Hardware Profile Management" in the
heading line (the H1 that starts with "# Hardware Profile Manage") so the title
uses proper grammar; replace only the heading text and keep the surrounding
markdown syntax intact.

In
`@docs/en/infrastructure_management/hardware_profile/how_to/create_hardware_profile_cli.mdx`:
- Line 17: Update the prerequisite sentence that currently reads "You have a
namespace where you have permissions to view or create `HardwareProfile`
resources (typically a cluster-scoped resource or in a specific admin
namespace)" to state that `HardwareProfile` is a namespaced resource and users
must have permissions in the specific target namespace; reference the example
YAML's namespace (e.g., `namespace: kube-public`) as an example and remove the
"cluster-scoped" wording so the doc correctly requires namespace-level
permissions to view/create `HardwareProfile`.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5c407a22-b403-4c68-bdb7-0bd98f28d733

📥 Commits

Reviewing files that changed from the base of the PR and between 904d33b and 5838417.

📒 Files selected for processing (8)
  • docs/en/infrastructure_management/hardware_profile/functions/hardware_profile.mdx
  • docs/en/infrastructure_management/hardware_profile/functions/index.mdx
  • docs/en/infrastructure_management/hardware_profile/how_to/cpu_and_gpu_profiles.mdx
  • docs/en/infrastructure_management/hardware_profile/how_to/create_hardware_profile_cli.mdx
  • docs/en/infrastructure_management/hardware_profile/how_to/index.mdx
  • docs/en/infrastructure_management/hardware_profile/how_to/schedule_to_specific_gpu_nodes.mdx
  • docs/en/infrastructure_management/hardware_profile/index.mdx
  • docs/en/infrastructure_management/hardware_profile/intro.mdx

weight: 10
---

# Hardware Profile Manage
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix heading grammar.

Line 5 should read Hardware Profile Management (not “Hardware Profile Manage”).

✏️ Suggested text change
-# Hardware Profile Manage
+# Hardware Profile Management
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Hardware Profile Manage
# Hardware Profile Management
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@docs/en/infrastructure_management/hardware_profile/functions/hardware_profile.mdx`
at line 5, Update the document heading text that currently reads "Hardware
Profile Manage" to the corrected phrase "Hardware Profile Management" in the
heading line (the H1 that starts with "# Hardware Profile Manage") so the title
uses proper grammar; replace only the heading text and keep the surrounding
markdown syntax intact.


- You have access to a Kubernetes cluster with the platform installed.
- You have configured `kubectl` to communicate with your cluster.
- You have a namespace where you have permissions to view or create `HardwareProfile` resources (typically a cluster-scoped resource or in a specific admin namespace).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# First, locate and read the documentation file
find . -name "create_hardware_profile_cli.mdx" -type f

Repository: alauda/aml-docs

Length of output: 150


🏁 Script executed:

# Search for HardwareProfile CRD definitions in the repository
find . -type f \( -name "*.yaml" -o -name "*.yml" -o -name "*.json" \) | xargs grep -l "HardwareProfile" | head -20

Repository: alauda/aml-docs

Length of output: 41


🏁 Script executed:

# Also search for any infrastructure-related CRD or API definitions
find . -path "*/infrastructure*" -type f \( -name "*.yaml" -o -name "*.yml" \) | head -20

Repository: alauda/aml-docs

Length of output: 41


🏁 Script executed:

cat -n ./docs/en/infrastructure_management/hardware_profile/how_to/create_hardware_profile_cli.mdx | head -100

Repository: alauda/aml-docs

Length of output: 3085


🏁 Script executed:

# Search for any references to infrastructure.opendatahub.io or CRD definitions in docs
rg "infrastructure.opendatahub.io|HardwareProfile|apiVersion" docs/en/infrastructure_management/ -A 2 -B 2

Repository: alauda/aml-docs

Length of output: 4429


🌐 Web query:

OpenDataHub HardwareProfile CRD apiVersion scope namespaced

💡 Result:

The OpenDataHub HardwareProfile CRD has apiVersion: infrastructure.opendatahub.io/v1alpha1. It belongs to the group "infrastructure.opendatahub.io". The scope is Namespaced, as it is a standard Kubernetes CR created with kubebuilder without explicit Cluster scoping markers, used per-namespace for hardware configurations in Open Data Hub deployments. Plural name: hardwareprofiles, singular: hardwareprofile, kind: HardwareProfile.

Citations:


🌐 Web query:

infrastructure.opendatahub.io HardwareProfile v1 vs v1alpha1

💡 Result:

HardwareProfile is a Custom Resource Definition (CRD) in the infrastructure.opendatahub.io API group used in Open Data Hub (ODH) for defining hardware configurations like accelerators, CPU, memory for scheduling workloads such as workbenches and model serving. v1alpha1 vs v1: - v1alpha1: This is the alpha version of the API, defined in github.com/opendatahub-io/opendatahub-operator/v2/api/infrastructure/v1alpha1. It includes types like HardwareProfile, HardwareProfileSpec with fields for identifiers (CPU, Memory, Accelerator), scheduling spec (Queue or Node, with Kueue or node selectors), etc. GroupVersion: infrastructure.opendatahub.io/v1alpha1. - v1: Referenced in the PROJECT file at github.com/opendatahub-io/opendatahub-operator/blob/main/PROJECT as path: github.com/opendatahub-io/opendatahub-operator/v2/api/infrastructure/v1 version: v1 for kind: HardwareProfile. This appears to be the stable version, likely with refinements over v1alpha1 for production use. E2E tests cover both versions. No detailed schema for v1 found in searches, but the progression from v1alpha1 to v1 follows Kubernetes API versioning (alpha to stable). Official docs describe HardwareProfile usage without specifying version, managed via ODH dashboard (Settings > Hardware profiles). Similar to ODH's DataScienceCluster upgrade from v1alpha1 to v1. Differences likely include API stabilizations, validation rules, or additional fields in v1, but core purpose remains defining hardware specs for targeted scheduling with identifiers, resource limits, tolerations, node selectors.

Citations:


Correct HardwareProfile scope documentation.

Line 17 incorrectly describes HardwareProfile as "typically a cluster-scoped resource." The actual scope is namespaced, as confirmed by the CRD definition and the example YAML which includes namespace: kube-public. Update the prerequisite to reflect that users need permissions in their specific namespace, not cluster-level access.

✅ Suggested doc fix
-- You have a namespace where you have permissions to view or create `HardwareProfile` resources (typically a cluster-scoped resource or in a specific admin namespace).
+- You have permissions in the namespace where `HardwareProfile` resources are managed (for example, an admin namespace such as `kube-public`).
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- You have a namespace where you have permissions to view or create `HardwareProfile` resources (typically a cluster-scoped resource or in a specific admin namespace).
- You have permissions in the namespace where `HardwareProfile` resources are managed (for example, an admin namespace such as `kube-public`).
🧰 Tools
🪛 LanguageTool

[style] ~17-~17: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...tl` to communicate with your cluster. - You have a namespace where you have permiss...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@docs/en/infrastructure_management/hardware_profile/how_to/create_hardware_profile_cli.mdx`
at line 17, Update the prerequisite sentence that currently reads "You have a
namespace where you have permissions to view or create `HardwareProfile`
resources (typically a cluster-scoped resource or in a specific admin
namespace)" to state that `HardwareProfile` is a namespaced resource and users
must have permissions in the specific target namespace; reference the example
YAML's namespace (e.g., `namespace: kube-public`) as an example and remove the
"cluster-scoped" wording so the doc correctly requires namespace-level
permissions to view/create `HardwareProfile`.

@cloudflare-workers-and-pages
Copy link

Deploying alauda-ai with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5838417
Status: ✅  Deploy successful!
Preview URL: https://ba41d778.alauda-ai.pages.dev
Branch Preview URL: https://feat-add-hardware-profile.alauda-ai.pages.dev

View logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants