system-config/playbooks/roles/gerrit/templates/gerrit.config.j2
Clark Boylan 91ab316142 Fix gerrit upgrade config diff checking
There were two problems with our gerrit upgrade config diff checking.
The first is that we were comparing using command exit codes after
pipeing diff to tee without setting pipefail. This meant that even if
the diff failed we got an exit code of 0 from tee and everything passed
happily.

Second we were not checking our pre gerrit state diff state. If the old
gerrit version also updated the config on disk we wouldn't get a diff
after upgrading to the new version. I think that is ultimately what
broke for us here because the 3.6 and 3.7 config diffs are empty, but
they differ from what we initially write to disk. As for explaining why
this might happen I can only assume some update to 3.6 made the changes
we saw after we had deployed 3.6.

As a result of checking things more thoroughly we need to update our
config to remove any delta. This removes some extraneous quoting around
gitweb config entries to do that.

Change-Id: I9c7e73d5f64546fb57a21a249b29e2aca9229ac7
2023-04-07 13:57:51 -07:00

199 lines
5.0 KiB
Django/Jinja

# This file is managed by ansible.
# https://opendev.org/opendev/system-config
[gerrit]
basePath = git
canonicalWebUrl = https://{{ gerrit_vhost_name }}/
reportBugText = Get Help
reportBugUrl = "https://docs.openstack.org/infra/system-config/project.html#contributing"
gitHttpUrl = https://{{ gerrit_vhost_name }}/
serverId = {{ gerrit_serverid }}
[auth]
# We have a long history of case sensitive usernames and need
# to preserve that behavior.
userNameCaseInsensitive = false
{% if not gerrit_run_init_dev_mode %}
contributorAgreements = true
type = OPENID_SSO
cookieSecure = true
enableRunAs = true
openIdSsoUrl = https://login.ubuntu.com/+openid
{% else %}
type = DEVELOPMENT_BECOME_ANY_ACCOUNT
# In dev mode it's very useful to be able to reload plugins
[plugins]
allowRemoteAdmin = true
{% endif %}
[sendemail]
smtpServer = localhost
from = MIXED
includeDiff = false
threadPoolSize = 4
[container]
user = gerrit2
startupTimeout = 300
{% if gerrit_heap_limit is defined %}
heapLimit = {{ gerrit_heap_limit }}
{% endif %}
javaHome = /usr/lib/jvm/java-11-openjdk-amd64
javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"
javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"
[gc]
[core]
packedGitOpenFiles = {{ gerrit_packed_git_open_files }}
packedGitLimit = 400m
packedGitWindowSize = 16k
[sshd]
listenAddress = *:29418
threads = 100
# batchThreads = 0 means share the 100 thread pool set above.
batchThreads = 0
idleTimeout = 3600
maxConnectionsPerUser = 96
[httpd]
listenUrl = proxy-https://*:8081/
minThreads = 20
maxThreads = 150
maxQueued = 200
requestLog = true
[tracing]
performanceLogging = false
[cache]
directory = cache
[cache "accounts"]
memoryLimit = 32768
[cache "accounts_byemail"]
memoryLimit = 32768
[cache "accounts_byname"]
memoryLimit = 32768
[cache "changeid_project"]
memoryLimit = 32768
[cache "groups_bysubgroup"]
memoryLimit = 2048
[cache "groups_byuuid"]
memoryLimit = 32768
[cache "permission_sort"]
memoryLimit = 2048
[cache "projects"]
memoryLimit = 4096
[cache "web_sessions"]
maxAge = 7days
# Set to @openstack.org because @opendev.org lacks a valid MX
[user]
email = review@openstack.org
[change]
allowDrafts = false
disablePrivateChanges = true
move = false
# Keep pre-3.4 behavior
mergeabilityComputationBehavior = API_REF_UPDATED_AND_CHANGE_REINDEX
# Explicitly enable this to avoid problems if the default changes
conflictsPredicateEnabled = true
[receive]
maxObjectSizeLimit = 100 m
enableSignedPush = false
[commentlink "bugheader"]
match = "([Cc]loses|[Pp]artial|[Rr]elated)-[Bb]ug:\\s*#?(\\d+)"
link = https://launchpad.net/bugs/$2
html =
[commentlink "bug"]
match = "\\b[Bb]ug:? #?(\\d+)"
link = https://launchpad.net/bugs/$1
html =
[commentlink "story"]
match = "\\b[Ss]tory:? #?(\\d+)"
link = "{{ gerrit_storyboard_url }}/#!/story/$1"
html =
[commentlink "task"]
match = "\\b[Tt]ask:? #?(\\d+)"
link = "{{ gerrit_storyboard_url }}/#!/task/$1"
html =
[commentlink "its-storyboard"]
match = "\\b[Tt]ask:? #?(\\d+)"
link = task: $1
html =
[commentlink "blueprint"]
match = "(\\b[Bb]lue[Pp]rint\\b|\\b[Bb][Pp]\\b)[ \\t#:]*([A-Za-z0-9\\-]+)"
link = https://blueprints.launchpad.net/openstack/?searchtext=$2
html =
[commentlink "changeid"]
match = (I[0-9a-f]{8,40})
link = "/#/q/$1"
html =
[commentlink "gitsha"]
match = "(<p>|[\\s(])([0-9a-f]{40})(</p>|[\\s.,;:)])"
link =
html = "$1<a href=\"/#/q/$2\">$2</a>$3"
[its-storyboard]
url = {{ gerrit_storyboard_url }}
[trackingid "launchpad-bug"]
match = "\\#?(\\d+)"
footer = closes-bug:
footer = partial-bug:
footer = related-bug:
system = Launchpad
[trackingid "storyboard-story"]
match = "\\#?(\\d+)"
footer = story:
system = Storyboard
[trackingid "storyboard-task"]
match = "\\#?(\\d+)"
footer = task:
system = Storyboard
[plugin "javamelody"]
allowTopMenu = false
# Custom code browser linking for Gitea.
[gitweb]
branch = ${project}/src/branch/${branch}
file = ${project}/src/commit/${hash}/${file}
filehistory = ${project}/commits/branch/${branch}/${file}
linkname = gitea
project = ${project}
revision = ${project}/commit/${commit}
roottree = ${project}/src/commit/${commit}
type = custom
urlEncode = false
tag = ${project}/src/tag/${tag}
url = https://opendev.org/
[index]
type = LUCENE
threads = 8
[download]
command = checkout
command = cherry_pick
command = pull
command = format_patch
scheme = ssh
scheme = anon_http
archive = tar
archive = tbz2
archive = tgz
archive = txz
# Plugin commit-message-length-validator config
[commitmessage]
maxLineLength = 72
[groups]
newGroupsVisibleToAll = true
[mimetype "image/*"]
safe = true
[mimetype "text/x-yaml"]
safe = true
[mimetype "text/xml"]
safe = true
[mimetype "application/xml"]
safe = true
[mimetype "text/x-rst"]
safe = true
[mimetype "text/plain"]
safe = true
[mimetype "text/x-puppet"]
safe = true
[mimetype "text/x-ini"]
safe = true
[mimetype "text/x-properties"]
safe = true
[mimetype "text/x-markdown"]
safe = true
[mimetype "text/css"]
safe = true