placement: Use puppet-placement to deploy an extracted service

This change introduces an extracted placement class capable of deploying
the service using puppet-placement ahead of the official extraction of
the service from Nova in Train.

scenario001 continues to deploy Placement using the now deprecated
puppet-nova classes ahead of their removal in Train.

Change-Id: I5260b4d3478008a76fbe53fdbb716004d11b22df
This commit is contained in:
Lee Yarwood 2019-01-31 11:55:55 +00:00
parent 2457c0aca0
commit 39de59e91a
9 changed files with 79 additions and 18 deletions

View File

@ -109,6 +109,10 @@ mod 'panko',
:git => 'https://git.openstack.org/openstack/puppet-panko',
:ref => 'master'
mod 'placement',
:git => 'https://git.openstack.org/openstack/puppet-placement',
:ref => 'master'
mod 'qdr',
:git => 'https://git.openstack.org/openstack/puppet-qdr',
:ref => 'master'

View File

@ -29,10 +29,8 @@ include ::openstack_integration::mysql
include ::openstack_integration::keystone
include ::openstack_integration::glance
include ::openstack_integration::neutron
include ::openstack_integration::nova_placement
class { '::openstack_integration::nova':
placement_database_connection => 'mysql+pymysql://nova_placement:nova@127.0.0.1/nova_placement?charset=utf8',
}
include ::openstack_integration::placement
include ::openstack_integration::nova
include ::openstack_integration::cinder
include ::openstack_integration::horizon
include ::openstack_integration::provision

View File

@ -46,10 +46,8 @@ class { '::openstack_integration::glance':
}
include ::openstack_integration::neutron
include ::openstack_integration::swift
include ::openstack_integration::nova_placement
class { '::openstack_integration::nova':
placement_database_connection => 'mysql+pymysql://nova_placement:nova@127.0.0.1/nova_placement?charset=utf8',
}
include ::openstack_integration::placement
include ::openstack_integration::nova
include ::openstack_integration::cinder
include ::openstack_integration::horizon
include ::openstack_integration::heat

View File

@ -80,10 +80,9 @@ include ::openstack_integration::ironic
include ::openstack_integration::zaqar
include ::openstack_integration::provision
include ::openstack_integration::nova_placement
include ::openstack_integration::placement
class { '::openstack_integration::nova':
volume_encryption => true,
placement_database_connection => 'mysql+pymysql://nova_placement:nova@127.0.0.1/nova_placement?charset=utf8',
volume_encryption => true,
}
class { '::openstack_integration::cinder':

View File

@ -91,10 +91,8 @@ include ::openstack_integration::glance
class { '::openstack_integration::neutron':
driver => 'linuxbridge',
}
include ::openstack_integration::nova_placement
class { '::openstack_integration::nova':
placement_database_connection => 'mysql+pymysql://nova_placement:nova@127.0.0.1/nova_placement?charset=utf8',
}
include ::openstack_integration::placement
include ::openstack_integration::nova
if $trove_enabled {
include ::openstack_integration::trove
}

View File

@ -83,10 +83,9 @@ class { '::openstack_integration::neutron':
l2gw_enabled => $l2gw_enabled,
bgp_dragent_enabled => $bgp_dragent_enabled,
}
include ::openstack_integration::nova_placement
include ::openstack_integration::placement
class { '::openstack_integration::nova':
libvirt_rbd => true,
placement_database_connection => 'mysql+pymysql://nova_placement:nova@127.0.0.1/nova_placement?charset=utf8',
libvirt_rbd => true,
}
class { '::openstack_integration::ceph':

63
manifests/placement.pp Normal file
View File

@ -0,0 +1,63 @@
# Configure the Placement service
class openstack_integration::placement {
include ::openstack_integration::config
include ::openstack_integration::params
include ::placement
if $::openstack_integration::config::ssl {
openstack_integration::ssl_key { 'placement':
notify => Service['httpd'],
require => Package['placement-common'],
}
Exec['update-ca-certificates'] ~> Service['httpd']
}
class { '::placement::db::mysql':
password => 'placement',
}
if ($::os_package_type == 'debian') {
class { '::placement::keystone::auth':
public_url => "${::openstack_integration::config::base_url}:8778",
internal_url => "${::openstack_integration::config::base_url}:8778",
admin_url => "${::openstack_integration::config::base_url}:8778",
password => 'a_big_secret',
}
} else {
class { '::placement::keystone::auth':
public_url => "${::openstack_integration::config::base_url}:8778/placement",
internal_url => "${::openstack_integration::config::base_url}:8778/placement",
admin_url => "${::openstack_integration::config::base_url}:8778/placement",
password => 'a_big_secret',
}
}
class { '::placement::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,
}
class { '::placement::logging':
debug => true,
}
class { '::placement::db':
database_connection => 'mysql+pymysql://placement:placement@127.0.0.1/placement?charset=utf8',
}
include ::placement::db::sync
include ::apache
if ($::os_package_type != 'debian') {
class { '::placement::wsgi::apache':
bind_host => $::openstack_integration::config::ip_for_url,
api_port => '8778',
ssl_key => "/etc/placement/ssl/private/${::fqdn}.pem",
ssl_cert => $::openstack_integration::params::cert_path,
ssl => $::openstack_integration::config::ssl,
workers => '2',
}
}
}

View File

@ -25,6 +25,7 @@ openstacklib
oslo
ovn
panko
placement
qdr
sahara
swift

View File

@ -34,6 +34,7 @@
- openstack/puppet-oslo
- openstack/puppet-ovn
- openstack/puppet-panko
- openstack/puppet-placement
- openstack/puppet-qdr
- openstack/puppet-sahara
- openstack/puppet-swift