tree 503c13e67d25c3f12316c58626b747d9595b2654
parent 22c5b7155b9f7ea1df725393ba6faf1ab0869650
author Tobias Henkel <tobias.henkel@bmw.de> 1517407748 +0100
committer Tobias Henkel <tobias.henkel@bmw.de> 1517408221 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+y7hWy8PEmYraO2WA3UN7BWOX6IFAlpxz90ACgkQA3UN7BWO
 X6LlCQ/8C0+SC0bv9soox5RoyTi7hREFjhILLQ7HiOOmz/rDNGgtd0p8mfZHa+mL
 T4HxFVyWlVzXoRYvop3BP1iSOgMigHU7TFRGLCDz23YeDZEYrU7I2RVGQg4WocPL
 Tnh6f7GvaCYhvBcixwJrsn75Ml/gretwukRSlEiN5GqBH9xz/7is09LM5mx+F3OO
 6KVcRXQrNYtbk2Q/KkhLNCpIIMhdjvUe9aQAZj/23tRZhK4RpCD+x8HgcCgOpPWo
 XOwFL835aZvYnX7/V1RAMbDaa+poF+wT0LfktaN4icZjgL4eCToQwND6xh56ug+n
 UGK4E5FNEnq068r+xzs7YI3YX5hKPRCMQTPiNzDoN0p8pF5RC6/Xw+W0gbVlSvGr
 mKfJdqmoHNahveUG1JTrjqoP+MJRq7NpBZJdBvEHfFf7mbDA9BlZ9zH5HQoYZcvz
 vA+2KuxCMA71Tp+S+t3UF4fzkfWATv5kIZgtCOqyvnjSI4ycmJmlaHB+T4/EsMfN
 Nn2F9meBvCNuRLPOCYNDTznFRgr4+c1CQdcMkAWAfJVcXQ8xAfjMcKV9VdCgqoML
 gzmk7A/5cY5III8nJxDN+sQIShF/cCJB8glzetJP987OxFBinsncM7WrwQmvMpWT
 3JjQ9wzDScbjxgHQo5tzIk86QZCEuAf1vbwRzdRg0PqFOc/cQLY=
 =YxhF
 -----END PGP SIGNATURE-----

Fix lazy initialization of GithubUser with apps

When in app mode the lazy initialization of the GithubUser object can
fail because the github client is eager initialized. This is the case
if the job takes longer than the lifetime of the auth token which
crashes reporting than with [1].

[1] Trace:
2018-01-31 09:21:55,354 ERROR zuul.Pipeline.xpad.gate: Exception while reporting:
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/zuul/manager/__init__.py", line 856, in _reportItem
    ret = self.sendReport(actions, item)
  File "/usr/lib/python3.6/site-packages/zuul/manager/__init__.py", line 175, in sendReport
    ret = reporter.report(item)
  File "/usr/lib/python3.6/site-packages/zuul/driver/github/githubreporter.py", line 73, in report
    self.mergePull(item)
  File "/usr/lib/python3.6/site-packages/zuul/driver/github/githubreporter.py", line 137, in mergePull
    message = self._formatMergeMessage(item.change)
  File "/usr/lib/python3.6/site-packages/zuul/driver/github/githubreporter.py", line 175, in _formatMergeMessage
    if not account:
  File "/usr/lib/python3.6/site-packages/zuul/driver/github/githubconnection.py", line 377, in __len__
    self._init_data()
  File "/usr/lib/python3.6/site-packages/zuul/driver/github/githubconnection.py", line 382, in _init_data
    user = self._github.user(self._username)
  File "/usr/lib/python3.6/site-packages/github3/github.py", line 1657, in user
    json = self._json(self._get(url), 200)
  File "/usr/lib/python3.6/site-packages/github3/models.py", line 211, in _json
    if self._boolean(response, status_code, 404) and response.content:
  File "/usr/lib/python3.6/site-packages/github3/models.py", line 233, in _boolean
    raise exceptions.error_for(response)
github3.exceptions.AuthenticationFailed: 401 Bad credentials

Change-Id: Id38520b790d7d7c6ce72bbcc8a736ed7485b5ae1
