Skip to content

ai-testing - #5

Closed
Prucek wants to merge 1 commit into
masterfrom
ai-testing
Closed

ai-testing#5
Prucek wants to merge 1 commit into
masterfrom
ai-testing

Conversation

@Prucek

@Prucek Prucek commented Jun 20, 2025

Copy link
Copy Markdown
Owner

No description provided.

@Prucek

Prucek commented Jun 20, 2025

Copy link
Copy Markdown
Owner Author

/hold

@openshift-ci-robot

Copy link
Copy Markdown
Collaborator

@Prucek, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

could not load configuration from candidate revision of release repo: failed to load ci-operator configuration from release repo: [invalid ci-operator config: invalid configuration: tests[5]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[18]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[19]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: configuration has 2 errors:

 * tests[17]: invalid cluster profile "equinix-edge-enablement"
 * tests[18]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: invalid configuration: tests[17]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[16]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[12]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[15]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[0]: invalid cluster profile "gcp-observability", invalid ci-operator config: invalid configuration: tests[0]: invalid cluster profile "azure-observability", invalid ci-operator config: invalid configuration: tests[1]: invalid cluster profile "azure-observability", invalid ci-operator config: invalid configuration: tests[41]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[43]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[50]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[45]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[53]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[51]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[36]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[57]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[39]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[65]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: configuration has 3 errors:

 * tests[40]: invalid cluster profile "equinix-edge-enablement"
 * tests[41]: invalid cluster profile "equinix-edge-enablement"
 * tests[73]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 2 errors:

 * tests[39]: invalid cluster profile "equinix-edge-enablement"
 * tests[70]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 2 errors:

 * tests[3]: invalid cluster profile "gcp-sustaining-autorelease-412"
 * tests[4]: invalid cluster profile "gcp-sustaining-autorelease-412"
, invalid ci-operator config: invalid configuration: tests[3]: invalid cluster profile "gcp-sustaining-autorelease-412", invalid ci-operator config: configuration has 2 errors:

 * tests[0]: invalid cluster profile "gcp-observability"
 * tests[2]: invalid cluster profile "azure-observability"
, invalid ci-operator config: invalid configuration: tests[2]: invalid cluster profile "gcp-observability", invalid ci-operator config: configuration has 2 errors:

 * tests[1]: invalid cluster profile "gcp-observability"
 * tests[2]: invalid cluster profile "azure-observability"
, invalid ci-operator config: configuration has 4 errors:

 * tests[32]: invalid cluster profile "equinix-edge-enablement"
 * tests[33]: invalid cluster profile "equinix-edge-enablement"
 * tests[44]: invalid cluster profile "equinix-edge-enablement"
 * tests[45]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 3 errors:

 * tests[30]: invalid cluster profile "equinix-edge-enablement"
 * tests[41]: invalid cluster profile "equinix-edge-enablement"
 * tests[42]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 2 errors:

 * tests[39]: invalid cluster profile "equinix-edge-enablement"
 * tests[40]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 2 errors:

 * releases.initial.stream: must be one of ci, nightly
 * releases.latest.stream: must be one of ci, nightly
, invalid ci-operator config: invalid configuration: tests[2]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: configuration has 2 errors:

 * tests[4]: invalid cluster profile "equinix-edge-enablement"
 * tests[5]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: invalid configuration: tests[1]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: configuration has 2 errors:

 * tests[5]: invalid cluster profile "equinix-edge-enablement"
 * tests[6]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 7 errors:

 * tests[0]: invalid cluster profile "oex-aws-qe"
 * tests[1]: invalid cluster profile "oex-aws-qe"
 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
 * tests[6]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 3 errors:

 * tests[9]: invalid cluster profile "equinix-edge-enablement"
 * tests[10]: invalid cluster profile "equinix-edge-enablement"
 * tests[121]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 3 errors:

 * tests[6]: invalid cluster profile "equinix-edge-enablement"
 * tests[7]: invalid cluster profile "equinix-edge-enablement"
 * tests[120]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 29 errors:

 * tests[0]: invalid cluster profile "oex-aws-qe"
 * tests[1]: invalid cluster profile "oex-aws-qe"
 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
 * tests[6]: invalid cluster profile "oex-aws-qe"
 * tests[7]: invalid cluster profile "oex-aws-qe"
 * tests[8]: invalid cluster profile "oex-aws-qe"
 * tests[9]: invalid cluster profile "oex-aws-qe"
 * tests[10]: invalid cluster profile "oex-aws-qe"
 * tests[11]: invalid cluster profile "oex-aws-qe"
 * tests[12]: invalid cluster profile "oex-aws-qe"
 * tests[13]: invalid cluster profile "oex-aws-qe"
 * tests[14]: invalid cluster profile "oex-aws-qe"
 * tests[15]: invalid cluster profile "oex-aws-qe"
 * tests[16]: invalid cluster profile "oex-aws-qe"
 * tests[17]: invalid cluster profile "oex-aws-qe"
 * tests[18]: invalid cluster profile "oex-aws-qe"
 * tests[19]: invalid cluster profile "oex-aws-qe"
 * tests[20]: invalid cluster profile "oex-aws-qe"
 * tests[21]: invalid cluster profile "oex-aws-qe"
 * tests[22]: invalid cluster profile "oex-aws-qe"
 * tests[23]: invalid cluster profile "oex-aws-qe"
 * tests[24]: invalid cluster profile "oex-aws-qe"
 * tests[25]: invalid cluster profile "oex-aws-qe"
 * tests[26]: invalid cluster profile "oex-aws-qe"
 * tests[27]: invalid cluster profile "oex-aws-qe"
 * tests[28]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 3 errors:

 * tests[9]: invalid cluster profile "equinix-edge-enablement"
 * tests[10]: invalid cluster profile "equinix-edge-enablement"
 * tests[146]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 10 errors:

 * tests[9]: invalid cluster profile "equinix-edge-enablement"
 * tests[10]: invalid cluster profile "equinix-edge-enablement"
 * tests[30]: invalid cluster profile "equinix-edge-enablement"
 * tests[31]: invalid cluster profile "equinix-edge-enablement"
 * tests[32]: invalid cluster profile "equinix-edge-enablement"
 * tests[33]: invalid cluster profile "equinix-edge-enablement"
 * tests[34]: invalid cluster profile "equinix-edge-enablement"
 * tests[35]: invalid cluster profile "equinix-edge-enablement"
 * tests[36]: invalid cluster profile "equinix-edge-enablement"
 * tests[155]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: invalid configuration: tests[1]: invalid cluster profile "gcp-observability", invalid ci-operator config: configuration has 6 errors:

 * tests[0]: invalid cluster profile "gcp-observability"
 * tests[1]: invalid cluster profile "gcp-observability"
 * tests[2]: invalid cluster profile "gcp-observability"
 * tests[12]: invalid cluster profile "gcp-observability"
 * tests[13]: invalid cluster profile "gcp-observability"
 * tests[14]: invalid cluster profile "gcp-observability"
, invalid ci-operator config: configuration has 2 errors:

 * tests[0]: invalid cluster profile "aws-quay-qe"
 * tests[1]: invalid cluster profile "aws-quay-qe"
, invalid ci-operator config: configuration has 3 errors:

 * tests[0]: invalid cluster profile "aws-quay-qe"
 * tests[1]: invalid cluster profile "aws-quay-qe"
 * tests[2]: invalid cluster profile "aws-quay-qe"
, invalid ci-operator config: invalid configuration: tests[4]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[7]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[6]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: configuration has 4 errors:

 * tests[1]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[5]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[6]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[7]: invalid cluster profile "openstack-vh-bm-rhos"
, invalid ci-operator config: configuration has 11 errors:

 * tests[1]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[2]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[5]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[6]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[7]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[10]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[13]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[14]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[16]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[17]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[18]: invalid cluster profile "openstack-vh-bm-rhos"
, invalid ci-operator config: configuration has 9 errors:

 * tests[1]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[2]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[5]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[6]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[7]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[10]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[13]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[14]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[16]: invalid cluster profile "openstack-vh-bm-rhos"
, invalid ci-operator config: configuration has 7 errors:

 * tests[1]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[2]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[6]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[7]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[8]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[15]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[17]: invalid cluster profile "openstack-vh-bm-rhos"
, invalid ci-operator config: configuration has 10 errors:

 * tests[1]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[2]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[5]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[6]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[7]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[10]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[13]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[14]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[15]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[17]: invalid cluster profile "openstack-vh-bm-rhos"
, invalid ci-operator config: configuration has 8 errors:

 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
 * tests[6]: invalid cluster profile "oex-aws-qe"
 * tests[7]: invalid cluster profile "oex-aws-qe"
 * tests[8]: invalid cluster profile "oex-aws-qe"
 * tests[9]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 2 errors:

 * tests[1]: invalid cluster profile "oex-aws-qe"
 * tests[2]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 4 errors:

 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 21 errors:

 * tests[0]: invalid cluster profile "oex-aws-qe"
 * tests[1]: invalid cluster profile "oex-aws-qe"
 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
 * tests[6]: invalid cluster profile "oex-aws-qe"
 * tests[7]: invalid cluster profile "oex-aws-qe"
 * tests[8]: invalid cluster profile "oex-aws-qe"
 * tests[9]: invalid cluster profile "oex-aws-qe"
 * tests[10]: invalid cluster profile "oex-aws-qe"
 * tests[11]: invalid cluster profile "oex-aws-qe"
 * tests[12]: invalid cluster profile "oex-aws-qe"
 * tests[13]: invalid cluster profile "oex-aws-qe"
 * tests[14]: invalid cluster profile "oex-aws-qe"
 * tests[15]: invalid cluster profile "oex-aws-qe"
 * tests[16]: invalid cluster profile "oex-aws-qe"
 * tests[17]: invalid cluster profile "oex-aws-qe"
 * tests[18]: invalid cluster profile "oex-aws-qe"
 * tests[19]: invalid cluster profile "oex-aws-qe"
 * tests[20]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 3 errors:

 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 22 errors:

 * tests[0]: invalid cluster profile "oex-aws-qe"
 * tests[1]: invalid cluster profile "oex-aws-qe"
 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
 * tests[6]: invalid cluster profile "oex-aws-qe"
 * tests[7]: invalid cluster profile "oex-aws-qe"
 * tests[8]: invalid cluster profile "oex-aws-qe"
 * tests[9]: invalid cluster profile "oex-aws-qe"
 * tests[10]: invalid cluster profile "oex-aws-qe"
 * tests[11]: invalid cluster profile "oex-aws-qe"
 * tests[12]: invalid cluster profile "oex-aws-qe"
 * tests[13]: invalid cluster profile "oex-aws-qe"
 * tests[14]: invalid cluster profile "oex-aws-qe"
 * tests[15]: invalid cluster profile "oex-aws-qe"
 * tests[16]: invalid cluster profile "oex-aws-qe"
 * tests[17]: invalid cluster profile "oex-aws-qe"
 * tests[18]: invalid cluster profile "oex-aws-qe"
 * tests[19]: invalid cluster profile "oex-aws-qe"
 * tests[20]: invalid cluster profile "oex-aws-qe"
 * tests[21]: invalid cluster profile "oex-aws-qe"
]
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 10 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 20 rehearsals
Comment: /pj-rehearse max to run up to 35 rehearsals
Comment: /pj-rehearse auto-ack to run up to 10 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@Prucek

Prucek commented Jun 20, 2025

Copy link
Copy Markdown
Owner Author

/ai review

1 similar comment
@Prucek

Prucek commented Jun 20, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@Prucek

Prucek commented Jun 20, 2025

Copy link
Copy Markdown
Owner Author

/ai

@Prucek

Prucek commented Jun 20, 2025

Copy link
Copy Markdown
Owner Author

/ai description

@Prucek

Prucek commented Jun 20, 2025

Copy link
Copy Markdown
Owner Author

/ai pr_description

@Prucek

Prucek commented Jun 23, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@Prucek

Prucek commented Jun 23, 2025

Copy link
Copy Markdown
Owner Author

/ai

@Prucek

Prucek commented Jun 23, 2025

Copy link
Copy Markdown
Owner Author

/refresh

@Prucek

Prucek commented Jun 23, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@Prucek

Prucek commented Jun 23, 2025

Copy link
Copy Markdown
Owner Author

/joke

@openshift-ci

openshift-ci Bot commented Jun 23, 2025

Copy link
Copy Markdown

@Prucek: Why did the feline fail the lie detector test? Because he be lion.

Details

In response to this:

/joke

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.

@Prucek

Prucek commented Jun 23, 2025

Copy link
Copy Markdown
Owner Author

/ai

