Skip to content

Add bmh-ironic-check-redfish-profile to openshift#230

Open
iurygregory wants to merge 1 commit intoopenshift-eng:mainfrom
iurygregory:bmh-ironic-check-redfish-profile
Open

Add bmh-ironic-check-redfish-profile to openshift#230
iurygregory wants to merge 1 commit intoopenshift-eng:mainfrom
iurygregory:bmh-ironic-check-redfish-profile

Conversation

@iurygregory
Copy link

@iurygregory iurygregory commented Dec 16, 2025

This command can be used to check if a hardware
is compatible with the ironic redfish profile.

Summary by CodeRabbit

  • New Features

    • Added an OpenShift command "bmh-ironic-check-redfish-profile" with arguments " " to validate BMC Redfish compliance against the OpenStack Ironic profile.
  • Documentation

    • Added comprehensive user documentation and README entry covering synopsis, usage, prerequisites, execution steps, examples, troubleshooting, error handling, security considerations, and offline/proxy options.

✏️ Tip: You can customize this high-level summary in your review settings.

@openshift-ci openshift-ci bot requested review from dgoodwin and enxebre December 16, 2025 20:25
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 16, 2025

Walkthrough

Adds documentation and registration for a new OpenShift command bmh-ironic-check-redfish-profile: a new command doc, a docs/data.json command entry, and a README addition in the OpenShift plugin.

Changes

Cohort / File(s) Summary
New command documentation
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md
Added comprehensive documentation for /openshift:bmh-ironic-check-redfish-profile covering name, synopsis, description, prerequisites, implementation steps (input validation, credentials handling, Redfish-Interop-Validator install, profile download, validation execution, results parsing), error handling, adaptation guidance, return value, examples, troubleshooting, security and performance considerations, and references.
Command registration
docs/data.json
Added public command entry to the agendas plugin for bmh-ironic-check-redfish-profile with argument_hint <bmc-address> <credentials-file>, description "Validate BMC Redfish compliance against OpenStack Ironic profile", name, and synopsis /openshift:bmh-ironic-check-redfish-profile <bmc-address> <credentials-file>.
Plugin README update
plugins/openshift/README.md
Inserted a new command block for /openshift:bmh-ironic-check-redfish-profile, placed after the existing /openshift:ironic-status entry and formatted to match surrounding entries.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Pre-merge checks and finishing touches

✅ Passed checks (7 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title accurately reflects the main change: adding a new command called bmh-ironic-check-redfish-profile to the openshift plugin. The title is clear, specific, and directly summarizes the primary modification.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
No Real People Names In Style References ✅ Passed Review of modified files reveals no real people's names used as style references or examples; only technical documentation and 'Conventional Commits' standard reference.
No Assumed Git Remote Names ✅ Passed The pull request adds documentation for the bmh-ironic-check-redfish-profile command with no git-related commands, shell scripts invoking git operations, or hardcoded git remote references.
Git Push Safety Rules ✅ Passed No git push operations, force pushes, or attempts to push to main/master branches are present in the pull request context.
No Untrusted Mcp Servers ✅ Passed PR introduces documentation and command registration for OpenShift BMC Redfish validation using Python pip tooling; no MCP server installations detected.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between f8640b3 and d431edd.

📒 Files selected for processing (3)
  • docs/data.json
  • plugins/openshift/README.md
  • plugins/openshift/commands/bmh-ironic-check-redfish-profile.md
✅ Files skipped from review due to trivial changes (1)
  • plugins/openshift/README.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/data.json
🧰 Additional context used
🪛 LanguageTool
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md

[grammar] ~736-~736: Ensure spelling is correct
Context: ...) - Power control actions (ForceOff, ForceOn, GracefulShutdown, ForceRestart) 4. **...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.18.1)
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md

887-887: Bare URL used

(MD034, no-bare-urls)


888-888: Bare URL used

(MD034, no-bare-urls)


889-889: Bare URL used

(MD034, no-bare-urls)


890-890: Bare URL used

(MD034, no-bare-urls)


891-891: Bare URL used

(MD034, no-bare-urls)


892-892: Bare URL used

(MD034, no-bare-urls)

🔇 Additional comments (1)
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md (1)

369-370: No changes needed—idrac-virtualmedia:// is the correct format for Metal3 BareMetalHost.

The recommended protocol idrac-virtualmedia:// in line 369 is correct and actively used in baremetal-operator deployments. This is distinct from OpenStack Ironic's idrac:// format, as Metal3 uses driver-specific URL schemes for BMC addresses.


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

@openshift-ci
Copy link

openshift-ci bot commented Dec 16, 2025

Hi @iurygregory. Thanks for your PR.

I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

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.

@openshift-ci openshift-ci bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Dec 16, 2025
Copy link
Contributor

@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: 1

🧹 Nitpick comments (3)
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md (3)

10-12: Add language specifications to fenced code blocks.

Markdown linting requires language identifiers on all fenced code blocks for syntax highlighting and clarity.

Apply these diffs:

Lines 10-12 (synopsis):

 ## Synopsis
-```
+```bash
 /openshift:bmh-ironic-check-redfish-profile <bmc-address> <username> <password>
-```
+```

Lines 512-514 (return value example):

 **Example output (PASSED validation):**
-```
+```bash
 Checking for Redfish-Interop-Validator...

Lines 575-577 (return value example):

 **Example output (FAILED validation):**
-```
+```bash
 [... installation and setup output ...]

Lines 638-640 (examples):

 ## Examples
 
-```
+```bash
 /openshift:bmh-ironic-check-redfish-profile 192.168.1.100 user password
-```
+```

Also applies to: 512-514, 575-577, 638-640


819-827: Wrap bare URLs in markdown link syntax.

The "See Also" section contains bare URLs that should be wrapped in markdown link format for better readability and consistency.

 ## See Also
 
