
If replicate_local is set, this will ensure that /var/lib/git is created, and that projects listed in the projects.config have repos there. Additionally, it creates a new config file, projects.config which is a yaml file listing all of the projects and various operational semantics about them, such as whether or not they should have pull requests closed and whether or not they track any remotes. This replaces remotes.config and github.config. Moving forward, there is no reason to not have this script be able to do github api calls to create the github repo if it's not there, set the github project description, gerrit api calls to create the project in gerrit, and initial project permissions templates. Change-Id: I1ad803b0aa5f7386206d0c3f4cd858017242fe64
65 lines
2.5 KiB
Puppet
65 lines
2.5 KiB
Puppet
# Current thinking on Gerrit tuning parameters:
|
|
|
|
# database.poolLimit:
|
|
# This limit must be several units higher than the total number of
|
|
# httpd and sshd threads as some request processing code paths may need
|
|
# multiple connections.
|
|
# database.poolLimit = 1 + max(sshd.threads,sshd.batchThreads) + sshd.streamThreads + sshd.commandStartThreads + httpd.acceptorThreads + httpd.maxThreads
|
|
# http://groups.google.com/group/repo-discuss/msg/4c2809310cd27255
|
|
# or "2x sshd.threads"
|
|
# http://groups.google.com/group/repo-discuss/msg/269024c966e05d6a
|
|
|
|
# container.heaplimit:
|
|
# core.packedgit*
|
|
# http://groups.google.com/group/repo-discuss/msg/269024c966e05d6a
|
|
|
|
# sshd.threads:
|
|
# http://groups.google.com/group/repo-discuss/browse_thread/thread/b91491c185295a71
|
|
|
|
# httpd.maxWait:
|
|
# 12:07 <@spearce> httpd.maxwait defaults to 5 minutes and is how long gerrit
|
|
# waits for an idle sshd.thread before aboring the http request
|
|
# 12:08 <@spearce> ironically
|
|
# 12:08 <@spearce> ProjectQosFilter passes this value as minutes
|
|
# 12:08 <@spearce> to a method that accepts milliseconds
|
|
# 12:09 <@spearce> so. you get 5 milliseconds before aborting
|
|
# thus, set it to 5000minutes until the bug is fixed.
|
|
class openstack_project::review(
|
|
$github_oauth_token,
|
|
$mysql_password,
|
|
$mysql_root_password,
|
|
$email_private_key,
|
|
$gerritbot_password) {
|
|
include openstack_project
|
|
class { 'openstack_project::gerrit':
|
|
ssl_cert_file => '/etc/ssl/certs/review.openstack.org.pem',
|
|
ssl_key_file => '/etc/ssl/private/review.openstack.org.key',
|
|
ssl_chain_file => '/etc/ssl/certs/intermediate.pem',
|
|
email => 'review@openstack.org',
|
|
database_poollimit => '150', # 1 + 100 + 9 + 2 + 2 + 25 = 139(rounded up)
|
|
container_heaplimit => '8g',
|
|
core_packedgitopenfiles => '4096',
|
|
core_packedgitlimit => '400m',
|
|
core_packedgitwindowsize => '16k',
|
|
sshd_threads => '100',
|
|
httpd_maxwait => '5000min',
|
|
war => 'http://tarballs.openstack.org/ci/gerrit-2.4.2-11-gb5a28fb.war',
|
|
script_user => 'launchpadsync',
|
|
script_key_file => '/home/gerrit2/.ssh/launchpadsync_rsa',
|
|
projects_file => 'puppet:///openstack_project/review.projects.yaml',
|
|
github_username => 'openstack-gerrit',
|
|
github_oauth_token => $github_oauth_token,
|
|
mysql_password => $mysql_password,
|
|
mysql_root_password => $mysql_root_password,
|
|
email_private_key => $email_private_key,
|
|
}
|
|
class { 'gerritbot':
|
|
nick => 'openstackgerrit',
|
|
password => $gerritbot_password,
|
|
server => 'irc.freenode.net',
|
|
user => 'gerritbot',
|
|
virtual_hostname => $fqdn
|
|
}
|
|
include gerrit::remotes
|
|
}
|