Make gerrit work on xenial
First, add a params class so that we can distinguish between java packages on different Ubuntu releases. Set sql-mode for mysql to remove NO_ZERO_DATE mode so gerrit can initialize. If not removed, gerrit tries to create the account_group_by_id_aud table with column added_on with a default value of 0 and fails. This is only important for CI and downstream since Infra's gerrit instance uses trove instead of a local database. Depends-On: If25da754ec107b8dba2d9343f16b54b99cc88e01 Change-Id: Ifd2244ae9dd212b2475f9cd6adb994bc058a4769
This commit is contained in:
parent
76454dd134
commit
0fdd0671c0
|
@ -272,8 +272,8 @@ class gerrit(
|
|||
$cache_diff_intraline_timeout = '',
|
||||
$download = {},
|
||||
$commitmessage_params = {},
|
||||
$java_home = '/usr/lib/jvm/java-7-openjdk-amd64/jre',
|
||||
) {
|
||||
$java_home = $::gerrit::params::java_home,
|
||||
) inherits ::gerrit::params {
|
||||
include ::httpd
|
||||
|
||||
if $manage_jeepyb {
|
||||
|
@ -304,13 +304,13 @@ class gerrit(
|
|||
ensure => present,
|
||||
}
|
||||
|
||||
package { 'openjdk-7-jre-headless':
|
||||
package { $::gerrit::params::jre_package:
|
||||
ensure => present,
|
||||
}
|
||||
|
||||
package { 'openjdk-6-jre-headless':
|
||||
ensure => purged,
|
||||
require => Package['openjdk-7-jre-headless'],
|
||||
require => Package[$::gerrit::params::jre_package],
|
||||
}
|
||||
|
||||
file { '/var/log/gerrit':
|
||||
|
@ -726,7 +726,7 @@ class gerrit(
|
|||
command => "/usr/bin/java -jar ${gerrit_war} init -d ${gerrit_site} --batch --no-auto-start",
|
||||
subscribe => File['/home/gerrit2/review_site/bin/gerrit.war'],
|
||||
refreshonly => true,
|
||||
require => [Package['openjdk-7-jre-headless'],
|
||||
require => [Package[$::gerrit::params::jre_package],
|
||||
User['gerrit2'],
|
||||
File['/home/gerrit2/review_site/etc/gerrit.config'],
|
||||
File['/home/gerrit2/review_site/etc/secure.config']],
|
||||
|
@ -770,7 +770,7 @@ class gerrit(
|
|||
command => "/etc/init.d/gerrit stop; /usr/bin/java -jar ${gerrit_war} init -d ${gerrit_site} --batch --no-auto-start",
|
||||
subscribe => File['/home/gerrit2/review_site/bin/gerrit.war'],
|
||||
refreshonly => true,
|
||||
require => [Package['openjdk-7-jre-headless'],
|
||||
require => [Package[$::gerrit::params::jre_package],
|
||||
User['gerrit2'],
|
||||
File['/home/gerrit2/review_site/etc/gerrit.config'],
|
||||
File['/home/gerrit2/review_site/etc/secure.config']],
|
||||
|
|
|
@ -25,6 +25,8 @@ the mysql module.")
|
|||
override_options => {
|
||||
'mysqld' => {
|
||||
'default-storage-engine' => 'InnoDB',
|
||||
# Remove NO_ZERO_DATE mode so gerrit can initialize
|
||||
'sql-mode' => 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION',
|
||||
}
|
||||
},
|
||||
}
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
# gerrit::params
|
||||
class gerrit::params (
|
||||
){
|
||||
case $::lsbdistcodename {
|
||||
'trusty': {
|
||||
$jre_package = 'openjdk-7-jre-headless'
|
||||
$java_home = '/usr/lib/jvm/java-7-openjdk-amd64/jre'
|
||||
}
|
||||
'xenial': {
|
||||
$jre_package = 'openjdk-8-jre-headless'
|
||||
$java_home = '/usr/lib/jvm/java-8-openjdk-amd64/jre'
|
||||
}
|
||||
default: {
|
||||
fail("Operating system release ${::lsbdistcodename} not supported.")
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,6 +4,7 @@ hosts.each do |host|
|
|||
|
||||
install_puppet
|
||||
|
||||
|
||||
on host, "mkdir -p #{host['distmoduledir']}"
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue