| Summary: | Current autobuilder code incompatible with buildbot 3.5.0 | ||
|---|---|---|---|
| Product: | [Infrastructure] AutoBuilder | Reporter: | Jate Sujjavanich <jatedev> |
| Component: | autobuilder | Assignee: | Richard Purdie <richard.purdie> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium+ | CC: | infras.ab.watcher, Infras.watcher, mhalstead, pidge, randy.macleod, tarxf |
| Version: | unspecified | ||
| Target Milestone: | 4.3 M1 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Don't know | |
|
Description
Jate Sujjavanich
2022-08-17 22:27:15 UTC
Hi Jate, have you inspected your yocto-controller/twistd.log when the process gets stuck? are there any other signs of obvious errors that you can share? I just installed the autobuilder controller following the instructions and I did run into some bumps which I'll be sending patches for soon but I wanted to check if yours is a different error. In the controller twistd.log, the instance on 3.5.0 jumps straight to the next step from run-config's generation of json to Clobber build dir. I added some debug code to the functions in runconfig.py's RunConfigCheckSteps. In 2.8.4, I see calls to evaluateCommand: 2022-09-12 15:32:55-0400 [-] DEBUG: RunConfigCheckSteps.run() 2022-09-12 15:32:55-0400 [-] DEBUG: RunConfigCheckSteps.start() 022-09-12 15:32:55-0400 [-] ShellCommand.startCommand(cmd=<RemoteShellCommand ' ['/home/pokybuild3/yocto-worker/syntux-dunfell/yocto-autobuilder-helper/scripts/ run-config' ... --json-outputfile ... ... 2022-09-12 15:32:55-0400 [-] closing log <buildbot.process.buildstep.SyncLogFile Wrapper object at 0x7f1ba8fe3ba8> 2022-09-12 15:32:55-0400 [-] closing log <buildbot.process.buildstep.SyncLogFile Wrapper object at 0x7f1ba914b0b8> 2022-09-12 15:32:55-0400 [-] DEBUG: evaluateCommand 2022-09-12 15:32:56-0400 [-] releaseLocks(RunConfigCheckSteps(posttrigger=False)): [] 2022-09-12 15:32:56-0400 [-] step 'Check run-config steps to use' complete: success (None) 2022-09-12 15:32:56-0400 [-] ShellCommand.startCommand(cmd=<RemoteShellCommand '['/home/pokybuild3/yocto-worker/syntux-dunfell/yocto-autobuilder-helper/scripts/run-config' ... --phase 1 But with 3.5.0: 2022-09-20 20:05:50-0400 [-] step 'Set build branch' complete: success (None) 2022-09-20 20:05:50-0400 [-] <RemoteShellCommand '['/home/pokybuild3/yocto-worke r/qemux86-64/yocto-autobuilder-helper/scripts/run-config', --json-outputfile ... 2022-09-20 20:05:50-0400 [-] releaseLocks(RunConfigCheckSteps(posttrigger=False)): [] 2022-09-20 20:05:50-0400 [-] step 'Check run-config steps to use' complete: success (None) 2022-09-20 20:05:50-0400 [-] <RemoteShellCommand '['/home/pokybuild3/yocto-autobuilder-helper/janitor/clobberdir', '/home/pokybuild3/yocto-worker/qemux86-64/']'>: RemoteCommand.run [13] 2022-09-20 20:05:50-0400 [-] command '['/home/pokybuild3/yocto-autobuilder-helper/janitor/clobberdir', '/home/pokybuild3/yocto-worker/qemux86-64/']' in dir 'build' ok, I'll take a look at this and see if the 3.6.0 behaves the same as 3.5.0 you mention. While using the yocto-autobuilder2 code, I became curious about exactly what version stopped working. By bisecting the versions, I learned it was buildbot 3.0.0. That's when I found the release notes about the deprecation of old-style build steps. E.g., ShellCommand. In 2.9.x, buildbot's developers added deprecation warnings to begin the process of removing old-style steps. They added *NewStyle aliases to allow gradual migration to the new API. In 3.0.x, they formally removed old-style steps. In 3.1.x, they removed the *NewStyle aliases. Before moving to this version, the *NewStyle aliases should be converted to standard classes. I some patches which go through this migration process. I've done simple testing up through 3.2.x. There will probably have to be a structured test plan to cover autobuilder2 through the latest version. We've updated to new versions of buildbot now. |