Hello OpenStack Experts,

I am trying to set up a Gating system using Gerrit, Jenkins, and Zuul (2.5.0 
installed using PIP on Debian 8). I managed to get zuul-server, zuul-merger and 
Jenkins up and running. However, I am facing problems when Jenkins executes 
zuul-cloner as part of a build.

In short: zuul-cloner attempts to use 'origin/HEAD', which is present in the 
repository that zuul-merger prepared on its machine (Hostname "zuulserver"), 
but which does *not* exist in the repository that zuul-cloner created on the 
build slave. Zuul-cloner crashes and aborts the build with an error. Google 
does not provide any insight on the error message. What am I missing?

Long form: When I run a new build job, Jenkins starts zuul-cloner to prepare 
the workspace. Here is the relevant line from the Job configuration:

  zuul-cloner http://zuulserver:8822/p $ZUUL_PROJECT

 From this run, I get the following log:

INFO:zuul.CloneMapper:Workspace path set to: /var/jenkins_home/workspace/myjob
INFO:zuul.CloneMapper:Mapping projects to workspace...
INFO:zuul.CloneMapper:  fancyproject -> 
/var/jenkins_home/workspace/myjob/fancyproject
INFO:zuul.CloneMapper:Expansion completed.      
INFO:zuul.Cloner:Preparing 1 repositories
INFO:zuul.Cloner:Creating repo fancyproject from upstream 
http://zuulserver:8822/p/fancyproject
Traceback (most recent call last):
  File "/usr/local/bin/zuul-cloner", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/zuul/cmd/cloner.py", line 162, 
in main
    cloner.main()
  File "/usr/local/lib/python2.7/dist-packages/zuul/cmd/cloner.py", line 157, 
in main
    cloner.execute()
  File "/usr/local/lib/python2.7/dist-packages/zuul/lib/cloner.py", line 74, in 
execute
    self.prepareRepo(project, dest)
  File "/usr/local/lib/python2.7/dist-packages/zuul/lib/cloner.py", line 156, 
in prepareRepo
    repo.reset()
  File "/usr/local/lib/python2.7/dist-packages/zuul/merger/merger.py", line 99, 
in reset
    repo.head.reference = origin.refs['HEAD']
  File "/usr/local/lib/python2.7/dist-packages/git/util.py", line 706, in 
__getitem__
    raise IndexError("No item found with id %r" % (self._prefix + index))
IndexError: No item found with id u'origin/HEAD'
Build step 'Execute shell' marked build as failure

Cloning the repository actually worked, i.e., I can see the repo including the 
change to be tested in the Jenkins workspace on the build slave. I can then run 
"git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/master" in the 
repository created by zuul-cloner. When I then trigger my change in Gerrit 
again, the next build run will commence past the call to zuul-cloner. However, 
manually fixing *every* repository for *every* build job on *every* build slave 
does not appear to be a viable option. Am I missing something? Is this possibly 
a bug in Zuul? Googling the error message turns up a couple of commits, but 
nothing that provides any actual insight.

I apologize if I picked the wrong mailing list for this kind of question. In 
this case, please direct me to a more appropriate plaace.

Best regards
Damian Philipp
-----------------------------------------------------
Software Development Engineer 
RDE1

Vector Informatik GmbH
Ingersheimer Str. 24
70499 Stuttgart
Deutschland / Germany
Tel.: +49 711 80670-3656
Fax: +49 711 80670-399
mailto: [email protected]
Internet: www.vector.com

Sitz der Gesellschaft / Head Office: Stuttgart
Handelsregister / Commercial Register: 
Amtsgericht Stuttgart, HRB 17317 
Geschaeftsfuehrer / Managing Directors:
Dr. Thomas Beck, Thomas Riegraf
-----------------------------------------------------


_______________________________________________
OpenStack-Infra mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra

Reply via email to