169 lines
5.8 KiB
Puppet
169 lines
5.8 KiB
Puppet
#
|
|
# Files in this package are licensed under Apache; see LICENSE file.
|
|
#
|
|
# Copyright (c) 2013-2018 Wind River Systems, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Dec 2017 Creation based off puppet-sysinv
|
|
#
|
|
|
|
#
|
|
# == Parameters
|
|
#
|
|
# [use_syslog]
|
|
# Use syslog for logging.
|
|
# (Optional) Defaults to false.
|
|
#
|
|
# [log_facility]
|
|
# Syslog facility to receive log lines.
|
|
# (Optional) Defaults to LOG_USER.
|
|
|
|
class dcorch (
|
|
$database_connection = '',
|
|
$database_idle_timeout = 3600,
|
|
$database_max_pool_size = 5,
|
|
$database_max_overflow = 10,
|
|
$control_exchange = 'openstack',
|
|
$rabbit_host = '127.0.0.1',
|
|
$rabbit_port = 5672,
|
|
$rabbit_hosts = false,
|
|
$rabbit_virtual_host = '/',
|
|
$rabbit_userid = 'guest',
|
|
$rabbit_password = false,
|
|
$package_ensure = 'present',
|
|
$api_paste_config = '/etc/dcorch/api-paste.ini',
|
|
$use_stderr = false,
|
|
$log_file = 'dcorch.log',
|
|
$log_dir = '/var/log/dcorch',
|
|
$use_syslog = false,
|
|
$log_facility = 'LOG_USER',
|
|
$verbose = false,
|
|
$debug = false,
|
|
$dcorch_api_port = 8118,
|
|
$dcorch_mtc_inv_label = '/v1/',
|
|
$region_name = 'RegionOne',
|
|
$proxy_bind_host = '0.0.0.0',
|
|
$proxy_remote_host = '127.0.0.1',
|
|
$compute_bind_port = 28774,
|
|
$compute_remote_port = 18774,
|
|
$platform_bind_port = 26385,
|
|
$platform_remote_port = 6385,
|
|
$volumev2_bind_port = 28776,
|
|
$volumev2_remote_port = 8776,
|
|
$network_bind_port = 29696,
|
|
$network_remote_port = 9696,
|
|
$patching_bind_port = 25491,
|
|
$patching_remote_port = 5491,
|
|
$identity_bind_port = 25000,
|
|
$identity_remote_port = 5000,
|
|
) {
|
|
|
|
include dcorch::params
|
|
include dcorch::deps
|
|
|
|
# this anchor is used to simplify the graph between dcorch components by
|
|
# allowing a resource to serve as a point where the configuration of dcorch begins
|
|
anchor { 'dcorch-start': }
|
|
|
|
package { 'dcorch':
|
|
ensure => $package_ensure,
|
|
name => $::dcorch::params::package_name,
|
|
require => Anchor['dcorch-start'],
|
|
tag => 'dcorch-package',
|
|
}
|
|
|
|
file { $::dcorch::params::dcorch_conf:
|
|
ensure => present,
|
|
mode => '0640',
|
|
owner => 'dcorch',
|
|
group => 'dcorch',
|
|
require => Package['dcorch'],
|
|
}
|
|
|
|
file { $::dcorch::params::dcorch_paste_api_ini:
|
|
ensure => present,
|
|
mode => '0640',
|
|
owner => 'dcorch',
|
|
group => 'dcorch',
|
|
require => Package['dcorch'],
|
|
}
|
|
|
|
dcorch_config {
|
|
'DEFAULT/transport_url': value => $::platform::amqp::params::transport_url;
|
|
}
|
|
|
|
dcorch_config {
|
|
'DEFAULT/verbose': value => $verbose;
|
|
'DEFAULT/debug': value => $debug;
|
|
'DEFAULT/api_paste_config': value => $api_paste_config;
|
|
}
|
|
|
|
# Automatically add psycopg2 driver to postgresql (only does this if it is missing)
|
|
$real_connection = regsubst($database_connection,'^postgresql:','postgresql+psycopg2:')
|
|
|
|
dcorch_config {
|
|
'database/connection': value => $real_connection, secret => true;
|
|
'database/connection_recycle_time': value => $database_idle_timeout;
|
|
'database/max_pool_size': value => $database_max_pool_size;
|
|
'database/max_overflow': value => $database_max_overflow;
|
|
}
|
|
|
|
if $use_syslog {
|
|
dcorch_config {
|
|
'DEFAULT/use_syslog': value => true;
|
|
'DEFAULT/syslog_log_facility': value => $log_facility;
|
|
}
|
|
} else {
|
|
dcorch_config {
|
|
'DEFAULT/use_syslog': value => false;
|
|
'DEFAULT/use_stderr': value => false;
|
|
'DEFAULT/log_file' : value => $log_file;
|
|
'DEFAULT/log_dir' : value => $log_dir;
|
|
}
|
|
}
|
|
|
|
dcorch_config {
|
|
'keystone_authtoken/region_name': value => $region_name;
|
|
}
|
|
dcorch_config {
|
|
'compute/bind_host' : value => $proxy_bind_host;
|
|
'compute/bind_port' : value => $compute_bind_port;
|
|
'compute/remote_host' : value => $proxy_remote_host;
|
|
'compute/remote_port' : value => $compute_remote_port;
|
|
|
|
'platform/bind_host' : value => $proxy_bind_host;
|
|
'platform/bind_port' : value => $platform_bind_port;
|
|
'platform/remote_host' : value => $proxy_remote_host;
|
|
'platform/remote_port' : value => $platform_remote_port;
|
|
|
|
'volume/bind_host' : value => $proxy_bind_host;
|
|
'volume/bind_port' : value => $volumev2_bind_port;
|
|
'volume/remote_host' : value => $proxy_remote_host;
|
|
'volume/remote_port' : value => $volumev2_remote_port;
|
|
|
|
'network/bind_host' : value => $proxy_bind_host;
|
|
'network/bind_port' : value => $network_bind_port;
|
|
'network/remote_host' : value => $proxy_remote_host;
|
|
'network/remote_port' : value => $network_remote_port;
|
|
|
|
'patching/bind_host' : value => $proxy_bind_host;
|
|
'patching/bind_port' : value => $patching_bind_port;
|
|
'patching/remote_host' : value => '0.0.0.0';
|
|
'patching/remote_port' : value => $patching_remote_port;
|
|
|
|
'identity/bind_host' : value => $proxy_bind_host;
|
|
'identity/bind_port' : value => $identity_bind_port;
|
|
'identity/remote_host' : value => $proxy_remote_host;
|
|
'identity/remote_port' : value => $identity_remote_port;
|
|
}
|
|
|
|
dcorch_api_paste_ini {
|
|
'pipeline:dcorch-api-proxy/pipeline': value => 'filter authtoken acceptor proxyapp';
|
|
'filter:filter/paste.filter_factory': value => 'dcorch.api.proxy.apps.filter:ApiFiller.factory';
|
|
'filter:authtoken/paste.filter_factory': value => 'keystonemiddleware.auth_token:filter_factory';
|
|
'filter:acceptor/paste.filter_factory': value => 'dcorch.api.proxy.apps.acceptor:Acceptor.factory';
|
|
'app:proxyapp/paste.app_factory': value => 'dcorch.api.proxy.apps.proxy:Proxy.factory';
|
|
}
|
|
}
|