Croway commented on PR #29565: URL: https://github.com/apache/camel/pull/29565#issuecomment-6769357200
Thanks for tackling this. I reproduced the trigger and the occupier in a local Jenkins with the same layout as ci-builds (`Camel` folder > multibranch `Camel Core (Build and test)` + sibling `camel-alt-arch-occupier`): 1. **The occupier job is never found.** `build job: 'camel-alt-arch-occupier'` is looked up inside the multibranch project, then at the Jenkins root (`Jenkins.getItem`, pipeline-build-step `BuildTriggerStepExecution`). Result: `ERROR: No item named camel-alt-arch-occupier found` while the build stays SUCCESS. With `'../camel-alt-arch-occupier'` (or `'/Camel/camel-alt-arch-occupier'`) it prints `Scheduling project: Camel » camel-alt-arch-occupier`. It might also help to use `stageResult: 'UNSTABLE'` so this kind of setup error shows in the UI. 2. **Sandbox.** A pipeline script from SCM is sandboxed, and neither `new groovy.json.JsonSlurperClassic` nor `method groovy.json.JsonSlurperClassic parseText java.lang.String` is allowed by default. The occupier logs `WARN: alt-arch node provisioning workaround failed, ignoring: Scripts not permitted to use new groovy.json.JsonSlurperClassic` and occupies nothing. Approving needs Infra, twice (the second signature only shows up after the first is approved). Could the parsing happen in the `sh` step instead, so that Groovy only splits plain text? 3. **`/job/Camel/` also matches the occupier's own runs and `Camel-Kamelets (ppc64le)`**, which doesn't use the `camel` throttle. Fed nodes where those were the only "Camel" executor, `planIdleExecutorsToOccupy` still planned to occupy them. Excluding the occupier job, or matching only the Camel Core jobs, would avoid holding executors that a Camel build could use. 4. The "Inspect nodes" stage does the default `checkout scm` of apache/camel just to `load` one file, and it waits for `ubuntu-avx` (4 nodes on ci-builds). `skipDefaultCheckout()` plus inlining the helper, and `label 'ubuntu'`, would make it start faster. Question: today's main #2429 alt-arch stages were blocked by "Already running 1 builds on node" (parallelBuildInvestigation #43), and after about 5–7 minutes they got newly leased `jenkins-s390x-1` / `jenkins-osu-power9-3` without any occupier. Do you have a build where the wait lasted hours? That would confirm the idle executor is what blocks the lease, rather than the shared pool being used up by other controllers. _Claude Code on behalf of Croway_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
