Page MenuHomePhabricator

wmf-pcc: Puppet compiler integration is confusing when Puppet 5 support is dropped
Closed, ResolvedPublic

Assigned To
Authored By
hashar
Jul 30 2024, 3:39 PM
Referenced Files
F56790807: gerrit_run_pcc.png
Jul 30 2024, 5:14 PM
F56790356: gerrit_split_pcc_results.png
Jul 30 2024, 5:11 PM
F56790350: gerrit_split_pcc_runs.png
Jul 30 2024, 5:11 PM
F56790299: gerrit_pcc5_failed_alone.png
Jul 30 2024, 5:11 PM
F56789791: gerrit_so_many_pcc_results.png
Jul 30 2024, 3:39 PM
F56789758: gerrit_pcc_5_failed.png
Jul 30 2024, 3:39 PM

Description

Whenever clicking RUN PUPPET COMPILER or commenting check experimental, Zuul CI runs two jobs:

experimental:
  - operations-puppet-catalog-compiler-test
  - operations-puppet-catalog-compiler-puppet7-test

The first is hardwired to run Puppet version 5, however some roles and hosts have started breaking back compatibility. The first job thus fail and that is to be expected. When our wmf-checks-api Javascript plugin process the result, we get a red chipset indicating the compilation failed:

gerrit_pcc_5_failed.png (62×481 px, 11 KB)

Which really is just version 5 failing:

gerrit_so_many_pcc_results.png (381×792 px, 49 KB)

Demo change: https://gerrit.wikimedia.org/r/c/operations/puppet/+/1057967?tab=checks

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
hashar renamed this task from wmf-checks-api: Puppet compiler integration is confusing when Puppet 5 support is dropped to wmf-pcc: Puppet compiler integration is confusing when Puppet 5 support is dropped.Jul 30 2024, 3:55 PM

The Gerrit Checks API has two layers: Runs and Results.

Each of the Jenkins jobs are results of a single Run Puppet Compiler [CI], thus to split them I gotta refactor the code so that each Jenkins job is a Run by itself with a single Result.

Change #1058219 had a related patch set uploaded (by Hashar; author: Hashar):

[operations/software/gerrit@deploy/wmf/stable-3.10] wm-pcc: separate v5 and v7 in two runs

https://gerrit.wikimedia.org/r/1058219

I went to split the version 5 and version 7 into two Runs so that they show up as two different chipsets under the commit message. If I take the change which fails solely on Puppet 5 ( https://gerrit.wikimedia.org/r/c/operations/puppet/+/1057967 ), that yields:

The red chipset now has the v5 mention (v7 passes and is collapsed in the blue / INFO one):

gerrit_pcc5_failed_alone.png (61×497 px, 12 KB)

v5 and v7 are each different runs:

gerrit_split_pcc_runs.png (228×287 px, 17 KB)

The results are the same, albeit having a different run:

gerrit_split_pcc_results.png (354×775 px, 43 KB)

For a change that did not have the PCC to run, the runnable is still named Puppet Compiler [CI:

gerrit_run_pcc.png (196×286 px, 12 KB)

And if its clicked I don't think anything happens in the frontend (it is merely a Runnable T363918#9829722), but at some time the user is asked to reload the page which would then show the v5 and v7 runs.

Change #1058219 merged by jenkins-bot:

[operations/software/gerrit@deploy/wmf/stable-3.10] wm-pcc: separate v5 and v7 in two runs

https://gerrit.wikimedia.org/r/1058219

Mentioned in SAL (#wikimedia-operations) [2024-07-30T17:50:55Z] <hashar@deploy1003> Started deploy [gerrit/gerrit@40e4e0f]: wm-pcc: separate v5 and v7 in two runs - T371407

Mentioned in SAL (#wikimedia-operations) [2024-07-30T17:51:05Z] <hashar@deploy1003> Finished deploy [gerrit/gerrit@40e4e0f]: wm-pcc: separate v5 and v7 in two runs - T371407 (duration: 00m 09s)

hashar claimed this task.

Self note: that also disambiguate the PCC failure I have noticed on a change made to Cumin which no more support supports Puppet v5 but for which the change works fine on Puppet v7 https://gerrit.wikimedia.org/r/c/operations/puppet/+/1056985?tab=checks

Thanks @jhathaway to have raised it up!