-- Redfish-Interop-Validator: https://github.com/DMTF/Redfish-Interop-Validator
-- OpenStack Ironic Profiles: https://github.com/openstack/ironic/tree/master/redfish-interop-profiles
-- Redfish API Specification: https://www.dmtf.org/standards/redfish
-- Metal3 Documentation: https://metal3.io/
-- OpenShift Baremetal Documentation: https://docs.openshift.com/container-platform/latest/installing/installing_bare_metal/
-- BareMetalHost API: https://github.com/metal3-io/baremetal-operator/blob/main/docs/api.md
-- Related commands: `/openshift:ironic-status`, `/openshift:cluster-health-check`
+- [Redfish-Interop-Validator](https://github.com/DMTF/Redfish-Interop-Validator)
+- [OpenStack Ironic Profiles](https://github.com/openstack/ironic/tree/master/redfish-interop-profiles)
+- [Redfish API Specification](https://www.dmtf.org/standards/redfish)
+- [Metal3 Documentation](https://metal3.io/)
+- [OpenShift Baremetal Documentation](https://docs.openshift.com/container-platform/latest/installing/installing_bare_metal/)
+- [BareMetalHost API](https://github.com/metal3-io/baremetal-operator/blob/main/docs/api.md)
+- Related commands: `/openshift:ironic-status`, `/openshift:cluster-health-check`

137-180: Consider using stable profile versions instead of master branch.

The profile URL on line 145 references the master branch directly, which could break if OpenStack changes their default branch name. While documented in the "Adaptation Guidance" section (lines 435-446), it would be more robust to reference a specific release tag or version branch.

Consider updating the PROFILE_URL to reference a stable version:

-PROFILE_URL="https://raw.githubusercontent.com/openstack/ironic/master/redfish-interop-profiles/OpenStackIronicProfile.v1_1_0.json"
+PROFILE_URL="https://raw.githubusercontent.com/openstack/ironic/stable/bobcat/redfish-interop-profiles/OpenStackIronicProfile.v1_1_0.json"

Or provide an environment variable override for flexibility:

PROFILE_URL="${IRONIC_PROFILE_URL:-https://raw.githubusercontent.com/openstack/ironic/master/redfish-interop-profiles/OpenStackIronicProfile.v1_1_0.json}"

This would allow users to override the URL without editing the command documentation.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between a76fa57 and 0db1b96.

📒 Files selected for processing (1)
  • plugins/openshift/commands/bmh-ironic-check-redfish-profile.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md

[grammar] ~674-~674: Ensure spelling is correct
Context: ...) - Power control actions (ForceOff, ForceOn, GracefulShutdown, ForceRestart) 4. **...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.18.1)
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md

10-10: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


512-512: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


575-575: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


638-638: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


821-821: Bare URL used

(MD034, no-bare-urls)


822-822: Bare URL used

(MD034, no-bare-urls)


823-823: Bare URL used

(MD034, no-bare-urls)


824-824: Bare URL used

(MD034, no-bare-urls)


825-825: Bare URL used

(MD034, no-bare-urls)


826-826: Bare URL used

(MD034, no-bare-urls)

🔇 Additional comments (1)
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md (1)

631-634: Clarify exit code behavior—implementation may not match documentation.

The documentation claims exit codes of 0 (pass), 1 (error), and 2 (failure), but the implementation (lines 324-354) only explicitly handles validator exit code 0 and implicitly returns whatever the validator exits with. There is no code that explicitly sets exit code 2.

Verify the actual validator exit codes and ensure the documentation aligns with the implementation. Update the exit codes section to reflect the true behavior, or modify the implementation to explicitly set exit code 2 when validation fails.

@iurygregory iurygregory force-pushed the bmh-ironic-check-redfish-profile branch from 0db1b96 to 1b8fc3b Compare December 16, 2025 20:31
Copy link
Contributor

@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: 1

🧹 Nitpick comments (1)
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md (1)

817-825: Optional: Consider wrapping bare URLs in angle brackets.

The markdownlint tool flags bare URLs in the "See Also" section. While this is purely cosmetic and the current format is acceptable, you could optionally wrap them in angle brackets for markdown compliance:

-- Redfish-Interop-Validator: https://github.com/DMTF/Redfish-Interop-Validator
+- Redfish-Interop-Validator: <https://github.com/DMTF/Redfish-Interop-Validator>

This is a nitpick and not required—the current format is perfectly readable.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 0db1b96 and 1b8fc3b.

📒 Files selected for processing (3)
  • docs/data.json (1 hunks)
  • plugins/openshift/README.md (1 hunks)
  • plugins/openshift/commands/bmh-ironic-check-redfish-profile.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md

[grammar] ~671-~671: Ensure spelling is correct
Context: ...) - Power control actions (ForceOff, ForceOn, GracefulShutdown, ForceRestart) 4. **...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.18.1)
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md

10-10: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


509-509: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


572-572: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


635-635: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


818-818: Bare URL used

(MD034, no-bare-urls)


819-819: Bare URL used

(MD034, no-bare-urls)


820-820: Bare URL used

(MD034, no-bare-urls)


821-821: Bare URL used

(MD034, no-bare-urls)


822-822: Bare URL used

(MD034, no-bare-urls)


823-823: Bare URL used

(MD034, no-bare-urls)

🔇 Additional comments (6)
plugins/openshift/README.md (1)

39-42: LGTM! Command entry is well-placed and clearly described.

The new command documentation is appropriately positioned after the related /openshift:ironic-status command, and the description clearly conveys its purpose.

docs/data.json (1)

619-624: LGTM! Command registration follows the correct structure.

The command entry is properly formatted and includes all necessary metadata. The argument hint, description, and synopsis are consistent with the detailed documentation.

plugins/openshift/commands/bmh-ironic-check-redfish-profile.md (4)

1-31: LGTM! Comprehensive documentation with clear use cases.

The command description effectively explains its purpose and the validation capabilities. The frontmatter is properly structured and the use cases provide good context for when this command should be used.


250-312: LGTM! Python heredoc implementation is correct.

The heredoc uses an unquoted delimiter, which correctly allows shell variable expansion. The ${RESULTS_FILE} on line 255 will be substituted with the actual path before Python executes. This resolves the critical issue mentioned in the previous review.


771-797: LGTM! Security considerations are well-documented.

The security section appropriately warns about:

  • Credentials visibility in command history
  • TLS certificate validation being disabled
  • Network security best practices
  • Safe handling of validation reports

These warnings are important for users to understand the security implications.


1-826: Excellent comprehensive documentation for the new command!

This documentation provides outstanding coverage of:

  • Prerequisites and setup requirements
  • Step-by-step implementation guidance
  • Comprehensive error handling and troubleshooting
  • Security and performance considerations
  • Realistic example outputs

The implementation details are thorough and will help users understand both how to use the command and how to adapt it for their specific environments. The past critical issue with the Python heredoc has been successfully resolved.

@iurygregory iurygregory force-pushed the bmh-ironic-check-redfish-profile branch from 1b8fc3b to 78ccc02 Compare December 16, 2025 21:33
Copy link
Contributor

@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

🧹 Nitpick comments (1)
plugins/openshift/README.md (1)

39-43: Consider adding a "See" documentation link for consistency.

Most comprehensive commands in this README include a "See [commands/...] for full documentation" link. You may want to add one here:

 ### `/openshift:bmh-ironic-check-redfish-profile`
 
 Check if a BMC is compatible with the ironic redfish profile.
+
+See [commands/bmh-ironic-check-redfish-profile.md](commands/bmh-ironic-check-redfish-profile.md) for full documentation.

This is optional and depends on whether you want to highlight this command more prominently alongside the other baremetal/cluster management commands.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 1b8fc3b and 78ccc02.

📒 Files selected for processing (3)
  • docs/data.json (1 hunks)
  • plugins/openshift/README.md (1 hunks)
  • plugins/openshift/commands/bmh-ironic-check-redfish-profile.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/data.json
🧰 Additional context used
🪛 LanguageTool
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md

[grammar] ~679-~679: Ensure spelling is correct
Context: ...) - Power control actions (ForceOff, ForceOn, GracefulShutdown, ForceRestart) 4. **...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.18.1)
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md

