Move elastic-recheck bot to status.o.o

Also, normalize some parameters to the status manifest to make it
more readable (since they follow the same pattern).  And make the
ssh config for elastic-recheck bot match reviewday.

Change-Id: I2417f121e7b3685aab9540504cdd4c6db1754e67
This commit is contained in:
James E. Blair 2013-12-31 11:11:55 -08:00
parent 5f56371db8
commit 2bb28339cb
5 changed files with 76 additions and 59 deletions

View File

@ -316,13 +316,6 @@ node 'logstash.openstack.org' {
'elasticsearch5.openstack.org:9200', 'elasticsearch5.openstack.org:9200',
'elasticsearch6.openstack.org:9200', 'elasticsearch6.openstack.org:9200',
], ],
# Config for elastic-recheck
gerrit_ssh_private_key => '/home/recheck/.ssh/id_rsa',
gerrit_ssh_private_key_contents => hiera('elastic-recheck_gerrit_ssh_private_key'),
recheck_bot_nick => 'openstackrecheck',
recheck_bot_passwd => hiera('elastic-recheck_ircbot_password'),
gerrit_host => 'review.openstack.org',
elasticsearch_url => 'http://logstash.openstack.org/elasticsearch/',
} }
} }
@ -411,13 +404,17 @@ node 'static.openstack.org' {
# A machine to serve various project status updates. # A machine to serve various project status updates.
node 'status.openstack.org' { node 'status.openstack.org' {
class { 'openstack_project::status': class { 'openstack_project::status':
sysadmins => hiera('sysadmins'), sysadmins => hiera('sysadmins'),
reviewday_rsa_key_contents => hiera('reviewday_rsa_key_contents'), gerrit_host => 'review.openstack.org',
reviewday_rsa_pubkey_contents => hiera('reviewday_rsa_pubkey_contents'), gerrit_ssh_host_key => hiera('gerrit_ssh_rsa_pubkey_contents'),
reviewday_gerrit_ssh_key => hiera('gerrit_ssh_rsa_pubkey_contents'), reviewday_ssh_public_key => hiera('reviewday_rsa_pubkey_contents'),
releasestatus_prvkey_contents => hiera('releasestatus_rsa_key_contents'), reviewday_ssh_private_key => hiera('reviewday_rsa_key_contents'),
releasestatus_pubkey_contents => hiera('releasestatus_rsa_pubkey_contents'), releasestatus_ssh_public_key => hiera('releasestatus_rsa_pubkey_contents'),
releasestatus_gerrit_ssh_key => hiera('gerrit_ssh_rsa_pubkey_contents'), releasestatus_ssh_private_key => hiera('releasestatus_rsa_key_contents'),
recheck_ssh_public_key => hiera('elastic-recheck_gerrit_ssh_public_key'),
recheck_ssh_private_key => hiera('elastic-recheck_gerrit_ssh_private_key'),
recheck_bot_nick => 'openstackrecheck',
recheck_bot_passwd => hiera('elastic-recheck_ircbot_password'),
} }
} }

View File

@ -18,13 +18,12 @@
# #
class elastic_recheck::bot ( class elastic_recheck::bot (
$gerrit_host, $gerrit_host,
$gerrit_ssh_private_key, $gerrit_ssh_host_key = '',
$gerrit_ssh_private_key_contents, $recheck_gerrit_user = 'elasticrecheck',
#not used today, will be used when elastic-recheck supports it. $recheck_ssh_private_key = '',
$elasticsearch_url, $recheck_ssh_public_key = '',
$recheck_bot_passwd, $recheck_bot_passwd,
$gerrit_user = 'elasticrecheck', $recheck_bot_nick,
$recheck_bot_nick = 'openstackrecheck',
) { ) {
include elastic_recheck include elastic_recheck
@ -53,13 +52,37 @@ class elastic_recheck::bot (
require => Class['elastic_recheck'], require => Class['elastic_recheck'],
} }
file { $gerrit_ssh_private_key: if $recheck_ssh_private_key != '' {
ensure => present, file { '/home/recheck/.ssh/id_rsa':
mode => '0600', owner => 'recheck',
owner => 'recheck', group => 'recheck',
group => 'recheck', mode => '0600',
content => $gerrit_ssh_private_key_contents, content => $recheck_ssh_private_key,
require => Class['elastic_recheck'], replace => true,
require => File['/home/recheck/.ssh/']
}
}
if $recheck_ssh_public_key != '' {
file { '/home/recheck/.ssh/id_rsa.pub':
owner => 'recheck',
group => 'recheck',
mode => '0600',
content => $recheck_ssh_public_key,
replace => true,
require => File['/home/recheck/.ssh/']
}
}
if $gerrit_ssh_host_key != '' {
file { '/home/recheck/.ssh/known_hosts':
owner => 'recheck',
group => 'recheck',
mode => '0600',
content => "${gerrit_host} ${gerrit_ssh_host_key}",
replace => true,
require => File['/home/recheck/.ssh/']
}
} }
file { '/etc/init.d/elastic-recheck': file { '/etc/init.d/elastic-recheck':

View File

@ -8,7 +8,7 @@ channel_config=/etc/elastic-recheck/recheckwatchbot.yaml
log_config=/etc/elastic-recheck/logging.config log_config=/etc/elastic-recheck/logging.config
[gerrit] [gerrit]
user=<%= gerrit_user %>
host=<%= gerrit_host %> host=<%= gerrit_host %>
user=<%= recheck_gerrit_user %>
query_file=/etc/elastic-recheck/queries query_file=/etc/elastic-recheck/queries
key=<%= gerrit_ssh_private_key %> key=/home/recheck/.ssh/id_rsa

View File

@ -15,13 +15,6 @@
# Logstash web frontend glue class. # Logstash web frontend glue class.
# #
class openstack_project::logstash ( class openstack_project::logstash (
$gerrit_host,
$gerrit_ssh_private_key,
$gerrit_ssh_private_key_contents,
#not used today, will be used when elastic-recheck supports it.
$elasticsearch_url,
$recheck_bot_passwd,
$recheck_bot_nick = 'openstackrecheck',
$elasticsearch_nodes = [], $elasticsearch_nodes = [],
$gearman_workers = [], $gearman_workers = [],
$discover_nodes = ['elasticsearch.openstack.org:9200'], $discover_nodes = ['elasticsearch.openstack.org:9200'],
@ -48,13 +41,4 @@ class openstack_project::logstash (
class { 'log_processor::client': class { 'log_processor::client':
config_file => 'puppet:///modules/openstack_project/logstash/jenkins-log-client.yaml', config_file => 'puppet:///modules/openstack_project/logstash/jenkins-log-client.yaml',
} }
class { 'elastic_recheck::bot':
gerrit_host => $gerrit_host,
gerrit_ssh_private_key => $gerrit_ssh_private_key,
gerrit_ssh_private_key_contents => $gerrit_ssh_private_key_contents,
elasticsearch_url => $elasticsearch_url,
recheck_bot_passwd => $recheck_bot_passwd,
recheck_bot_nick => $recheck_bot_nick,
}
} }

View File

@ -2,13 +2,17 @@
# #
class openstack_project::status ( class openstack_project::status (
$sysadmins = [], $sysadmins = [],
$reviewday_gerrit_ssh_key = '', $gerrit_host,
$reviewday_rsa_pubkey_contents = '', $gerrit_ssh_host_key,
$reviewday_rsa_key_contents = '', $reviewday_ssh_public_key = '',
$releasestatus_prvkey_contents = '', $reviewday_ssh_private_key = '',
$releasestatus_pubkey_contents = '', $releasestatus_ssh_public_key = '',
$releasestatus_gerrit_ssh_key = '', $releasestatus_ssh_private_key = '',
$er_state_dir = '/var/lib/elastic-recheck', $recheck_ssh_public_key,
$recheck_ssh_private_key,
$recheck_bot_passwd,
$recheck_bot_nick,
$recheck_state_dir = '/var/lib/elastic-recheck',
) { ) {
class { 'openstack_project::server': class { 'openstack_project::server':
@ -138,11 +142,20 @@ class openstack_project::status (
user => 'recheck', user => 'recheck',
minute => '*/15', minute => '*/15',
hour => '*', hour => '*',
command => "elastic-recheck-graph /opt/elastic-recheck/queries -o ${er_state_dir}/graph-new.json && mv ${er_state_dir}/graph-new.json ${er_state_dir}/graph.json", command => "elastic-recheck-graph /opt/elastic-recheck/queries -o ${recheck_state_dir}/graph-new.json && mv ${recheck_state_dir}/graph-new.json ${recheck_state_dir}/graph.json",
environment => 'PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin', environment => 'PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin',
require => Class['elastic_recheck'] require => Class['elastic_recheck']
} }
class { 'elastic_recheck::bot':
gerrit_host => $gerrit_host,
gerrit_ssh_host_key => $gerrit_ssh_host_key,
recheck_ssh_public_key => $recheck_ssh_public_key,
recheck_ssh_private_key => $recheck_ssh_private_key,
recheck_bot_passwd => $recheck_bot_passwd,
recheck_bot_nick => $recheck_bot_nick,
}
########################################################### ###########################################################
# Status - zuul # Status - zuul
@ -205,18 +218,18 @@ class openstack_project::status (
gerrit_url => 'review.openstack.org', gerrit_url => 'review.openstack.org',
gerrit_port => '29418', gerrit_port => '29418',
gerrit_user => 'reviewday', gerrit_user => 'reviewday',
reviewday_gerrit_ssh_key => $reviewday_gerrit_ssh_key, reviewday_gerrit_ssh_key => $gerrit_ssh_host_key,
reviewday_rsa_pubkey_contents => $reviewday_rsa_pubkey_contents, reviewday_rsa_pubkey_contents => $reviewday_ssh_public_key,
reviewday_rsa_key_contents => $reviewday_rsa_key_contents, reviewday_rsa_key_contents => $reviewday_ssh_private_key,
} }
########################################################### ###########################################################
# Status - releasestatus # Status - releasestatus
class { 'releasestatus': class { 'releasestatus':
releasestatus_prvkey_contents => $releasestatus_prvkey_contents, releasestatus_prvkey_contents => $releasestatus_ssh_private_key,
releasestatus_pubkey_contents => $releasestatus_pubkey_contents, releasestatus_pubkey_contents => $releasestatus_ssh_public_key,
releasestatus_gerrit_ssh_key => $releasestatus_gerrit_ssh_key, releasestatus_gerrit_ssh_key => $gerrit_ssh_host_key,
} }
releasestatus::site { 'releasestatus': releasestatus::site { 'releasestatus':