aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--manifests/profile/base/ceilometer/collector.pp9
-rw-r--r--manifests/profile/base/nova/api.pp20
-rw-r--r--manifests/profile/base/swift/ringbuilder.pp13
-rw-r--r--manifests/profile/pacemaker/database/redis.pp1
-rw-r--r--manifests/profile/pacemaker/rabbitmq.pp1
-rw-r--r--spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb9
6 files changed, 44 insertions, 9 deletions
diff --git a/manifests/profile/base/ceilometer/collector.pp b/manifests/profile/base/ceilometer/collector.pp
index 443873f..3c0a361 100644
--- a/manifests/profile/base/ceilometer/collector.pp
+++ b/manifests/profile/base/ceilometer/collector.pp
@@ -60,10 +60,6 @@ class tripleo::profile::base::ceilometer::collector (
include ::tripleo::profile::base::ceilometer
- if $step >= 3 and $sync_db {
- include ::ceilometer::db::sync
- }
-
if $step >= 4 or ($step >= 3 and $sync_db) {
if downcase($ceilometer_backend) == 'mongodb' {
if empty($mongodb_node_ips) {
@@ -88,10 +84,13 @@ class tripleo::profile::base::ceilometer::collector (
$ceilometer_mongodb_conn_string = "mongodb://${mongo_node_string}/ceilometer?replicaSet=${mongodb_replset}"
class { '::ceilometer::db' :
+ sync_db => $sync_db,
database_connection => $ceilometer_mongodb_conn_string,
}
} else {
- include ::ceilometer::db
+ class { '::ceilometer::db' :
+ sync_db => $sync_db,
+ }
}
include ::ceilometer::collector
include ::ceilometer::dispatcher::gnocchi
diff --git a/manifests/profile/base/nova/api.pp b/manifests/profile/base/nova/api.pp
index 3c472c5..03706dc 100644
--- a/manifests/profile/base/nova/api.pp
+++ b/manifests/profile/base/nova/api.pp
@@ -38,10 +38,26 @@ class tripleo::profile::base::nova::api (
include ::tripleo::profile::base::nova
if $step >= 4 or ($step >= 3 and $sync_db) {
+
+ # Manages the migration to Nova API in mod_wsgi with Apache.
+ # - First update nova.conf with new parameters
+ # - Stop nova-api process before starting apache to avoid binding error
+ # - Start apache after configuring all vhosts
+ exec { 'stop_nova-api':
+ command => 'service openstack-nova-api stop',
+ path => ['/usr/bin', '/usr/sbin'],
+ onlyif => 'systemctl is-active openstack-nova-api',
+ refreshonly => true,
+ }
+ Nova_config<||> ~> Exec['stop_nova-api']
+ Exec['stop_nova-api'] -> Service['httpd']
+
class { '::nova::api':
- sync_db => $sync_db,
- sync_db_api => $sync_db,
+ service_name => 'httpd', # Temporary: will be moved to t-h-t
+ sync_db => $sync_db,
+ sync_db_api => $sync_db,
}
+ include ::nova::wsgi::apache
include ::nova::network::neutron
}
diff --git a/manifests/profile/base/swift/ringbuilder.pp b/manifests/profile/base/swift/ringbuilder.pp
index c77d744..7e5fc74 100644
--- a/manifests/profile/base/swift/ringbuilder.pp
+++ b/manifests/profile/base/swift/ringbuilder.pp
@@ -54,6 +54,15 @@
# (Optional) list of ip addresses for nodes running swift_storage service
# Defaults to hiera('swift_storage_node_ips') or an empty list
#
+# [*part_power*]
+# (Optional) The total number of partitions that should exist in the ring.
+# This is expressed as a power of 2.
+# Defaults to undef
+#
+# [*min_part_hours*]
+# Minimum amount of time before partitions can be moved.
+# Defaults to undef
+#
class tripleo::profile::base::swift::ringbuilder (
$replicas,
$build_ring = true,
@@ -63,6 +72,8 @@ class tripleo::profile::base::swift::ringbuilder (
$raw_disk_prefix = 'r1z1-',
$raw_disks = [],
$swift_storage_node_ips = hiera('swift_storage_node_ips', []),
+ $part_power = undef,
+ $min_part_hours = undef,
) {
if $step >= 2 {
# pre-install swift here so we can build rings
@@ -81,7 +92,9 @@ class tripleo::profile::base::swift::ringbuilder (
# create local rings
swift::ringbuilder::create{ ['object', 'account', 'container']:
+ part_power => $part_power,
replicas => min(count($device_array), $replicas),
+ min_part_hours => $min_part_hours,
} ->
# add all other devices
diff --git a/manifests/profile/pacemaker/database/redis.pp b/manifests/profile/pacemaker/database/redis.pp
index e081516..261df30 100644
--- a/manifests/profile/pacemaker/database/redis.pp
+++ b/manifests/profile/pacemaker/database/redis.pp
@@ -60,6 +60,7 @@ class tripleo::profile::pacemaker::database::redis (
master_params => '',
meta_params => 'notify=true ordered=true interleave=true',
resource_params => 'wait_last_known_master=true',
+ op_params => 'start timeout=200s stop timeout=200s',
require => Class['::redis'],
}
}
diff --git a/manifests/profile/pacemaker/rabbitmq.pp b/manifests/profile/pacemaker/rabbitmq.pp
index 8d5f9d0..dba01e3 100644
--- a/manifests/profile/pacemaker/rabbitmq.pp
+++ b/manifests/profile/pacemaker/rabbitmq.pp
@@ -86,6 +86,7 @@ class tripleo::profile::pacemaker::rabbitmq (
resource_params => "set_policy='ha-all ^(?!amq\\.).* {\"ha-mode\":\"exactly\",\"ha-params\":${nr_ha_queues}}'",
clone_params => 'ordered=true interleave=true',
meta_params => 'notify=true',
+ op_params => 'start timeout=200s stop timeout=200s',
require => Class['::rabbitmq'],
}
}
diff --git a/spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb b/spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb
index e262491..718c700 100644
--- a/spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb
+++ b/spec/classes/tripleo_profile_base_ceilometer_collector_spec.rb
@@ -52,6 +52,7 @@ describe 'tripleo::profile::base::ceilometer::collector' do
is_expected.to contain_class('tripleo::profile::base::ceilometer::collector')
is_expected.to contain_class('ceilometer::db::sync')
is_expected.to contain_class('ceilometer::db').with(
+ :sync_db => true,
:database_connection => 'mongodb://[::1]:27017,[fe80::ca5b:76ff:fe4b:be3b]:27017/ceilometer?replicaSet=replicaset'
)
end
@@ -72,6 +73,9 @@ describe 'tripleo::profile::base::ceilometer::collector' do
is_expected.to contain_class('ceilometer::db').without(
:database_connection => 'mongodb://127.0.0.1:27017/ceilometer?replicaSet=replicaset'
)
+ is_expected.to contain_class('ceilometer::db').with(
+ :sync_db => true
+ )
end
end
@@ -98,6 +102,7 @@ describe 'tripleo::profile::base::ceilometer::collector' do
it 'should trigger complete configuration' do
is_expected.to contain_class('ceilometer::db::sync')
is_expected.to contain_class('ceilometer::db').with(
+ :sync_db => true,
:database_connection => 'mongodb://127.0.0.1:27017/ceilometer?replicaSet=replicaset'
)
is_expected.to contain_class('ceilometer::collector')
@@ -114,9 +119,9 @@ describe 'tripleo::profile::base::ceilometer::collector' do
} }
it 'should trigger complete configuration' do
- #TODO(aschultz): LP#1629373
- #is_expected.to_not contain_class('ceilometer::db::sync')
+ is_expected.to_not contain_class('ceilometer::db::sync')
is_expected.to contain_class('ceilometer::db').with(
+ :sync_db => false,
:database_connection => 'mongodb://127.0.0.1:27017/ceilometer?replicaSet=replicaset'
)
is_expected.to contain_class('ceilometer::collector')