10-10: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


517-517: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


580-580: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


643-643: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


826-826: Bare URL used

(MD034, no-bare-urls)


827-827: Bare URL used

(MD034, no-bare-urls)


828-828: Bare URL used

(MD034, no-bare-urls)


829-829: Bare URL used

(MD034, no-bare-urls)


830-830: Bare URL used

(MD034, no-bare-urls)


831-831: Bare URL used

(MD034, no-bare-urls)

🔇 Additional comments (2)
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md (1)

321-356: ✓ Exit code normalization properly implemented.

The command correctly normalizes exit codes to match the documented behavior: exit 0 for success, exit 2 for validation failures, and exit 1 for errors. This aligns with the documentation (lines 636-639) and addresses the prior minor concern.

plugins/openshift/README.md (1)

39-41: ✓ README integration is well-placed and consistent.

The new command entry is correctly positioned after /openshift:ironic-status (logically grouped with baremetal operations), follows the existing quick-reference format, and the description is clear and concise.

@iurygregory iurygregory force-pushed the bmh-ironic-check-redfish-profile branch 3 times, most recently from 5c7927f to 53d4726 Compare December 18, 2025 12:45
@iurygregory
Copy link
Author

/assign @zaneb

@zaneb
Copy link
Contributor

zaneb commented Dec 18, 2025

/ok-to-test

@openshift-ci openshift-ci bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Dec 18, 2025
@iurygregory
Copy link
Author

it's normal that the lint job hasn't run yet? .-.

@iurygregory
Copy link
Author

Tested this with a Dell and HPE and worked. We probably need some updates on the profile on ironic since there was some complains about the OEM extensions..

@iurygregory
Copy link
Author

@dgoodwin @enxebre can you check if this is ok? Thanks!

Copy link
Contributor

@zaneb zaneb left a comment

Choose a reason for hiding this comment

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

This process seems largely deterministic to me - I'd be interested in learning more about how executing it through an AI adds value.

@iurygregory
Copy link
Author

This process seems largely deterministic to me - I'd be interested in learning more about how executing it through an AI adds value.

To me the value that AI would add is that it could interpret failures in the validation of the ironic, we can recommend the definition of a BMH etc.
Maybe we can improve the ironic profile to extend to new models so we can provide better information etc...

@iurygregory iurygregory force-pushed the bmh-ironic-check-redfish-profile branch from 53d4726 to a14b5f7 Compare December 22, 2025 18:48
@openshift-ci
Copy link

openshift-ci bot commented Dec 22, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: iurygregory
Once this PR has been reviewed and has the lgtm label, please ask for approval from zaneb. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@iurygregory iurygregory force-pushed the bmh-ironic-check-redfish-profile branch from a14b5f7 to f8640b3 Compare December 23, 2025 02:01
Copy link
Contributor

@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

🧹 Nitpick comments (1)
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md (1)

891-896: Format bare URLs as markdown links.

The URLs in the "See Also" section remain as bare text despite a previous review comment being marked as addressed. For consistency with markdown best practices and to resolve linting warnings, these should be wrapped in proper link syntax.

🔎 Proposed fix
 ## See Also
 
