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]

Reply via email to