puppet-openstack-integration/manifests/sahara.pp
Takashi Kajinami 544159a630 Drop workarounds for old packaging problems in Ubuntu
Some of the services have been disabled in Ubuntu because of old
package problems but can be enabled now, to restore test coverage in
Ubuntu.

This also enables murano in both CentOS and Ubuntu. The murano tempest
plugin tests still fail so tempest tests are still disabled for now.

Depends-on: https://review.opendev.org/900608
Change-Id: I98f67f5088240e9a0c3ff0e4927959f40a1b6119
2023-11-11 15:49:01 +09:00

117 lines
3.9 KiB
Puppet

# Configure the Sahara service
#
# [*integration_enable*]
# (optional) Boolean to run integration tests.
# Defaults to true.
#
class openstack_integration::sahara (
$integration_enable = true,
){
include openstack_integration::config
include openstack_integration::params
if $::openstack_integration::config::ssl {
openstack_integration::ssl_key { 'sahara':
notify => Service['httpd'],
require => Package['sahara-api'],
}
Exec['update-ca-certificates'] ~> Service['httpd']
}
openstack_integration::mq_user { 'sahara':
password => 'an_even_bigger_secret',
before => Anchor['sahara::service::begin'],
}
class { 'sahara::db::mysql':
charset => $::openstack_integration::params::mysql_charset,
collate => $::openstack_integration::params::mysql_collate,
password => 'sahara',
host => $::openstack_integration::config::host,
}
class { 'sahara::keystone::auth':
public_url => "${::openstack_integration::config::base_url}:8386",
internal_url => "${::openstack_integration::config::base_url}:8386",
admin_url => "${::openstack_integration::config::base_url}:8386",
roles => ['admin', 'service'],
password => 'a_big_secret',
}
class { 'sahara::logging':
debug => true,
}
class { 'sahara::db':
database_connection => os_database_connection({
'dialect' => 'mysql+pymysql',
'host' => $::openstack_integration::config::ip_for_url,
'username' => 'sahara',
'password' => 'sahara',
'database' => 'sahara',
'charset' => 'utf8',
'extra' => $::openstack_integration::config::db_extra,
}),
}
class { 'sahara':
host => $::openstack_integration::config::host,
default_transport_url => os_transport_url({
'transport' => $::openstack_integration::config::messaging_default_proto,
'host' => $::openstack_integration::config::host,
'port' => $::openstack_integration::config::messaging_default_port,
'username' => 'sahara',
'password' => 'an_even_bigger_secret',
}),
rabbit_use_ssl => $::openstack_integration::config::ssl,
}
class { 'sahara::keystone::authtoken':
password => 'a_big_secret',
user_domain_name => 'Default',
project_domain_name => 'Default',
auth_url => $::openstack_integration::config::keystone_admin_uri,
www_authenticate_uri => $::openstack_integration::config::keystone_auth_uri,
memcached_servers => $::openstack_integration::config::memcached_servers,
service_token_roles_required => true,
}
class { 'sahara::service::api':
service_name => 'httpd',
}
class { 'sahara::wsgi::apache':
bind_host => $::openstack_integration::config::host,
ssl => $::openstack_integration::config::ssl,
ssl_key => "/etc/sahara/ssl/private/${facts['networking']['fqdn']}.pem",
ssl_cert => $::openstack_integration::params::cert_path,
workers => 2,
}
class { 'sahara::service::engine': }
class { 'sahara::client': }
class { 'sahara::notify': }
sahara::plugin { 'vanilla': }
if $integration_enable {
# create simple sahara templates
sahara_node_group_template { 'master':
ensure => present,
plugin => 'vanilla',
plugin_version => '2.7.1',
flavor => 'm1.micro',
node_processes => [ 'namenode', 'resourcemanager' ],
}
sahara_node_group_template { 'worker':
ensure => present,
plugin => 'vanilla',
plugin_version => '2.7.1',
flavor => 'm1.micro',
node_processes => [ 'datanode', 'nodemanager' ],
}
sahara_cluster_template { 'cluster':
ensure => present,
node_groups => [ 'master:1', 'worker:2' ]
}
Nova_flavor<||> -> Sahara_node_group_template<||>
Class['sahara::keystone::auth'] -> Sahara_node_group_template<||>
}
}