-- Redfish-Interop-Validator: https://github.com/DMTF/Redfish-Interop-Validator
-- OpenStack Ironic Profiles: https://github.com/openstack/ironic/tree/master/redfish-interop-profiles
-- Redfish API Specification: https://www.dmtf.org/standards/redfish
-- Metal3 Documentation: https://metal3.io/
-- OpenShift Baremetal Documentation: https://docs.openshift.com/container-platform/latest/installing/installing_bare_metal/
-- BareMetalHost API: https://github.com/metal3-io/baremetal-operator/blob/main/docs/api.md
+- [Redfish-Interop-Validator](https://github.com/DMTF/Redfish-Interop-Validator)
+- [OpenStack Ironic Profiles](https://github.com/openstack/ironic/tree/master/redfish-interop-profiles)
+- [Redfish API Specification](https://www.dmtf.org/standards/redfish)
+- [Metal3 Documentation](https://metal3.io/)
+- [OpenShift Baremetal Documentation](https://docs.openshift.com/container-platform/latest/installing/installing_bare_metal/)
+- [BareMetalHost API](https://github.com/metal3-io/baremetal-operator/blob/main/docs/api.md)
 - Related commands: `/openshift:ironic-status`, `/openshift:cluster-health-check`
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between a14b5f7 and f8640b3.

📒 Files selected for processing (3)
  • docs/data.json
  • plugins/openshift/README.md
  • plugins/openshift/commands/bmh-ironic-check-redfish-profile.md
🧰 Additional context used
🪛 LanguageTool
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md

[grammar] ~740-~740: Ensure spelling is correct
Context: ...) - Power control actions (ForceOff, ForceOn, GracefulShutdown, ForceRestart) 4. **...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.18.1)
plugins/openshift/commands/bmh-ironic-check-redfish-profile.md

891-891: Bare URL used

(MD034, no-bare-urls)


892-892: Bare URL used

(MD034, no-bare-urls)


893-893: Bare URL used

(MD034, no-bare-urls)


894-894: Bare URL used

(MD034, no-bare-urls)


895-895: Bare URL used

(MD034, no-bare-urls)


896-896: Bare URL used

(MD034, no-bare-urls)

🔇 Additional comments (2)
plugins/openshift/README.md (1)

39-41: LGTM! Clear documentation addition.

The new command entry is well-positioned after the related ironic-status command and follows the established documentation pattern.

docs/data.json (1)

636-641: LGTM! Proper command registration.

The command metadata is correctly structured and consistent with the synopsis and documentation in other files.

Comment on lines +685 to +697
```bash
# Create credentials file
cat > ~/.bmc-creds << 'EOF'
username=user
password=passwrod
EOF

# Set restrictive permissions
chmod 600 ~/.bmc-creds

# Run validation
/openshift:bmh-ironic-check-redfish-profile 192.168.1.100 ~/.bmc-creds
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix typo in example credentials.

Line 689 contains "passwrod" instead of "password" in the example credentials file.

🔎 Proposed fix
 # Create credentials file
 cat > ~/.bmc-creds << 'EOF'
 username=user
-password=passwrod
+password=password
 EOF
🤖 Prompt for AI Agents
In plugins/openshift/commands/bmh-ironic-check-redfish-profile.md around lines
685 to 697, the example credentials file contains a typo: "passwrod" on line
689; update that value to the correct "password" so the example shows valid
spelling, save the file, and run a quick lint or preview to ensure the change
renders correctly.

This command can be used to check if a hardware
is compatible with the ironic redfish profile.

Signed-off-by: Iury Gregory Melo Ferreira <imelofer@redhat.com>
@iurygregory iurygregory force-pushed the bmh-ironic-check-redfish-profile branch from f8640b3 to d431edd Compare December 23, 2025 02:15
@iurygregory
Copy link
Author

@zaneb could you take another look? tks!

@iurygregory iurygregory requested review from dtantsur and zaneb January 7, 2026 12:08
@zaneb
Copy link
Contributor

zaneb commented Feb 18, 2026

You should be able to save a lot of tokens by moving the scripts to a skill, where they can actually live as separate scripts that the agent can call, instead of passing the scripts to the LLM and getting it to regurgitate them. The command would then invoke the skill explicitly to collect the data.

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

Labels

ok-to-test Indicates a non-member PR verified by an org member that is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants