Puppet4 propper support in the nailgun module

* Adapt to Puppet 4
* Code cleanup

Change-Id: I60f7d0d7237303d610c90e002c4e5c22fedecf27
Closes-Bug: #1533352
This commit is contained in:
Maksim Malchuk 2016-01-14 18:06:42 +03:00
parent c9d5314333
commit 8b87f79550
7 changed files with 195 additions and 195 deletions

View File

@ -3,103 +3,103 @@ class nailgun(
$version,
$production,
$venv,
$nailgun_group = "nailgun",
$nailgun_user = "nailgun",
$nailgun_group = 'nailgun',
$nailgun_user = 'nailgun',
$repo_root = "/var/www/nailgun",
$pip_index = "",
$pip_find_links = "",
$gem_source = "http://localhost/gems/",
$repo_root = '/var/www/nailgun',
$pip_index = '',
$pip_find_links = '',
$gem_source = 'http://localhost/gems/',
$database_name = "nailgun",
$database_engine = "postgresql",
$database_host = "localhost",
$database_port = "5432",
$database_user = "nailgun",
$database_passwd = "nailgun",
$database_name = 'nailgun',
$database_engine = 'postgresql',
$database_host = 'localhost',
$database_port = '5432',
$database_user = 'nailgun',
$database_passwd = 'nailgun',
$staticdir,
$templatedir,
$logdumpdir = "/var/www/nailgun/dump",
$logdumpdir = '/var/www/nailgun/dump',
$cobbler_user = "cobbler",
$cobbler_password = "cobbler",
$cobbler_host = $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
$cobbler_url = "http://${::fuel_settings['ADMIN_NETWORK']['ipaddress']}/cobbler_api",
$bootstrap_flavor = pick($::fuel_settings['BOOTSTRAP']['flavor'], 'centos'),
$dns_upstream = $::fuel_settings['DNS_UPSTREAM'],
$dns_domain = $::fuel_settings['DNS_DOMAIN'],
$dns_search = $::fuel_settings['DNS_SEARCH'],
$dhcp_start_address = $::fuel_settings['ADMIN_NETWORK']['dhcp_pool_start'],
$dhcp_end_address = $::fuel_settings['ADMIN_NETWORK']['dhcp_pool_end'],
$dhcp_netmask = $::fuel_settings['ADMIN_NETWORK']['netmask'],
$dhcp_mac = $::fuel_settings['ADMIN_NETWORK']['mac'],
$dhcp_interface = $::fuel_settings['ADMIN_NETWORK']['interface'],
$dhcp_gateway = $::fuel_settings['ADMIN_NETWORK']['dhcp_gateway'],
$cobbler_user = 'cobbler',
$cobbler_password = 'cobbler',
$cobbler_host = $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
$cobbler_url = "http://${::fuel_settings['ADMIN_NETWORK']['ipaddress']}/cobbler_api",
$bootstrap_flavor = pick($::fuel_settings['BOOTSTRAP']['flavor'], 'centos'),
$dns_upstream = $::fuel_settings['DNS_UPSTREAM'],
$dns_domain = $::fuel_settings['DNS_DOMAIN'],
$dns_search = $::fuel_settings['DNS_SEARCH'],
$dhcp_start_address = $::fuel_settings['ADMIN_NETWORK']['dhcp_pool_start'],
$dhcp_end_address = $::fuel_settings['ADMIN_NETWORK']['dhcp_pool_end'],
$dhcp_netmask = $::fuel_settings['ADMIN_NETWORK']['netmask'],
$dhcp_mac = $::fuel_settings['ADMIN_NETWORK']['mac'],
$dhcp_interface = $::fuel_settings['ADMIN_NETWORK']['interface'],
$dhcp_gateway = $::fuel_settings['ADMIN_NETWORK']['dhcp_gateway'],
$mco_pskey = "unset",
$mco_vhost = "mcollective",
$mco_host = $ipaddress,
$mco_user = "mcollective",
$mco_password = "marionette",
$mco_connector = "rabbitmq",
$mco_pskey = 'unset',
$mco_vhost = 'mcollective',
$mco_host = $ipaddress,
$mco_user = 'mcollective',
$mco_password = 'marionette',
$mco_connector = 'rabbitmq',
$astute_version,
$nailgun_api_url = "http://${::fuel_settings['ADMIN_NETWORK']['ipaddress']}:8000/api",
$rabbitmq_host = $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
$rabbitmq_astute_user = "naily",
$rabbitmq_astute_password = "naily",
$puppet_master_hostname = "${hostname}.${domain}",
$puppet_master_ip = $ipaddress,
$nailgun_api_url = "http://${::fuel_settings['ADMIN_NETWORK']['ipaddress']}:8000/api",
$rabbitmq_host = $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
$rabbitmq_astute_user = 'naily',
$rabbitmq_astute_password = 'naily',
$puppet_master_hostname = "${::hostname}.${::domain}",
$puppet_master_ip = $::ipaddress,
$keystone_host = $keystone_host,
$keystone_host = $keystone_host,
) {
Exec {path => '/usr/bin:/bin:/usr/sbin:/sbin'}
anchor { "nailgun-begin": }
anchor { "nailgun-end": }
anchor { 'nailgun-begin': }
anchor { 'nailgun-end': }
Anchor<| title == "nailgun-begin" |> ->
Class["nailgun::packages"] ->
Class["nailgun::nginx-repo"] ->
Exec["start_nginx_repo"] ->
Class["nailgun::user"] ->
Class["nailgun::logrotate"] ->
Class["nailgun::rabbitmq"] ->
Class["nailgun::mcollective"] ->
Class["nailgun::venv"] ->
Class["nailgun::astute"] ->
Class["nailgun::nginx-nailgun"] ->
Class["nailgun::host"] ->
Class["nailgun::cobbler"] ->
Class["openstack::logging"] ->
Class["nailgun::supervisor"] ->
Anchor<| title == "nailgun-end" |>
Anchor<| title == 'nailgun-begin' |> ->
Class['nailgun::packages'] ->
Class['nailgun::nginx_repo'] ->
Exec['start_nginx_repo'] ->
Class['nailgun::user'] ->
Class['nailgun::logrotate'] ->
Class['nailgun::rabbitmq'] ->
Class['nailgun::mcollective'] ->
Class['nailgun::venv'] ->
Class['nailgun::astute'] ->
Class['nailgun::nginx_nailgun'] ->
Class['nailgun::host'] ->
Class['nailgun::cobbler'] ->
Class['openstack::logging'] ->
Class['nailgun::supervisor'] ->
Anchor<| title == 'nailgun-end' |>
class { 'nailgun::host':
production => $production,
cobbler_host => $cobbler_host,
class { '::nailgun::host':
production => $production,
cobbler_host => $cobbler_host,
nailgun_group => $nailgun_group,
nailgun_user => $nailgun_user,
nailgun_user => $nailgun_user,
}
class { "nailgun::packages":
class { '::nailgun::packages':
gem_source => $gem_source,
}
file { ["/etc/nginx/conf.d/default.conf",
"/etc/nginx/conf.d/virtual.conf",
"/etc/nginx/conf.d/ssl.conf"]:
ensure => "absent",
notify => Service["nginx"],
file { ['/etc/nginx/conf.d/default.conf',
'/etc/nginx/conf.d/virtual.conf',
'/etc/nginx/conf.d/ssl.conf']:
ensure => 'absent',
notify => Service['nginx'],
before => [
Class["nailgun::nginx-repo"],
Class["nailgun::nginx-nailgun"],
],
Class['::nailgun::nginx_repo'],
Class['::nailgun::nginx_nailgun'],
],
}
class { 'openstack::logging':
class { '::openstack::logging':
role => 'server',
log_remote => false,
log_local => true,
@ -117,64 +117,64 @@ class nailgun(
production => $production,
}
class { "nailgun::user":
class { '::nailgun::user':
nailgun_group => $nailgun_group,
nailgun_user => $nailgun_user,
nailgun_user => $nailgun_user,
}
class { "nailgun::venv":
venv => $venv,
venv_opts => "--system-site-packages",
package => $package,
version => $version,
pip_opts => "${pip_index} ${pip_find_links}",
production => $production,
nailgun_user => $nailgun_user,
nailgun_group => $nailgun_group,
class { '::nailgun::venv':
venv => $venv,
venv_opts => '--system-site-packages',
package => $package,
version => $version,
pip_opts => "${pip_index} ${pip_find_links}",
production => $production,
nailgun_user => $nailgun_user,
nailgun_group => $nailgun_group,
database_name => $database_name,
database_engine => $database_engine,
database_host => $database_host,
database_port => $database_port,
database_user => $database_user,
database_passwd => $database_passwd,
database_name => $database_name,
database_engine => $database_engine,
database_host => $database_host,
database_port => $database_port,
database_user => $database_user,
database_passwd => $database_passwd,
staticdir => $staticdir,
templatedir => $templatedir,
rabbitmq_host => $rabbitmq_host,
rabbitmq_astute_user => $rabbitmq_astute_user,
staticdir => $staticdir,
templatedir => $templatedir,
rabbitmq_host => $rabbitmq_host,
rabbitmq_astute_user => $rabbitmq_astute_user,
rabbitmq_astute_password => $rabbitmq_astute_password,
admin_network => ipcalc_network_by_address_netmask($::fuel_settings['ADMIN_NETWORK']['ipaddress'], $::fuel_settings['ADMIN_NETWORK']['netmask']),
admin_network_cidr => ipcalc_network_cidr_by_netmask($::fuel_settings['ADMIN_NETWORK']['netmask']),
admin_network_size => ipcalc_network_count_addresses($::fuel_settings['ADMIN_NETWORK']['ipaddress'], $::fuel_settings['ADMIN_NETWORK']['netmask']),
admin_network_first => $::fuel_settings['ADMIN_NETWORK']['dhcp_pool_start'],
admin_network_last => $::fuel_settings['ADMIN_NETWORK']['dhcp_pool_end'],
admin_network_netmask => $::fuel_settings['ADMIN_NETWORK']['netmask'],
admin_network_mac => $::fuel_settings['ADMIN_NETWORK']['mac'],
admin_network_ip => $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
admin_network_gateway => $::fuel_settings['ADMIN_NETWORK']['dhcp_gateway'],
admin_network => ipcalc_network_by_address_netmask($::fuel_settings['ADMIN_NETWORK']['ipaddress'], $::fuel_settings['ADMIN_NETWORK']['netmask']),
admin_network_cidr => ipcalc_network_cidr_by_netmask($::fuel_settings['ADMIN_NETWORK']['netmask']),
admin_network_size => ipcalc_network_count_addresses($::fuel_settings['ADMIN_NETWORK']['ipaddress'], $::fuel_settings['ADMIN_NETWORK']['netmask']),
admin_network_first => $::fuel_settings['ADMIN_NETWORK']['dhcp_pool_start'],
admin_network_last => $::fuel_settings['ADMIN_NETWORK']['dhcp_pool_end'],
admin_network_netmask => $::fuel_settings['ADMIN_NETWORK']['netmask'],
admin_network_mac => $::fuel_settings['ADMIN_NETWORK']['mac'],
admin_network_ip => $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
admin_network_gateway => $::fuel_settings['ADMIN_NETWORK']['dhcp_gateway'],
cobbler_host => $cobbler_host,
cobbler_url => $cobbler_url,
cobbler_user => $cobbler_user,
cobbler_password => $cobbler_password,
cobbler_host => $cobbler_host,
cobbler_url => $cobbler_url,
cobbler_user => $cobbler_user,
cobbler_password => $cobbler_password,
mco_pskey => $mco_pskey,
mco_vhost => $mco_vhost,
mco_host => $mco_host,
mco_user => $mco_user,
mco_password => $mco_password,
mco_connector => $mco_connector,
mco_pskey => $mco_pskey,
mco_vhost => $mco_vhost,
mco_host => $mco_host,
mco_user => $mco_user,
mco_password => $mco_password,
mco_connector => $mco_connector,
puppet_master_hostname => $puppet_master_hostname,
puppet_master_hostname => $puppet_master_hostname,
keystone_host => $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
keystone_nailgun_user => $::fuel_settings['keystone']['nailgun_user'],
keystone_nailgun_pass => $::fuel_settings['keystone']['nailgun_password'],
keystone_host => $::fuel_settings['ADMIN_NETWORK']['ipaddress'],
keystone_nailgun_user => $::fuel_settings['keystone']['nailgun_user'],
keystone_nailgun_pass => $::fuel_settings['keystone']['nailgun_password'],
}
class {"nailgun::astute":
class {'::nailgun::astute':
production => $production,
rabbitmq_host => $rabbitmq_host,
rabbitmq_astute_user => $rabbitmq_astute_user,
@ -191,34 +191,34 @@ class nailgun(
$ostf_env = '/opt/fuel_plugins/ostf'
}
class { "nailgun::supervisor":
class { '::nailgun::supervisor':
nailgun_env => $nailgun_env,
ostf_env => $ostf_env,
ostf_env => $ostf_env,
}
class { "nailgun::nginx-repo":
class { '::nailgun::nginx_repo':
repo_root => $repo_root,
notify => Service["nginx"],
notify => Service['nginx'],
}
exec { "start_nginx_repo":
command => "/etc/init.d/nginx start",
unless => "/etc/init.d/nginx status | grep -q running",
exec { 'start_nginx_repo':
command => '/etc/init.d/nginx start',
unless => '/etc/init.d/nginx status | grep -q running',
}
class { "nailgun::nginx-nailgun":
staticdir => $staticdir,
class { '::nailgun::nginx_nailgun':
staticdir => $staticdir,
logdumpdir => $logdumpdir,
notify => Service["nginx"],
notify => Service['nginx'],
}
class { "nailgun::uwsgi":
class { '::nailgun::uwsgi':
venv => $venv,
}
class { "nailgun::cobbler":
class { '::nailgun::cobbler':
production => $production,
centos_repos => $centos_repos,
centos_repos => $::centos_repos,
gem_source => $gem_source,
cobbler_user => $cobbler_user,
@ -242,25 +242,25 @@ class nailgun(
nailgun_api_url => $nailgun_api_url,
}
class { "nailgun::mcollective":
mco_pskey => $mco_pskey,
mco_user => $mco_user,
class { '::nailgun::mcollective':
mco_pskey => $mco_pskey,
mco_user => $mco_user,
mco_password => $mco_password,
mco_vhost => $mco_vhost,
mco_vhost => $mco_vhost,
}
if $production !~ /docker/ {
class { "nailgun::database":
user => $database_user,
password => $database_passwd,
dbname => $database_name,
class { '::nailgun::database':
user => $database_user,
password => $database_passwd,
dbname => $database_name,
}
Class["nailgun::database"] ->
Class["nailgun::venv"]
Class['::nailgun::database'] ->
Class['::nailgun::venv']
}
class { "nailgun::rabbitmq":
class { '::nailgun::rabbitmq':
production => $production,
astute_user => $rabbitmq_astute_user,
astute_password => $rabbitmq_astute_password,
@ -269,11 +269,11 @@ class nailgun(
mco_vhost => $mco_vhost,
}
class { "nailgun::nginx-service": }
class { '::nailgun::nginx_service': }
class { "nailgun::logrotate": }
class { '::nailgun::logrotate': }
class { "nailgun::ostf":
class { '::nailgun::ostf':
production => $production,
pip_opts => "${pip_index} ${pip_find_links}",
keystone_host => $keystone_host,
@ -281,5 +281,5 @@ class nailgun(
keystone_ostf_pass => $::fuel_settings['keystone']['ostf_password'],
}
class { "nailgun::puppetsync": }
class { '::nailgun::puppetsync': }
}

View File

@ -1,16 +0,0 @@
class nailgun::nginx-repo(
$repo_root = "/var/www/nailgun",
){
file { "/etc/nginx/conf.d/repo.conf":
content => template("nailgun/nginx_nailgun_repo.conf.erb"),
owner => 'root',
group => 'root',
mode => 0644,
require => [
Package["nginx"],
],
notify => Service["nginx"],
}
}

View File

@ -6,11 +6,11 @@
# (optional) enables certificate generation for nginx SSL
#
class nailgun::nginx(
$production = "production",
$repo_root = "/var/www/nailgun",
$staticdir = "/opt/nailgun/share/nailgun/static",
$templatedir = "/opt/nailgun/share/nailgun/static",
$logdumpdir = "/var/www/nailgun/dump",
$production = 'production',
$repo_root = '/var/www/nailgun',
$staticdir = '/opt/nailgun/share/nailgun/static',
$templatedir = '/opt/nailgun/share/nailgun/static',
$logdumpdir = '/var/www/nailgun/dump',
$service_enabled = true,
$ostf_host = '127.0.0.1',
$keystone_host = '127.0.0.1',
@ -21,13 +21,13 @@ class nailgun::nginx(
Exec {path => '/usr/bin:/bin:/usr/sbin:/sbin'}
anchor { "nginx-begin": }
anchor { "nginx-end": }
anchor { 'nginx-begin': }
anchor { 'nginx-end': }
Anchor<| title == "nginx-begin" |> ->
Class["nailgun::nginx-repo"] ->
Class["nailgun::nginx-nailgun"] ->
Anchor<| title == "nginx-end" |>
Anchor<| title == 'nginx-begin' |> ->
Class['nailgun::nginx_repo'] ->
Class['nailgun::nginx_nailgun'] ->
Anchor<| title == 'nginx-end' |>
package { 'nginx':
ensure => latest,
@ -37,24 +37,24 @@ class nailgun::nginx(
'/var/lib/fuel/keys',
'/var/lib/fuel/keys/master',
'/var/lib/fuel/keys/master/nginx',
]:
]:
ensure => 'directory',
}
file { ["/etc/nginx/conf.d/default.conf",
"/etc/nginx/conf.d/virtual.conf",
"/etc/nginx/conf.d/ssl.conf"]:
ensure => "absent",
notify => Service["nginx"],
file { ['/etc/nginx/conf.d/default.conf',
'/etc/nginx/conf.d/virtual.conf',
'/etc/nginx/conf.d/ssl.conf']:
ensure => 'absent',
notify => Service['nginx'],
before => [
Class["nailgun::nginx-repo"],
Class["nailgun::nginx-nailgun"],
],
Class['nailgun::nginx_repo'],
Class['nailgun::nginx_nailgun'],
],
}
class { "nailgun::nginx-repo":
class { '::nailgun::nginx_repo':
repo_root => $repo_root,
notify => Service["nginx"],
notify => Service['nginx'],
}
if $ssl_enabled {
@ -66,7 +66,7 @@ class nailgun::nginx(
altnames => [$nailgun_host],
state => 'California',
unit => 'Fuel Deployment Team',
email => "root@fuel.master.local",
email => 'root@fuel.master.local',
days => 3650,
base_dir => '/var/lib/fuel/keys/master/nginx/',
owner => 'root',
@ -77,17 +77,17 @@ class nailgun::nginx(
}
}
class { "nailgun::nginx-service":
class { '::nailgun::nginx_service':
service_enabled => $service_enabled,
}
class { 'nailgun::nginx-nailgun':
class { '::nailgun::nginx_nailgun':
staticdir => $staticdir,
logdumpdir => $logdumpdir,
ostf_host => $ostf_host,
keystone_host => $keystone_host,
nailgun_host => $nailgun_host,
notify => Service["nginx"],
notify => Service['nginx'],
ssl_enabled => $ssl_enabled,
force_https => $force_https,
}

View File

@ -4,14 +4,14 @@
# [*ssl_enabled*]
# (optional) enables SSL for nailgun UI part
#
class nailgun::nginx-nailgun(
class nailgun::nginx_nailgun(
$staticdir,
$logdumpdir,
$nailgun_host = '127.0.0.1',
$ostf_host = '127.0.0.1',
$nailgun_host = '127.0.0.1',
$ostf_host = '127.0.0.1',
$keystone_host = '127.0.0.1',
$ssl_enabled = false,
$force_https = undef,
$ssl_enabled = false,
$force_https = undef,
) {
if $ssl_enabled and $force_https {
@ -24,7 +24,7 @@ class nailgun::nginx-nailgun(
content => template('nailgun/nginx_nailgun.conf.erb'),
owner => 'root',
group => 'root',
mode => 0644,
mode => '0644',
require => Package['nginx'],
notify => Service['nginx'],
}

View File

@ -0,0 +1,16 @@
class nailgun::nginx_repo(
$repo_root = '/var/www/nailgun',
){
file { '/etc/nginx/conf.d/repo.conf':
content => template('nailgun/nginx_nailgun_repo.conf.erb'),
owner => 'root',
group => 'root',
mode => '0644',
require => [
Package['nginx'],
],
notify => Service['nginx'],
}
}

View File

@ -1,4 +1,4 @@
class nailgun::nginx-service (
class nailgun::nginx_service (
$service_enabled = true,
) {

View File

@ -1,6 +1,6 @@
require 'spec_helper'
describe 'nailgun::nginx-service' do
describe 'nailgun::nginx_service' do
it 'should contain X-Frame-Options SAMEORIGIN header' do
should contain_file('/etc/nginx/nginx.conf').with_content(/^\s*add_header X-Frame-Options SAMEORIGIN;$/)
end