More puppetry and inventory cleanups
This cleans up ask-staging which hasn't been a thing in a log time. We remove some puppet stubs for nodepool builders (they are all ansible now). We also cleanup the inventory file to remove corvustest, lists-dev, pbx, mirror-update*.openstack.org (is opendev.org now), and sort the LE list. Change-Id: I8da025640e16bf6e8aca1eb6ec7799d26bd03f12
This commit is contained in:
parent
1c7c304c88
commit
399ade787b
@ -12,12 +12,10 @@ At a Glance
|
||||
|
||||
:Hosts:
|
||||
* https://ask.openstack.org
|
||||
* https://ask-staging.openstack.org
|
||||
:Puppet:
|
||||
* https://opendev.org/opendev/puppet-askbot
|
||||
* https://github.com/vamsee/puppet-solr
|
||||
* :git_file:`modules/openstack_project/manifests/ask.pp`
|
||||
* :git_file:`modules/openstack_project/manifests/ask-staging.pp`
|
||||
:Projects:
|
||||
* https://askbot.com
|
||||
* http://lucene.apache.org/solr
|
||||
@ -30,12 +28,6 @@ The site ask.openstack.org based on the officially released askbot pip distribut
|
||||
The stable deployment is extended with a custom OpenStack theme available at
|
||||
https://opendev.org/opendev/askbot-theme.
|
||||
|
||||
The ask-staging.openstack.org site based on master branch of
|
||||
https://github.com/askbot/askbot-devel repository, and deploys askbot
|
||||
directly from github and consume the openstack theme from
|
||||
openstack-infra/askbot-theme repository. The staging site is using
|
||||
python virtualenv for proper pip dependency handling.
|
||||
|
||||
System Architecture
|
||||
===================
|
||||
|
||||
|
@ -43,9 +43,7 @@ groups:
|
||||
control-plane-clouds:
|
||||
- bridge.openstack.org
|
||||
disabled:
|
||||
- corvustest
|
||||
- idp.openstackid.org
|
||||
- lists-dev01.openstack.org
|
||||
- wiki-dev01.openstack.org
|
||||
- wiki-upgrade-test.openstack.org
|
||||
dns:
|
||||
@ -89,20 +87,20 @@ groups:
|
||||
- etherpad[0-9]*.opendev.org
|
||||
- ethercalc[0-9]*.open*.org
|
||||
- gitea[0-9]*.opendev.org
|
||||
- graphite[0-9]*.opendev.org
|
||||
- grafana[0-9]*.opendev.org
|
||||
- graphite[0-9]*.opendev.org
|
||||
- insecure-ci-registry[0-9]*.opendev.org
|
||||
- meetpad[0-9]*.opendev.org
|
||||
- mirror[0-9]*.opendev.org
|
||||
- nb[0-9]*.opendev.org
|
||||
- openstackid[0-9]*.openstack.org
|
||||
- refstack[0-9]*.openstack.org
|
||||
- review[0-9]*.open*.org
|
||||
- review-test.opendev.org
|
||||
- static[0-9]*.opendev.org
|
||||
- storyboard[0-9]*.opendev.org
|
||||
- translate[0-9]*.open*.org
|
||||
- zuul[0-9]*.opendev.org
|
||||
- refstack[0-9]*.openstack.org
|
||||
logstash:
|
||||
- logstash[0-9]*.open*.org
|
||||
logstash-worker:
|
||||
@ -132,24 +130,19 @@ groups:
|
||||
- openstackid[0-9]*.openstack.org
|
||||
paste:
|
||||
- paste[0-9]*.open*.org
|
||||
pbx:
|
||||
- pbx[0-9]*.opendev.org
|
||||
puppet:
|
||||
- ask*.open*.org
|
||||
- cacti[0-9]*.open*.org
|
||||
- corvustest
|
||||
- eavesdrop[0-9]*.open*.org
|
||||
- elasticsearch[0-9]*.open*.org
|
||||
- ethercalc[0-9]*.open*.org
|
||||
- health[0-9]*.openstack.org
|
||||
- logstash-worker[0-9]*.open*.org
|
||||
- logstash[0-9]*.open*.org
|
||||
- mirror-update[0-9]*.openstack.org
|
||||
- openstackid-dev*.openstack.org
|
||||
- openstackid.org
|
||||
- openstackid[0-9]*.openstack.org
|
||||
- paste[0-9]*.open*.org
|
||||
- pbx[0-9]*.opendev.org
|
||||
- status*.open*.org
|
||||
- storyboard-dev[0-9]*.opendev.org
|
||||
- storyboard[0-9]*.opendev.org
|
||||
@ -160,20 +153,16 @@ groups:
|
||||
- wiki[0-9]*.openstack.org
|
||||
puppet4:
|
||||
- ask*.open*.org
|
||||
- ask-staging[0-9]*.open*.org
|
||||
- cacti[0-9]*.open*.org
|
||||
- eavesdrop[0-9]*.open*.org
|
||||
- elasticsearch[0-9]*.open*.org
|
||||
- ethercalc[0-9]*.open*.org
|
||||
- health[0-9]*.openstack.org
|
||||
- lists-dev[0-9]*.open*.org
|
||||
- logstash-worker[0-9]*.open*.org
|
||||
- logstash[0-9]*.open*.org
|
||||
- mirror-update[0-9]*.openstack.org
|
||||
- openstackid[0-9]*.openstack.org
|
||||
- openstackid-dev[0-9]*.openstack.org
|
||||
- paste[0-9]*.open*.org
|
||||
- pbx[0-9]*.opendev.org
|
||||
- status*.open*.org
|
||||
- storyboard[0-9]*.opendev.org
|
||||
- storyboard-dev[0-9]*.opendev.org
|
||||
|
@ -215,38 +215,6 @@ node /^status\d*\.open.*\.org$/ {
|
||||
}
|
||||
}
|
||||
|
||||
# Node-OS: xenial
|
||||
node /^nb\d+\.open.*\.org$/ {
|
||||
$group = 'nodepool'
|
||||
|
||||
class { 'openstack_project::server': }
|
||||
|
||||
include openstack_project
|
||||
|
||||
class { '::openstackci::nodepool_builder':
|
||||
nodepool_ssh_public_key => hiera('zuul_worker_ssh_public_key_contents'),
|
||||
vhost_name => $::fqdn,
|
||||
enable_build_log_via_http => true,
|
||||
project_config_repo => 'https://opendev.org/openstack/project-config',
|
||||
statsd_host => 'graphite.opendev.org',
|
||||
upload_workers => '16',
|
||||
revision => 'master',
|
||||
python_version => 3,
|
||||
zuulv3 => true,
|
||||
ssl_cert_file => '/etc/ssl/certs/ssl-cert-snakeoil.pem',
|
||||
ssl_key_file => '/etc/ssl/private/ssl-cert-snakeoil.key',
|
||||
}
|
||||
|
||||
cron { 'mirror_gitgc':
|
||||
user => 'nodepool',
|
||||
hour => '20',
|
||||
minute => '0',
|
||||
command => 'find /opt/dib_cache/source-repositories/ -type d -name "*.git" -exec git --git-dir="{}" gc \; >/dev/null',
|
||||
environment => 'PATH=/usr/bin:/bin:/usr/sbin:/sbin',
|
||||
require => Class['::openstackci::nodepool_builder'],
|
||||
}
|
||||
}
|
||||
|
||||
# Node-OS: xenial
|
||||
node /^openstackid\d*(\.openstack)?\.org$/ {
|
||||
$group = "openstackid"
|
||||
@ -365,16 +333,6 @@ node /^ask\d*\.open.*\.org$/ {
|
||||
}
|
||||
}
|
||||
|
||||
# Node-OS: xenial
|
||||
node /^ask-staging\d*\.open.*\.org$/ {
|
||||
class { 'openstack_project::server': }
|
||||
|
||||
class { 'openstack_project::ask_staging':
|
||||
db_password => hiera('ask_staging_db_password'),
|
||||
redis_password => hiera('ask_staging_redis_password'),
|
||||
}
|
||||
}
|
||||
|
||||
# Node-OS: xenial
|
||||
node /^translate\d+\.open.*\.org$/ {
|
||||
$group = "translate"
|
||||
|
@ -1,134 +0,0 @@
|
||||
# == Class: openstack_project::ask_dev
|
||||
#
|
||||
# ask-staging.openstack.org Q&A support website
|
||||
#
|
||||
class openstack_project::ask_staging (
|
||||
$db_password,
|
||||
$redis_password,
|
||||
$db_name = 'askbotdb',
|
||||
$db_user = 'ask',
|
||||
$redis_port = '6378',
|
||||
$redis_max_memory = '512m',
|
||||
$redis_bind = '127.0.0.1',
|
||||
$solr_version = '4.10.4'
|
||||
) {
|
||||
|
||||
file { '/srv/dist':
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
}
|
||||
|
||||
# solr search engine
|
||||
file { '/srv/dist/solr':
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
require => File['/srv/dist'],
|
||||
}
|
||||
|
||||
class { 'solr':
|
||||
mirror => 'https://archive.apache.org/dist/lucene/solr',
|
||||
version => $solr_version,
|
||||
cores => [ 'core-default', 'core-en', 'core-zh' ],
|
||||
dist_root => '/srv/dist/solr',
|
||||
require => File['/srv/dist/solr'],
|
||||
}
|
||||
|
||||
file { '/usr/share/solr/core-en/conf/schema.xml':
|
||||
ensure => present,
|
||||
content => template('openstack_project/askbot/schema.en.xml.erb'),
|
||||
replace => true,
|
||||
owner => 'jetty',
|
||||
group => 'jetty',
|
||||
mode => '0644',
|
||||
require => File['/usr/share/solr/core-zh/conf'],
|
||||
}
|
||||
|
||||
file { '/usr/share/solr/core-zh/conf/schema.xml':
|
||||
ensure => present,
|
||||
content => template('openstack_project/askbot/schema.cn.xml.erb'),
|
||||
replace => true,
|
||||
owner => 'jetty',
|
||||
group => 'jetty',
|
||||
mode => '0644',
|
||||
require => File['/usr/share/solr/core-en/conf'],
|
||||
}
|
||||
|
||||
# deploy smartcn Chinese analyzer from solr contrib/analysys-extras
|
||||
file { "/usr/share/solr/WEB-INF/lib/lucene-analyzers-smartcn-${solr_version}.jar":
|
||||
ensure => present,
|
||||
replace => 'no',
|
||||
source => "/srv/dist/solr/solr-${solr_version}/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-${solr_version}.jar",
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
require => Exec['copy-solr'],
|
||||
}
|
||||
|
||||
# postgresql database
|
||||
class { 'postgresql::server': }
|
||||
|
||||
postgresql::server::db { $db_name:
|
||||
user => $db_user,
|
||||
password => postgresql_password($db_user, $db_password),
|
||||
}
|
||||
|
||||
# redis cache
|
||||
class { 'redis':
|
||||
redis_port => $redis_port,
|
||||
redis_max_memory => $redis_max_memory,
|
||||
redis_bind => $redis_bind,
|
||||
redis_password => $redis_password,
|
||||
version => '2.8.4',
|
||||
before => Class['askbot'],
|
||||
}
|
||||
|
||||
# askbot site
|
||||
class { 'askbot':
|
||||
askbot_branch => '0.7.x',
|
||||
db_provider => 'pgsql',
|
||||
db_name => $db_name,
|
||||
db_user => $db_user,
|
||||
db_password => $db_password,
|
||||
redis_enabled => true,
|
||||
redis_port => $redis_port,
|
||||
redis_max_memory => $redis_max_memory,
|
||||
redis_bind => $redis_bind,
|
||||
redis_password => $redis_password,
|
||||
custom_theme_enabled => true,
|
||||
custom_theme_name => 'os',
|
||||
site_name => 'ask-staging.openstack.org',
|
||||
askbot_debug => true,
|
||||
solr_enabled => true,
|
||||
site_ssl_enabled => true,
|
||||
site_ssl_cert_file => '/etc/ssl/certs/ssl-cert-snakeoil.pem',
|
||||
site_ssl_key_file => '/etc/ssl/private/ssl-cert-snakeoil.key',
|
||||
template_settings => 'openstack_project/askbot/settings.py-staging.erb',
|
||||
}
|
||||
|
||||
# askbot-theme openstack theme
|
||||
git { 'askbot-theme':
|
||||
ensure => present,
|
||||
path => '/srv/askbot-site/themes',
|
||||
branch => 'feature/development',
|
||||
origin => 'https://opendev.org/opendev/askbot-theme',
|
||||
latest => true,
|
||||
require => [
|
||||
File['/srv/askbot-site'], Package['git']
|
||||
],
|
||||
before => Exec['askbot-syncdb'],
|
||||
notify => [
|
||||
Exec['theme-bundle-install-os'],
|
||||
Exec['theme-bundle-compile-os'],
|
||||
Exec['askbot-static-generate'],
|
||||
],
|
||||
}
|
||||
|
||||
askbot::theme::compass { 'os':
|
||||
require => Git['askbot-theme'],
|
||||
before => Exec['askbot-static-generate'],
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user