Page MenuHomePhabricator

Puppet compiler: abort on git rebase conflict
Closed, ResolvedPublic

Description

We should abort and fail the puppet compiler run if there is any conflict while rebasing from production branch.

See an example of what happens now:

[ 2017-02-02T08:58:13 ] INFO: Working on change 330436
[ 2017-02-02T08:58:13 ] INFO: No host list provided, generating the nodes list
[ 2017-02-02T08:58:13 ] INFO: Walking dir /var/lib/catalog-differ/puppet/yaml/facts
[ 2017-02-02T08:58:13 ] INFO: Refreshing the common repos from upstream if needed
[ 2017-02-02T08:58:25 ] INFO: Creating directories under /mnt/jenkins-workspace/puppet-compiler
[ 2017-02-02T08:58:37 ] INFO: Starting new HTTPS connection (1): gerrit.wikimedia.org
Note: checking out 'FETCH_HEAD'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 35a1f39... Cumin: allow connection to the targets
From /var/lib/catalog-differ/production
 * branch            production -> FETCH_HEAD
First, rewinding head to replay your work on top of it...
Applying: Cumin: allow connection to the targets
Using index info to reconstruct a base tree...
M	hieradata/common.yaml
M	manifests/site.pp
Falling back to patching base and 3-way merge...
Auto-merging manifests/site.pp
Auto-merging hieradata/common.yaml
CONFLICT (content): Merge conflict in hieradata/common.yaml
Failed to merge in the changes.
Patch failed at 0001 Cumin: allow connection to the targets
The copy of the patch that failed is found in:
   /mnt/jenkins-workspace/puppet-compiler/5312/change/src/.git/rebase-apply/patch

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".

[ 2017-02-02T08:58:49 ] INFO: Compiling host mw2219.codfw.wmnet (production)
[ 2017-02-02T08:58:49 ] INFO: Compiling host lvs2005.codfw.wmnet (production)
[ 2017-02-02T08:59:01 ] INFO: Compiling host lvs2005.codfw.wmnet (change)
[ 2017-02-02T08:59:05 ] ERROR: Compilation failed for hostname lvs2005.codfw.wmnet  with the change.
[ 2017-02-02T08:59:05 ] INFO: Compilation exited with code 30
[ 2017-02-02T08:59:05 ] INFO: Compiling host ms-be1001.eqiad.wmnet (production)
[ 2017-02-02T08:59:08 ] INFO: Compiling host mw2219.codfw.wmnet (change)
[ 2017-02-02T08:59:09 ] INFO: Nodes: 0 NOOP 0 DIFF 1 ERROR 0 FAIL

Source: https://integration.wikimedia.org/ci/job/operations-puppet-catalog-compiler/5312/console

Event Timeline

Volans lowered the priority of this task from Medium to Low.Feb 14 2019, 4:55 PM

If this is still occurring it seems as though it just needs to check if the rebase failed, and exit immediately.

Change 549845 had a related patch set uploaded (by Jbond; owner: John Bond):
[operations/software/puppet-compiler@master] puppet_compiler.prepare: Fail fast if the git commands fail

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

Change 549845 merged by Jbond:
[operations/software/puppet-compiler@master] puppet_compiler.prepare: Fail fast if the git commands fail

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

jbond claimed this task.
jbond subscribed.

I think this should be fixed now please reopen if there is still an issue