Skip to content

Conversation

@gangwgr
Copy link

@gangwgr gangwgr commented Oct 17, 2025

Added a dedicated plugin for OpenShift Quality Engineering tasks

  1. /generate-test-case Command
    Generate comprehensive OpenShift test cases in multiple formats:
    YAML: Structured test definitions for automation frameworks
    Gherkin/BDD: Human-readable Given/When/Then format
    Go/Ginkgo: Production-ready Go test code using OpenShift's standard framework
    Shell Script: Detailed manual testing guides with:
    Step-by-step oc CLI commands
    Expected outputs for validation
    Complete automation scripts
    Troubleshooting sections
    Supports testing for all major OpenShift components:
    kube-apiserver, kube-controller-manager, kube-scheduler
    oauth, registry, ingress, etcd
    pod, node, network, storage

  2. /execute-test-case Command
    Execute OpenShift test cases with real-time progress and detailed reporting:
    Step-by-step execution with live progress tracking
    Detailed results for each test step (commands, outputs, exit codes)
    Pre-flight checks (cluster connectivity, permissions, oc CLI)
    Comprehensive reporting (execution time, pass/fail status, failure analysis)
    Configurable settings (custom oc path, kubeconfig, timeouts)
    Key Features:

Example Scenarios:
Generate and execute pod deployment tests
Test Event TTL configuration in kube-apiserver
Validate OAuth authentication flows
Test ingress controller configurations
Verify etcd cluster operations

Workflow Integration:

  1. Generate → /generate-test-case (creates test in desired format)
  2. Execute → /execute-test-case (runs test with detailed reporting)
  3. Debug → (if needed) analyze failures and fix

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 17, 2025
@openshift-ci
Copy link

openshift-ci bot commented Oct 17, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

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

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

@gangwgr gangwgr marked this pull request as ready for review October 17, 2025 15:25
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 17, 2025
@openshift-ci openshift-ci bot requested review from bentito and stbenjam October 17, 2025 15:25
@bryan-cox
Copy link
Contributor

There might be some overlap between this PR and this previous PR - #23

@@ -0,0 +1,8 @@
{
"name": "openshift-qe",
"description": "Miscellaenous commands related to testing on OpenShift",
Copy link

Choose a reason for hiding this comment

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

Not sure if you're in control of this, but this is a uselessly vague description

"name": "utils",
"source": "./plugins/utils",
"description": "A generic utilities plugin serving as a catch-all for various helper commands"
},
Copy link

Choose a reason for hiding this comment

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

☝️ seems like not in scope, but this is a vague description


## Instructions

1. Ask the user for the following information:
Copy link

@bentito bentito Oct 17, 2025

Choose a reason for hiding this comment

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

Are these directions to an agent or LLM? If it's an agent they seem overly prescriptive, right down to telling it what tools it has to use. Have you compared the results of testing this with repeated scenarios where only this prompt varies? Does a less prescriptive do better or worse?

Copy link
Member

Choose a reason for hiding this comment

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

We should try not to have too many commands that do the same thing: https://github.com/openshift-eng/ai-helpers/blob/main/plugins/openshift/commands/new-e2e-test.md

2. Based on the user's input, generate a comprehensive test case using the Workshop MCP Server tool:

**For YAML/Gherkin/Go formats:**
- Use the `generate_ocp_test_case` tool
Copy link

Choose a reason for hiding this comment

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

What if grep/awk/python make for better tooling? Wouldn't it be better to make the tools available, make the descriptions of what the tools can do quite accurate and let the agent decide to use them based on the widely varying input it may see? I worry if you require tool usage, the agent may perform poorly on any given run when it didn't have to.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 21, 2025
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 24, 2025
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 24, 2025
@openshift-merge-robot
Copy link
Contributor

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-sigs/prow repository.

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

Labels

needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants