Add rspec test
Add a basic rspec test that simply deploys the basic askbot environment. Depends-On: https://review.openstack.org/559178 Change-Id: I9f4764dd417c59661e21252a04234a7d7388a270
This commit is contained in:
parent
533de51623
commit
2a751c2984
|
@ -0,0 +1,117 @@
|
||||||
|
# Database configuration
|
||||||
|
|
||||||
|
$db_provider = 'pgsql'
|
||||||
|
$db_name = 'askbotdb'
|
||||||
|
$db_user = 'askbot'
|
||||||
|
$db_password = 'mys3cr3tpassw0rd'
|
||||||
|
|
||||||
|
# Redis configuration
|
||||||
|
$redis_enabled = true
|
||||||
|
$redis_port = 6378
|
||||||
|
$redis_max_memory = '256m'
|
||||||
|
$redis_bind = '127.0.0.1'
|
||||||
|
$redis_password = 's3cr3t'
|
||||||
|
|
||||||
|
$site_name = 'askbot-dev.local'
|
||||||
|
|
||||||
|
$solr_version = '4.10.4'
|
||||||
|
|
||||||
|
class { 'postgresql::server': }
|
||||||
|
|
||||||
|
postgresql::server::db { $db_name:
|
||||||
|
user => $db_user,
|
||||||
|
password => postgresql_password($db_user, $db_password),
|
||||||
|
before => Class['askbot'],
|
||||||
|
}
|
||||||
|
|
||||||
|
# redis (custom module written by tipit)
|
||||||
|
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'],
|
||||||
|
}
|
||||||
|
|
||||||
|
# solr search engine
|
||||||
|
class { '::solr':
|
||||||
|
version => $solr_version,
|
||||||
|
cores => [ 'core-default', 'core-en', 'core-zh' ],
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/usr/share/solr/core-en/conf/schema.xml':
|
||||||
|
ensure => present,
|
||||||
|
content => template('askbot/examples/solr/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('askbot/examples/solr/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 => "/tmp/solr-${solr_version}/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-${solr_version}.jar",
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0644',
|
||||||
|
require => Exec['copy-solr'],
|
||||||
|
}
|
||||||
|
|
||||||
|
class { '::askbot':
|
||||||
|
db_provider => $db_provider,
|
||||||
|
db_name => $db_name,
|
||||||
|
db_user => $db_user,
|
||||||
|
db_password => $db_password,
|
||||||
|
askbot_revision => '87086ebcefc5be29e80d3228e465e6bec4523fcf',
|
||||||
|
redis_enabled => $redis_enabled,
|
||||||
|
redis_port => $redis_port,
|
||||||
|
redis_max_memory => $redis_max_memory,
|
||||||
|
redis_bind => $redis_bind,
|
||||||
|
redis_password => $redis_password,
|
||||||
|
custom_theme_enabled => false,
|
||||||
|
custom_theme_name => 'os',
|
||||||
|
site_name => $site_name,
|
||||||
|
askbot_debug => true,
|
||||||
|
solr_enabled => true,
|
||||||
|
# ssl setup
|
||||||
|
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',
|
||||||
|
}
|
||||||
|
|
||||||
|
# custom theme
|
||||||
|
git { 'askbot-theme':
|
||||||
|
ensure => present,
|
||||||
|
path => '/srv/askbot-site/themes',
|
||||||
|
branch => 'feature/development',
|
||||||
|
origin => 'https://git.openstack.org/openstack-infra/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'],
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Installing ssl-cert in order to get snakeoil certs
|
||||||
|
package { 'ssl-cert':
|
||||||
|
ensure => present,
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
require 'puppet-openstack_infra_spec_helper/spec_helper_acceptance'
|
||||||
|
|
||||||
|
describe 'puppet-askbot:: manifest', :if => ['debian', 'ubuntu'].include?(os[:family]) do
|
||||||
|
def pp_path
|
||||||
|
base_path = File.dirname(__FILE__)
|
||||||
|
File.join(base_path, 'fixtures')
|
||||||
|
end
|
||||||
|
|
||||||
|
def preconditions_puppet_manifest
|
||||||
|
module_path = File.join(pp_path, 'preconditions.pp')
|
||||||
|
File.read(module_path)
|
||||||
|
end
|
||||||
|
|
||||||
|
before(:all) do
|
||||||
|
apply_manifest(preconditions_puppet_manifest, catch_failures: true)
|
||||||
|
end
|
||||||
|
|
||||||
|
def init_puppet_manifest
|
||||||
|
module_path = File.join(pp_path, 'askbot.pp')
|
||||||
|
File.read(module_path)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should work with no errors' do
|
||||||
|
apply_manifest(init_puppet_manifest, catch_failures: true)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
Loading…
Reference in New Issue