Skip to content

Fix odh-model-controller kustomize manifest path resolution#76097

Merged
openshift-merge-bot[bot] merged 3 commits intoopenshift:mainfrom
jlost:fix-odh-model-controller-kustomize-path
Mar 12, 2026
Merged

Fix odh-model-controller kustomize manifest path resolution#76097
openshift-merge-bot[bot] merged 3 commits intoopenshift:mainfrom
jlost:fix-odh-model-controller-kustomize-path

Conversation

@jlost
Copy link
Contributor

@jlost jlost commented Mar 11, 2026

Summary

  • The kserve e2e test for odh-model-controller was using $(pwd)/config/base as the manifest source (ODH_MC_MANIFEST_SOURCE), but in the CI pod the working directory (/go) does not contain the odh-model-controller checkout, causing kustomize to fail:
    accumulating resources from '/go/config/base': evalsymlink failure on '/go/config/base':
    lstat /go/config: no such file or directory: new root '/go/config/base' cannot be absolute
    
  • Fix by explicitly cloning the odh-model-controller repo (at the tested branch/ref) into /go/odh-model-controller before setting the manifest source path.
  • Applied across all three branch configs: main, incubating, stable-2.x.

Test plan

  • Verify the kserve e2e presubmit job passes on the affected branches (main, incubating, stable-2.x)

Made with Cursor

The kserve e2e test was using $(pwd)/config/base as the manifest
source, but in the CI pod the working directory does not contain the
odh-model-controller checkout. This caused kustomize to fail with:

  evalsymlink failure on '/go/config/base': lstat /go/config: no such
  file or directory: new root '/go/config/base' cannot be absolute

Fix by explicitly cloning the odh-model-controller repo at the tested
branch/ref before pointing ODH_MC_MANIFEST_SOURCE at the checkout.

Applied to all three branch configs: main, incubating, stable-2.x.

Made-with: Cursor
@openshift-ci openshift-ci bot requested review from Jooho and terrytangyuan March 11, 2026 15:11
@jlost
Copy link
Contributor Author

jlost commented Mar 11, 2026

/pj-rehearse auto-ack

@openshift-ci-robot
Copy link
Contributor

@jlost: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Copy link
Contributor

@spolti spolti left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci bot added lgtm Indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Mar 11, 2026
The CI pod's /go/ directory is not writable, and REPO_OWNER/REPO_NAME
resolve to openshift/release (the repo hosting the CI config), not
opendatahub-io/odh-model-controller. Hardcode the correct repo URL
and branch per config, and clone into /tmp/ which is always writable.

Made-with: Cursor
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Mar 11, 2026
@jlost
Copy link
Contributor Author

jlost commented Mar 11, 2026

/pj-rehearse auto-ack

@openshift-ci-robot
Copy link
Contributor

@jlost: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@jlost
Copy link
Contributor Author

jlost commented Mar 11, 2026

/pj-rehearse auto-ack

@openshift-ci-robot
Copy link
Contributor

@jlost: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Kustomize rejects absolute paths as resource roots. Clone
odh-model-controller inside the kserve tree and use a relative path
so that the generated kustomization.yaml in bin/odh-mc-kustomize/
can resolve it correctly.

Made-with: Cursor
@jlost
Copy link
Contributor Author

jlost commented Mar 11, 2026

/pj-rehearse auto-ack

@openshift-ci-robot
Copy link
Contributor

@jlost: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci-robot
Copy link
Contributor

[REHEARSALNOTIFIER]
@jlost: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-opendatahub-io-odh-model-controller-stable-2.x-e2e-odh-kserve opendatahub-io/odh-model-controller presubmit Ci-operator config changed
pull-ci-opendatahub-io-odh-model-controller-incubating-e2e-odh-kserve opendatahub-io/odh-model-controller presubmit Ci-operator config changed
pull-ci-opendatahub-io-odh-model-controller-main-e2e-odh-kserve opendatahub-io/odh-model-controller presubmit Ci-operator config changed
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 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 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 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.

@spolti
Copy link
Contributor

spolti commented Mar 12, 2026

/retest

@spolti
Copy link
Contributor

spolti commented Mar 12, 2026

/pj-rehearse auto-ack

@openshift-ci-robot
Copy link
Contributor

@spolti: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Mar 12, 2026
@spolti
Copy link
Contributor

spolti commented Mar 12, 2026

/lgtm
/approve

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Mar 12, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 12, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jlost, spolti

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
Copy link
Contributor

openshift-ci bot commented Mar 12, 2026

@jlost: all tests passed!

Full PR test history. Your PR dashboard.

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. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot bot merged commit 48dcd7d into openshift:main Mar 12, 2026
16 checks passed
qiliRedHat pushed a commit to qiliRedHat/release that referenced this pull request Mar 13, 2026
…t#76097)

* Fix odh-model-controller kustomize manifest path resolution

The kserve e2e test was using $(pwd)/config/base as the manifest
source, but in the CI pod the working directory does not contain the
odh-model-controller checkout. This caused kustomize to fail with:

  evalsymlink failure on '/go/config/base': lstat /go/config: no such
  file or directory: new root '/go/config/base' cannot be absolute

Fix by explicitly cloning the odh-model-controller repo at the tested
branch/ref before pointing ODH_MC_MANIFEST_SOURCE at the checkout.

Applied to all three branch configs: main, incubating, stable-2.x.

Made-with: Cursor

* Fix clone target: use /tmp, hardcode repo URL and branch

The CI pod's /go/ directory is not writable, and REPO_OWNER/REPO_NAME
resolve to openshift/release (the repo hosting the CI config), not
opendatahub-io/odh-model-controller. Hardcode the correct repo URL
and branch per config, and clone into /tmp/ which is always writable.

Made-with: Cursor

* Fix kustomize absolute path error in ODH_MC_MANIFEST_SOURCE

Kustomize rejects absolute paths as resource roots. Clone
odh-model-controller inside the kserve tree and use a relative path
so that the generated kustomization.yaml in bin/odh-mc-kustomize/
can resolve it correctly.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants