This reverts commit 5b5f94d764.
Since switching to Noble and Podman using sigint to gracefully request
Gerrit shutdown we've run into shutdowns that hit our 5 minute timeout
causing podman to issue a sigkill which does stop gerrit. In manual
testing in April and in our CI jobs sigint typically works for shutting
down Gerrit in a reasonable amount of time just like sighup did before
moving to podman. This makes me wonder if there are other shutdown tasks
that are simply taking longer than the time allotted.
One such shutdown task is the h2 compaction which we set to a 15000ms
timeout in the reverted change. There are 17 h2 cache DBs which comes
out to a max of 255 seconds if performed serially. This is less than 300
seconds but close enough that if there are other shutdown tasks taht
need at least 45 seconds we could be hitting the podman shutdown
timeout.
Since we're typically deleting these large cache files on disk anyway as
part of the gerrit restart process lets go ahead and pull this
configuration out of our gerrit install. It is redundant and may be
contributing to slow shutdowns.
Change-Id: I7d4a09251f7e86b26a4a5cf7aa1081ede58aa5ab
215 lines
5.5 KiB
Django/Jinja
215 lines
5.5 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 %}
|
|
# TODO(clarkb) javaHome and possibly javaOptions may be candidates
|
|
# for cleanup. The upstream gerrit.sh init script fetches these
|
|
# values to configure Gerrit startup, but we we a very simple
|
|
# startup script in our containers now.
|
|
javaHome = /usr/lib/jvm/java-17-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"
|
|
[log]
|
|
rotate = true
|
|
compress = true
|
|
timeToKeep = 30d
|
|
[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
|
|
[cache "git_modified_files"]
|
|
memoryLimit = 128m
|
|
diskLimit = 512m
|
|
[cache "modified_files"]
|
|
memoryLimit = 128m
|
|
diskLimit = 512m
|
|
[cache "git_file_diff"]
|
|
memoryLimit = 256m
|
|
diskLimit = 2g
|
|
[cache "gerrit_file_diff"]
|
|
memoryLimit = 256m
|
|
diskLimit = 3g
|
|
# 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
|
|
[commentlink "bug"]
|
|
match = "\\b[Bb]ug:? #?(\\d+)"
|
|
link = https://launchpad.net/bugs/$1
|
|
[commentlink "story"]
|
|
match = "\\b[Ss]tory:? #?(\\d+)"
|
|
link = "{{ gerrit_storyboard_url }}/#!/story/$1"
|
|
[commentlink "task"]
|
|
match = "\\b[Tt]ask:? #?(\\d+)"
|
|
link = "{{ gerrit_storyboard_url }}/#!/task/$1"
|
|
[commentlink "its-storyboard"]
|
|
match = "\\b[Tt]ask:? #?(\\d+)"
|
|
link = task: $1
|
|
[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
|
|
[commentlink "changeid"]
|
|
match = (I[0-9a-f]{8,40})
|
|
link = "/#/q/$1"
|
|
[commentlink "gitsha"]
|
|
match = "(<p>|[\\s(])([0-9a-f]{40})(</p>|[\\s.,;:)])"
|
|
link = "/#/q/$2"
|
|
prefix = $1
|
|
text = $2
|
|
suffix = $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]
|
|
maxTerms = 1536
|
|
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
|