@Prucek

Prucek commented Jun 23, 2025

Copy link
Copy Markdown
Owner Author

/ai review

1 similar comment
@Prucek

Prucek commented Jun 23, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@Prucek

Prucek commented Jun 23, 2025

Copy link
Copy Markdown
Owner Author

/ai pr_description

@Prucek

Prucek commented Jun 30, 2025

Copy link
Copy Markdown
Owner Author

/ai review

6 similar comments
@Prucek

Prucek commented Jun 30, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@Prucek

Prucek commented Jun 30, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@Prucek

Prucek commented Jul 1, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@Prucek

Prucek commented Jul 1, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@Prucek

Prucek commented Jul 1, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@Prucek

Prucek commented Jul 1, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@openshift-ci

openshift-ci Bot commented Jul 1, 2025

Copy link
Copy Markdown

@Prucek: @Prucek: failed to get AI review response: failed to send request: Post "http://ai-pr-reviewer-prucek.apps.master.ci.devcluster.openshift.com/review": EOF

@Prucek

Prucek commented Jul 1, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@openshift-ci

openshift-ci Bot commented Jul 1, 2025

Copy link
Copy Markdown

@Prucek: : Great start on the script, I like the use of a random number to determine motivation levels. Here are some suggestions for improvement:

  1. Add error handling: Consider adding error handling for cases where the script encounters unexpected issues. For example, if the user doesn't have bash installed, the script may fail.

  2. Use a more descriptive name: Consider renaming the script to something more descriptive than "dummy_script.sh". This will make it easier for other developers to understand what the script does.

  3. Use a more readable format: Consider adding line breaks and indentation to make the script more readable. This will make it easier for other developers to understand and modify the script in the future.

  4. Add a usage message: Consider adding a usage message that explains how to run the script and what it does. This will make it easier for other developers to use the script without having to read through the code.

  5. Use more descriptive variables: Consider using more descriptive variable names instead of "MOTIVATION" and "esac". This will make the script easier to understand for other developers.

  6. Consider making the script more interactive: Consider adding user input or allowing the user to customize the suggestions based on their motivation level or preferences. This will make the script more engaging and useful for the user.

Here's an example of

@Prucek

Prucek commented Jul 1, 2025

Copy link
Copy Markdown
Owner Author

/ai commit_message

@openshift-ci

openshift-ci Bot commented Jul 1, 2025

Copy link
Copy Markdown

@Prucek: failed to get AI review response: failed to post to AI service: failed to get a successful response after 3 retries

@openshift-ci-robot

Copy link
Copy Markdown
Collaborator

@Prucek, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

