Poll manage projects config fetches.
Retry every 2 seconds when fetching the refs/meta/config ref from gerrit
on new projects.
Change-Id: I5942396fb8dbede167f86e48aff6e8ec17eee282
diff --git a/jeepyb/cmd/manage_projects.py b/jeepyb/cmd/manage_projects.py
index 372e2ed..230e274 100644
--- a/jeepyb/cmd/manage_projects.py
+++ b/jeepyb/cmd/manage_projects.py
@@ -128,8 +128,19 @@
def fetch_config(project, remote_url, repo_path, env={}):
- status = git_command(repo_path, "fetch %s +refs/meta/config:"
- "refs/remotes/gerrit-meta/config" % remote_url, env)
+ # Poll for refs/meta/config as gerrit may not have written it out for
+ # us yet.
+ for x in range(10):
+ status = git_command(repo_path, "fetch %s +refs/meta/config:"
+ "refs/remotes/gerrit-meta/config" %
+ remote_url, env)
+ if status == 0:
+ break
+ else:
+ log.debug("Failed to fetch refs/meta/config for project: %s" %
+ project)
+ time.sleep(2)
+
if status != 0:
log.error("Failed to fetch refs/meta/config for project: %s" % project)
return False