
Change-Id: I5cdc5da18e2d29d2b51d72ef50028599ce7784ab Signed-off-by: Philip Marc Schwartz <philip@progmad.com>
115 lines
2.4 KiB
Puppet
115 lines
2.4 KiB
Puppet
# == Class: odsreg
|
|
#
|
|
# Full description of class odsreg here.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*sample_parameter*]
|
|
# Explanation of what this parameter affects and what it defaults to.
|
|
#
|
|
class odsreg(
|
|
$vhost_name = $::fqdn,
|
|
) {
|
|
|
|
include ::httpd
|
|
include ::httpd::mod::wsgi
|
|
include ::pip
|
|
|
|
package { 'django':
|
|
ensure => '1.4',
|
|
provider => openstack_pip,
|
|
}
|
|
package { 'python-openid':
|
|
ensure => present,
|
|
provider => openstack_pip,
|
|
}
|
|
package { 'django-openid-auth':
|
|
ensure => present,
|
|
provider => openstack_pip,
|
|
}
|
|
|
|
user { 'odsreg':
|
|
ensure => present,
|
|
home => '/home/odsreg',
|
|
shell => '/bin/bash',
|
|
gid => 'odsreg',
|
|
managehome => true,
|
|
require => Group['odsreg'],
|
|
}
|
|
|
|
group { 'odsreg':
|
|
ensure => present,
|
|
}
|
|
|
|
# for the local wsgi app
|
|
file { '/var/www/odsreg':
|
|
ensure => directory,
|
|
mode => '0755',
|
|
}
|
|
|
|
# for our data storage
|
|
file { '/var/lib/odsreg':
|
|
ensure => directory,
|
|
mode => '0755',
|
|
owner => 'www-data',
|
|
}
|
|
|
|
# a plain git checkout
|
|
vcsrepo { '/opt/odsreg':
|
|
ensure => latest,
|
|
provider => git,
|
|
revision => 'master',
|
|
source => 'https://git.openstack.org/openstack-infra/odsreg',
|
|
}
|
|
|
|
file { '/usr/local/odsreg':
|
|
ensure => directory,
|
|
}
|
|
|
|
# "install" a copy of it
|
|
file { '/usr/local/odsreg/odsreg':
|
|
ensure => directory,
|
|
owner => 'root',
|
|
group => 'root',
|
|
source => '/opt/odsreg',
|
|
subscribe => Vcsrepo['/opt/odsreg'],
|
|
recurse => true,
|
|
}
|
|
|
|
file { '/usr/local/odsreg/local_settings.py':
|
|
ensure => present,
|
|
content => template('odsreg/local_settings.py.erb'),
|
|
mode => '0444',
|
|
owner => 'root',
|
|
group => 'root',
|
|
}
|
|
|
|
exec { 'odsreg_sync_db':
|
|
user => 'www-data',
|
|
command => 'python /usr/local/odsreg/odsreg/manage.py syncdb --noinput',
|
|
cwd => '/usr/local/odsreg',
|
|
path => '/bin:/usr/bin',
|
|
onlyif => 'test ! -f /var/lib/odsreg/summit.db',
|
|
require => [
|
|
File['/usr/local/odsreg/local_settings.py'],
|
|
File['/var/lib/odsreg'],
|
|
],
|
|
}
|
|
|
|
file { '/var/www/odsreg/django.wsgi':
|
|
ensure => present,
|
|
source => 'puppet:///modules/odsreg/django.wsgi',
|
|
mode => '0555',
|
|
owner => 'root',
|
|
group => 'root',
|
|
}
|
|
|
|
::httpd::vhost { $vhost_name:
|
|
port => 80,
|
|
priority => '50',
|
|
docroot => 'MEANINGLESS_ARGUMENT',
|
|
template => 'odsreg/odsreg.vhost.erb',
|
|
}
|
|
|
|
}
|