could not load configuration from candidate revision of release repo: failed to load ci-operator configuration from release repo: [invalid ci-operator config: invalid configuration: tests[5]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[18]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[19]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[17]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: configuration has 2 errors:

 * tests[17]: invalid cluster profile "equinix-edge-enablement"
 * tests[18]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: invalid configuration: tests[16]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[12]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[15]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[0]: invalid cluster profile "gcp-observability", invalid ci-operator config: invalid configuration: tests[0]: invalid cluster profile "azure-observability", invalid ci-operator config: invalid configuration: tests[1]: invalid cluster profile "azure-observability", invalid ci-operator config: invalid configuration: tests[41]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[43]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[45]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[50]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[53]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[51]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[57]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[36]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[39]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[65]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: configuration has 3 errors:

 * tests[40]: invalid cluster profile "equinix-edge-enablement"
 * tests[41]: invalid cluster profile "equinix-edge-enablement"
 * tests[73]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 2 errors:

 * tests[39]: invalid cluster profile "equinix-edge-enablement"
 * tests[70]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 2 errors:

 * tests[3]: invalid cluster profile "gcp-sustaining-autorelease-412"
 * tests[4]: invalid cluster profile "gcp-sustaining-autorelease-412"
, invalid ci-operator config: invalid configuration: tests[3]: invalid cluster profile "gcp-sustaining-autorelease-412", invalid ci-operator config: configuration has 2 errors:

 * tests[0]: invalid cluster profile "gcp-observability"
 * tests[2]: invalid cluster profile "azure-observability"
, invalid ci-operator config: invalid configuration: tests[2]: invalid cluster profile "gcp-observability", invalid ci-operator config: configuration has 2 errors:

 * tests[1]: invalid cluster profile "gcp-observability"
 * tests[2]: invalid cluster profile "azure-observability"
, invalid ci-operator config: configuration has 4 errors:

 * tests[32]: invalid cluster profile "equinix-edge-enablement"
 * tests[33]: invalid cluster profile "equinix-edge-enablement"
 * tests[44]: invalid cluster profile "equinix-edge-enablement"
 * tests[45]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 3 errors:

 * tests[30]: invalid cluster profile "equinix-edge-enablement"
 * tests[41]: invalid cluster profile "equinix-edge-enablement"
 * tests[42]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 2 errors:

 * tests[39]: invalid cluster profile "equinix-edge-enablement"
 * tests[40]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 2 errors:

 * releases.initial.stream: must be one of ci, nightly
 * releases.latest.stream: must be one of ci, nightly
, invalid ci-operator config: invalid configuration: tests[2]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: configuration has 2 errors:

 * tests[4]: invalid cluster profile "equinix-edge-enablement"
 * tests[5]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: invalid configuration: tests[1]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: configuration has 3 errors:

 * tests[9]: invalid cluster profile "equinix-edge-enablement"
 * tests[10]: invalid cluster profile "equinix-edge-enablement"
 * tests[121]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 3 errors:

 * tests[6]: invalid cluster profile "equinix-edge-enablement"
 * tests[7]: invalid cluster profile "equinix-edge-enablement"
 * tests[120]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 2 errors:

 * tests[5]: invalid cluster profile "equinix-edge-enablement"
 * tests[6]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 7 errors:

 * tests[0]: invalid cluster profile "oex-aws-qe"
 * tests[1]: invalid cluster profile "oex-aws-qe"
 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
 * tests[6]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 29 errors:

 * tests[0]: invalid cluster profile "oex-aws-qe"
 * tests[1]: invalid cluster profile "oex-aws-qe"
 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
 * tests[6]: invalid cluster profile "oex-aws-qe"
 * tests[7]: invalid cluster profile "oex-aws-qe"
 * tests[8]: invalid cluster profile "oex-aws-qe"
 * tests[9]: invalid cluster profile "oex-aws-qe"
 * tests[10]: invalid cluster profile "oex-aws-qe"
 * tests[11]: invalid cluster profile "oex-aws-qe"
 * tests[12]: invalid cluster profile "oex-aws-qe"
 * tests[13]: invalid cluster profile "oex-aws-qe"
 * tests[14]: invalid cluster profile "oex-aws-qe"
 * tests[15]: invalid cluster profile "oex-aws-qe"
 * tests[16]: invalid cluster profile "oex-aws-qe"
 * tests[17]: invalid cluster profile "oex-aws-qe"
 * tests[18]: invalid cluster profile "oex-aws-qe"
 * tests[19]: invalid cluster profile "oex-aws-qe"
 * tests[20]: invalid cluster profile "oex-aws-qe"
 * tests[21]: invalid cluster profile "oex-aws-qe"
 * tests[22]: invalid cluster profile "oex-aws-qe"
 * tests[23]: invalid cluster profile "oex-aws-qe"
 * tests[24]: invalid cluster profile "oex-aws-qe"
 * tests[25]: invalid cluster profile "oex-aws-qe"
 * tests[26]: invalid cluster profile "oex-aws-qe"
 * tests[27]: invalid cluster profile "oex-aws-qe"
 * tests[28]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 10 errors:

 * tests[9]: invalid cluster profile "equinix-edge-enablement"
 * tests[10]: invalid cluster profile "equinix-edge-enablement"
 * tests[30]: invalid cluster profile "equinix-edge-enablement"
 * tests[31]: invalid cluster profile "equinix-edge-enablement"
 * tests[32]: invalid cluster profile "equinix-edge-enablement"
 * tests[33]: invalid cluster profile "equinix-edge-enablement"
 * tests[34]: invalid cluster profile "equinix-edge-enablement"
 * tests[35]: invalid cluster profile "equinix-edge-enablement"
 * tests[36]: invalid cluster profile "equinix-edge-enablement"
 * tests[155]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: configuration has 3 errors:

 * tests[9]: invalid cluster profile "equinix-edge-enablement"
 * tests[10]: invalid cluster profile "equinix-edge-enablement"
 * tests[146]: invalid cluster profile "equinix-edge-enablement"
, invalid ci-operator config: invalid configuration: tests[1]: invalid cluster profile "gcp-observability", invalid ci-operator config: configuration has 6 errors:

 * tests[0]: invalid cluster profile "gcp-observability"
 * tests[1]: invalid cluster profile "gcp-observability"
 * tests[2]: invalid cluster profile "gcp-observability"
 * tests[12]: invalid cluster profile "gcp-observability"
 * tests[13]: invalid cluster profile "gcp-observability"
 * tests[14]: invalid cluster profile "gcp-observability"
, invalid ci-operator config: configuration has 2 errors:

 * tests[0]: invalid cluster profile "aws-quay-qe"
 * tests[1]: invalid cluster profile "aws-quay-qe"
, invalid ci-operator config: configuration has 3 errors:

 * tests[0]: invalid cluster profile "aws-quay-qe"
 * tests[1]: invalid cluster profile "aws-quay-qe"
 * tests[2]: invalid cluster profile "aws-quay-qe"
, invalid ci-operator config: invalid configuration: tests[4]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[7]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: invalid configuration: tests[6]: invalid cluster profile "equinix-edge-enablement", invalid ci-operator config: configuration has 4 errors:

 * tests[1]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[5]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[6]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[7]: invalid cluster profile "openstack-vh-bm-rhos"
, invalid ci-operator config: configuration has 7 errors:

 * tests[1]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[2]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[6]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[7]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[8]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[15]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[17]: invalid cluster profile "openstack-vh-bm-rhos"
, invalid ci-operator config: configuration has 9 errors:

 * tests[1]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[2]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[5]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[6]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[7]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[10]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[13]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[14]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[16]: invalid cluster profile "openstack-vh-bm-rhos"
, invalid ci-operator config: configuration has 11 errors:

 * tests[1]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[2]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[5]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[6]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[7]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[10]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[13]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[14]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[16]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[17]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[18]: invalid cluster profile "openstack-vh-bm-rhos"
, invalid ci-operator config: configuration has 10 errors:

 * tests[1]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[2]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[5]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[6]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[7]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[10]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[13]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[14]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[15]: invalid cluster profile "openstack-vh-bm-rhos"
 * tests[17]: invalid cluster profile "openstack-vh-bm-rhos"
, invalid ci-operator config: configuration has 2 errors:

 * tests[1]: invalid cluster profile "oex-aws-qe"
 * tests[2]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 3 errors:

 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 4 errors:

 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 8 errors:

 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
 * tests[6]: invalid cluster profile "oex-aws-qe"
 * tests[7]: invalid cluster profile "oex-aws-qe"
 * tests[8]: invalid cluster profile "oex-aws-qe"
 * tests[9]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 21 errors:

 * tests[0]: invalid cluster profile "oex-aws-qe"
 * tests[1]: invalid cluster profile "oex-aws-qe"
 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
 * tests[6]: invalid cluster profile "oex-aws-qe"
 * tests[7]: invalid cluster profile "oex-aws-qe"
 * tests[8]: invalid cluster profile "oex-aws-qe"
 * tests[9]: invalid cluster profile "oex-aws-qe"
 * tests[10]: invalid cluster profile "oex-aws-qe"
 * tests[11]: invalid cluster profile "oex-aws-qe"
 * tests[12]: invalid cluster profile "oex-aws-qe"
 * tests[13]: invalid cluster profile "oex-aws-qe"
 * tests[14]: invalid cluster profile "oex-aws-qe"
 * tests[15]: invalid cluster profile "oex-aws-qe"
 * tests[16]: invalid cluster profile "oex-aws-qe"
 * tests[17]: invalid cluster profile "oex-aws-qe"
 * tests[18]: invalid cluster profile "oex-aws-qe"
 * tests[19]: invalid cluster profile "oex-aws-qe"
 * tests[20]: invalid cluster profile "oex-aws-qe"
, invalid ci-operator config: configuration has 22 errors:

 * tests[0]: invalid cluster profile "oex-aws-qe"
 * tests[1]: invalid cluster profile "oex-aws-qe"
 * tests[2]: invalid cluster profile "oex-aws-qe"
 * tests[3]: invalid cluster profile "oex-aws-qe"
 * tests[4]: invalid cluster profile "oex-aws-qe"
 * tests[5]: invalid cluster profile "oex-aws-qe"
 * tests[6]: invalid cluster profile "oex-aws-qe"
 * tests[7]: invalid cluster profile "oex-aws-qe"
 * tests[8]: invalid cluster profile "oex-aws-qe"
 * tests[9]: invalid cluster profile "oex-aws-qe"
 * tests[10]: invalid cluster profile "oex-aws-qe"
 * tests[11]: invalid cluster profile "oex-aws-qe"
 * tests[12]: invalid cluster profile "oex-aws-qe"
 * tests[13]: invalid cluster profile "oex-aws-qe"
 * tests[14]: invalid cluster profile "oex-aws-qe"
 * tests[15]: invalid cluster profile "oex-aws-qe"
 * tests[16]: invalid cluster profile "oex-aws-qe"
 * tests[17]: invalid cluster profile "oex-aws-qe"
 * tests[18]: invalid cluster profile "oex-aws-qe"
 * tests[19]: invalid cluster profile "oex-aws-qe"
 * tests[20]: invalid cluster profile "oex-aws-qe"
 * tests[21]: invalid cluster profile "oex-aws-qe"
]
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 10 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 20 rehearsals
Comment: /pj-rehearse max to run up to 35 rehearsals
Comment: /pj-rehearse auto-ack to run up to 10 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@Prucek

