commit 512349a28d7779649d32850b2938aa3ce2af3e72 Author: Clark Boylan Date: Wed Sep 30 10:15:04 2020 -0700 Make gitea description update failures nonfatal There appears to be a gitea bug that causes PATCH updates to projects to fail when the cache is in a bad state for that project. We use PATCH updates to a project to set the project descriptions. Since project descriptions are not critical to gitea functionality (we weren't updating them until last week) we can treat this as best effort and ignore these failures. We'll log these cases to aid in further debugging but continue on. The next pass can retry. Change-Id: I625bdc0856caaccb6b55931b0cdc6cf11a0bf3e1 diff --git a/playbooks/roles/gitea-git-repos/library/gitea_create_repos.py b/playbooks/roles/gitea-git-repos/library/gitea_create_repos.py index 3936a44..fd5b697 100755 --- a/playbooks/roles/gitea-git-repos/library/gitea_create_repos.py +++ b/playbooks/roles/gitea-git-repos/library/gitea_create_repos.py @@ -210,12 +210,19 @@ class Gitea(object): description_update = { 'description': description, } - resp = self.patch( - '/api/v1/repos/{org}/{repo}'.format(org=org, repo=repo), - json=description_update) - # Commented out as there is no good way to log only those projects - # which have an updated description and as a result this is noisy. - #self.log("Set description for:", project['project']) + try: + resp = self.patch( + '/api/v1/repos/{org}/{repo}'.format(org=org, repo=repo), + json=description_update) + # Commented out as there is no good way to log only those + # projects which have an updated description and as a result + # this is noisy. + #self.log("Set description for:", project['project']) + except Exception as e: + # Updating descriptions is best effort as we may fail due to + # gitea bugs, but such a failure isn't critical. + self.log("Failed to set desciption for:", + project['project'], str(e)) def make_projects(self, projects, gitea_repos, csrf_token, settings_thread_pool, branches_thread_pool, futures):