Prucek commented Jul 1, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@openshift-ci

openshift-ci Bot commented Jul 1, 2025

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Prucek

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

The pull request process is described 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

@openshift-ci

openshift-ci Bot commented Jul 1, 2025

Copy link
Copy Markdown

@Prucek: failed to get AI review response: failed to post to AI service: failed to send request: Post "http://ai-pr-reviewer-prucek.apps.master.ci.devcluster.openshift.com/review": EOF

@Prucek

Prucek commented Jul 1, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@openshift-ci

openshift-ci Bot commented Jul 1, 2025

Copy link
Copy Markdown

@Prucek: This PR adds a new ServiceAccount, Service, and Deployment for an AI plugin in the ci namespace. The configuration looks correct, with proper selectors and ports defined. However, I have a few suggestions for improvement:

  1. Consider adding a description or comment to the YAML files to better explain the purpose of the AI plugin.
  2. The GITHUB_APP_ID value is being sourced from a secret. Make sure that this secret is securely managed and only accessible to trusted team members.
  3. In the livenessProbe and readinessProbe, consider setting initialDelaySeconds to a larger value (e.g., 60 seconds) to allow more time for the plugin to start up before checking its status.

These suggestions should help improve the overall readability and security of the configuration. Good job on the PR!

@Prucek

Prucek commented Jul 1, 2025

Copy link
Copy Markdown
Owner Author

/ai pr_description

@openshift-ci

openshift-ci Bot commented Jul 1, 2025

Copy link
Copy Markdown

@Prucek: This PR introduces a new ServiceAccount, Service, and Deployment for an AI plugin in the ci namespace. The changes look well-structured and follow Kubernetes best practices.

However, some points for improvement could be:

  1. Consider adding a description field in the metadata section of each resource to provide a brief explanation of what the plugin does.
  2. Check if there's a need to set imagePullSecrets or other security-related configurations for the Deployment.
  3. Verify if the livenessProbe and readinessProbe paths and ports are correct and accessible for the AI plugin.
  4. Consider adding an optional nodeSelector to the Deployment to ensure the container runs on specific nodes if required.
  5. Make sure to include proper error handling and logging for the plugin to handle any unexpected failures.
  6. Consider adding a GitHub Webhook configuration to trigger the plugin automatically when there are new events.
  7. Ensure proper authentication and authorization mechanisms are in place for the plugin to access the required GitHub resources.

@Prucek

Prucek commented Jul 1, 2025

Copy link
Copy Markdown
Owner Author

/ai pr_description

@openshift-ci

openshift-ci Bot commented Jul 1, 2025

Copy link
Copy Markdown

@Prucek: Introducing a new deployment for the AI plugin in the CI cluster. This includes a ServiceAccount, Service, and Deployment configuration with the latest AI-plugin image. The plugin uses GitHub App ID and private key for authentication and runs with 300Mi memory and 50m CPU. The liveness and readiness probes are set to ensure the plugin is healthy.

@Prucek

Prucek commented Aug 29, 2025

Copy link
Copy Markdown
Owner Author

/ai review

1 similar comment
@Prucek

Prucek commented Aug 29, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@openshift-ci

openshift-ci Bot commented Aug 29, 2025

Copy link
Copy Markdown

@Prucek:

@Prucek

Prucek commented Sep 1, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@openshift-ci

openshift-ci Bot commented Sep 1, 2025

Copy link
Copy Markdown

@Prucek: ### Summary

A new ai-plugin.yaml brings a ServiceAccount, Service, and Deployment for the AI‑plugin.
Overall the objects look good, but a few items need tightening up.

Area Issue Suggested fix Why it matters
Liveness/Readiness Uses port 8081 while the container exposes 8888. Change port: 8081port: 8888 (or expose a dedicated health port). Probes will always fail → pod goes into a crash‑loop.
args Two --github-endpoint flags (http://ghproxy & https://api.github.com). Keep just one – probably the proxied one (http://ghproxy). Duplicate flags override earlier values and can confuse the pod.
Resource limits Only requests are defined; no limits. Add limits: matching the requests or higher if needed. Prevents resource starvation and can be useful for cost‑control.
Secret mount --hmac-secret-file=/etc/webhook/hmac.yaml but the secret is mounted at /etc/webhook. Ensure the secret PodProperty names match the file name (e.g., hmac.yaml as a key in the secret). If the file name differs, the plugin will crash on start.
Health paths Paths assume /healthz & /healthz/ready – make sure the image exposes those. Verify the application’s health‑check endpoints match these paths. Mismatched paths also cause probe failures.
Image only latest You’re pulling latest with imagePullPolicy: Always. Bump to a versioned image tag (e.g. v1.2.3) once released. Easier rollback & reproducible deployments.
Namespace annotation The service account is created in ci, but Deployment also sets namespace: ci. This is fine, but double‑check that no namespace field exists in the manifest header and pull requests. Keeps the declaration explicit but not redundant.

Minor style notes

  • Order of fields is fine, but keep the indentation consistent (the current layout works but sometimes looks uneven).
  • Annotations: the image trigger annotation looks good, just ensure that ai-plugin:latest actually exists in the ImageStream.

Bottom‑line recommendation

Apply the probe‑port fix first (this will unblock the pod). Then clean up the duplicate GitHub endpoint flag and, if possible, add resource limits. Once those changes pass CI linting, the change is ready to go.

@Prucek

Prucek commented Sep 1, 2025

Copy link
Copy Markdown
Owner Author

/ai commit_msg

@openshift-ci

openshift-ci Bot commented Sep 1, 2025

Copy link
Copy Markdown

@Prucek: General Impression

You’ve added a tidy, self‑contained set of manifests for the AI‑plugin in the Prow cluster. The labels, selectors, and OpenShift trigger annotation are all in place, making the deployment straightforward to manage from the CI pipeline. Below are a few observations that, when addressed, will make the resource more robust and production‑ready.


1. Health‑check port mismatch

livenessProbe:
  httpGet:
    path: /healthz
    port: 8081

And yet the only container port exposed is 8888:

ports:
- name: http
  containerPort: 8888

If the container does not listen on port 8081, both probes will immediately fail and Prow will keep restarting the pod. Verify that the application really serves its health endpoints on 8081, or change the probe to use the correct port (likely 8888, or define a dedicated health port in the container spec).

2. Duplicate --github-endpoint arguments

- --github-endpoint=http://ghproxy
- --github-endpoint=https://api.github.com

The last flag will override the first, so the first one is effectively ignored. If you intended to support a proxy fallback, consider using an environment variable or a single flag that accepts a list / URL that resolves to the proxy. Remove the redundant entry to keep the intent clear.

3. Image selection

You’re pulling quay.io/prucek/ai-plugin:latest with imagePullPolicy: Always. While acceptable for a CI environment, hard‑coding latest is risky in production because any push will trigger an immediate upgrade. Pin to a digest or a specific tag in the pipeline and only promote it in the manifests after you’ve verified it.

4. Resource limits

You’ve set requests but nothing about limits. Adding a sensible CPU/memory limit will prevent runaway resource usage and give clearer expectations to the scheduler, e.g.

resources:
  limits:
    memory: "512Mi"
    cpu: "200m"

5. RBAC / ServiceAccount

The ai-plugin service account exists, but there’s no obvious role or clusterrole binding shown. This file alone can’t validate whether the account has permission to read the secrets it mounts or to perform any actions in the cluster. If not already defined elsewhere, add a ClusterRole/Role + binding that grants the minimal permissions required.

6. Health‑probe consistency

path: /healthz and /healthz/ready are good indicators of liveness/readiness, but double‑check that the application actually serves those paths and that the chosen port is correct (see #1).

7. Miscellaneous clean‑up

  • Annotations: The image trigger annotation looks fine, but ensure the image stream ai-plugin:latest actually exists in the ci namespace.
  • Formatting: The indentation is correct for the most part, but consider using a YAML linter or kubectl apply --dry-run=client -f ai-plugin.yaml to catch any hidden formatting errors.
  • Namespace: All resources are scoped to ci, which is fine for Prow but if you ever move them, you’ll need to update the annotations accordingly.

Suggested Updated Snippet

livenessProbe:
  httpGet:
    path: /healthz
    port: 8888   # or whatever port your app exposes for health
  initialDelaySeconds: 20
  periodSeconds: 3

readinessProbe:
  httpGet:
    path: /healthz/ready
    port: 8888

And remove the duplicate --github-endpoint (or unify them).


Bottom Line

Your diff is clean and well‑structured. The main concerns revolve around ensuring the health checks target the correct port, avoiding redundant flags, pinning the image tag, and confirming the ServiceAccount’s permissions. Once those are ironed out, the deployment should behave as expected in the Prow environment. Good work!

@Prucek

Prucek commented Sep 1, 2025

Copy link
Copy Markdown
Owner Author

/ai commit_message

@openshift-ci

openshift-ci Bot commented Sep 1, 2025

Copy link
Copy Markdown

@Prucek: Conventional commit message

feat(ai-plugin): deploy AI plugin to ci cluster

Add Kubernetes resources for the AI plugin in the `ci` namespace:
- ServiceAccount (`ai-plugin`)
- Service (`ai-plugin`) exposing port 80 → 8888
- Deployment (`ai-plugin`) using image `quay.io/prucek/ai-plugin:latest`

The deployment includes:
- Log level, AI endpoint, HMAC secret file, and GitHub endpoints
- GitHub App ID from secret `openshift-prow-github-app`
- Volume mounts for HMAC and GitHub credentials
- Liveness and readiness probes on `/healthz`
- CPU and memory requests
- Image pull policy set to Always

These manifests enable the AI plugin to run as part of Prow's CI pipeline.

@Prucek

Prucek commented Sep 1, 2025

Copy link
Copy Markdown
Owner Author

/ai pr_description

@openshift-ci

openshift-ci Bot commented Sep 1, 2025

Copy link
Copy Markdown

@Prucek: ### Pull Request Summary

Adds a fully‑defined AI‑review plugin for the ci prow cluster. The change introduces three new Kubernetes objects:

Object Purpose
ServiceAccount (ai‑plugin) Provides the necessary RBAC for the AI pod.
Service (ai‑plugin) Exposes the pod on port 80 inside the cluster (target 8888).
Deployment (ai‑plugin) Runs the AI review container (quay.io/prucek/ai-plugin:latest), sets environment variables from secrets, mounts webhook HMAC and GitHub app credentials, and includes health probes.

Key highlights:

  • Namespace: All objects are created in the ci namespace.
  • Image trigger: Deployment listens for new ai‑plugin:latest ImageStreamTag updates via image.openshift.io/triggers.
  • Arguments: The container runs with debug logging, points to a staging AI endpoint, configures GitHub endpoints (both proxy and direct), and uses a GraphQL endpoint.
  • Resources: Requests are 300 Mi memory and 50 m CPU.
  • Probes: Health checks target /healthz on port 8081.
  • Strategy: Uses Recreate to ensure a clean rollout.

No existing objects are modified; this is an additive change, making the AI review plugin available for prow jobs out of the box.

@Prucek

Prucek commented Sep 1, 2025

Copy link
Copy Markdown
Owner Author

/ai pr_description

@openshift-ci

openshift-ci Bot commented Sep 1, 2025

Copy link
Copy Markdown

@Prucek:
Add AI-plugin deployment to CI. Creates a ServiceAccount, Service, and Deployment running quay.io/prucek/ai-plugin:latest. Mounts HMAC & GitHub app secrets, sets probes, and configures image‑stream triggers.

@Prucek

Prucek commented Sep 1, 2025

Copy link
Copy Markdown
Owner Author

/ai review

@Prucek

Prucek commented Sep 1, 2025

Copy link
Copy Markdown
Owner Author

/ai commit_message

@openshift-ci

openshift-ci Bot commented Sep 1, 2025

Copy link
Copy Markdown

@Prucek:
The deployment looks solid but has a few quirks:

  1. Probe ports – the liveness/readiness probe points at port 8081, yet the container exposes 8888. Unless the app runs an auxiliary probe server, this will fail. Either expose 8081 or change the probes to use 8888.

  2. Duplicate GitHub endpoints – you set --github-endpoint twice (one to http://ghproxy, one to the real API). Remove the redundant flag; keep the one that actually works or better use an environment variable.

  3. Annotation trigger – the image.openshift.io/triggers annotation is fine, but ensure the ImageStreamTag ai-plugin:latest actually exists in this project.

  4. Resource requests – 300 Mi RAM and 50 m CPU are minimal; if the plugin spikes, consider bumping or adding limits.

  5. Service portService forwards to targetPort 8888. The port mapping is correct, but document why 80 → 8888.

Overall, a quick tweak of the probes and a cleanup of the GitHub flags will make the bundle production‑ready.

@openshift-ci

openshift-ci Bot commented Sep 1, 2025

Copy link
Copy Markdown

@Prucek:
feat(ci): add initial ai-plugin deployment config

@Prucek Prucek closed this Sep 15, 2025
Prucek pushed a commit that referenced this pull request Dec 11, 2025
* ci: use spike-420-issues images for CI rehearsal validation

Updated OPCT workflow to use development images for testing fixes
to CI failures in OCP 4.20+ clusters.

Changes:
- Updated OPCT_CLI_IMAGE to quay.io/mrbraga/opct:spike-420-issues
- Added OPCT_DEV_EXTRA_CMD with --plugins-image flag pointing to
  quay.io/mrbraga/plugin-openshift-tests:spike-420-issues-buildx

This allows testing custom images without modifying pkg/types.go,
using the --plugins-image CLI argument instead of hardcoded defaults.

Built images:
- opct CLI: quay.io/mrbraga/opct:spike-420-issues
- plugins: quay.io/mrbraga/plugin-openshift-tests:spike-420-issues-buildx

Related fixes being tested:
- Issue #1: Fixed map printing in status utils
- Issue #2 & #3: Fixed HTML encoding and messages in printer
- Issue #4: Added failure propagation between plugins
- Issue #5: Made log level configurable via LOG_LEVEL env var
- Issue #6: Fixed time calculation bug in archive metalog
- Issue #7: Added k8s conformance test extraction for OCP 4.20+

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

testing with latest opct version

validate 0.6.1

* Removing changes in AI workflow as is not monitored by SPLAT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants