if $pacemaker_master {
+ include pacemaker::resource_defaults
+
# FIXME: we should not have to access tripleo::loadbalancer class
# parameters here to configure pacemaker VIPs. The configuration
# of pacemaker VIPs could move into puppet-tripleo or we should
tunnel_types => split(hiera('neutron_tunnel_types'), ','),
}
+ if 'cisco_ucsm' in hiera('neutron_mechanism_drivers') {
+ include ::neutron::plugins::ml2::cisco::ucsm
+ }
+ if 'cisco_nexus' in hiera('neutron_mechanism_drivers') {
+ include ::neutron::plugins::ml2::cisco::nexus
+ include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
+ }
+
+ if hiera('neutron_enable_bigswitch_ml2', false) {
+ include neutron::plugins::ml2::bigswitch::restproxy
+ }
+ neutron_l3_agent_config {
+ 'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false);
+ }
+ neutron_dhcp_agent_config {
+ 'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false);
+ }
+
include ::cinder
class { '::cinder::api':
sync_db => $sync_db,
require => [Pacemaker::Resource::Service[$::nova::params::consoleauth_service_name],
Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name]],
}
- # FIXME(gfidente): novncproxy will not start unless websockify is updated to 0.6
- # which is not the case for f20 nor f21; ucomment when it becomes available
- #pacemaker::constraint::base { 'nova-vncproxy-then-nova-api-constraint':
- # constraint_type => "order",
- # first_resource => "${::nova::params::vncproxy_service_name}-clone",
- # second_resource => "${::nova::params::api_service_name}-clone",
- # first_action => "start",
- # second_action => "start",
- # require => [Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name],
- # Pacemaker::Resource::Service[$::nova::params::api_service_name]],
- #}
- #pacemaker::constraint::colocation { 'nova-api-with-nova-vncproxy-colocation':
- # source => "${::nova::params::api_service_name}-clone",
- # target => "${::nova::params::vncproxy_service_name}-clone",
- # score => "INFINITY",
- # require => [Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name],
- # Pacemaker::Resource::Service[$::nova::params::api_service_name]],
- #}
+ pacemaker::constraint::base { 'nova-vncproxy-then-nova-api-constraint':
+ constraint_type => "order",
+ first_resource => "${::nova::params::vncproxy_service_name}-clone",
+ second_resource => "${::nova::params::api_service_name}-clone",
+ first_action => "start",
+ second_action => "start",
+ require => [Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name],
+ Pacemaker::Resource::Service[$::nova::params::api_service_name]],
+ }
+ pacemaker::constraint::colocation { 'nova-api-with-nova-vncproxy-colocation':
+ source => "${::nova::params::api_service_name}-clone",
+ target => "${::nova::params::vncproxy_service_name}-clone",
+ score => "INFINITY",
+ require => [Pacemaker::Resource::Service[$::nova::params::vncproxy_service_name],
+ Pacemaker::Resource::Service[$::nova::params::api_service_name]],
+ }
pacemaker::constraint::base { 'nova-api-then-nova-scheduler-constraint':
constraint_type => "order",
first_resource => "${::nova::params::api_service_name}-clone",
clone_params => 'interleave=true',
resource_params => 'startdelay=10',
}
+ # Fedora doesn't know `require-all` parameter for constraints yet
+ if $::operatingsystem == 'Fedora' {
+ $redis_ceilometer_constraint_params = undef
+ } else {
+ $redis_ceilometer_constraint_params = 'require-all=false'
+ }
+ pacemaker::constraint::base { 'redis-then-ceilometer-central-constraint':
+ constraint_type => 'order',
+ first_resource => "redis-master",
+ second_resource => "${::ceilometer::params::agent_central_service_name}-clone",
+ first_action => 'promote',
+ second_action => 'start',
+ constraint_params => $redis_ceilometer_constraint_params,
+ require => [Pacemaker::Resource::Ocf['redis'],
+ Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name]],
+ }
pacemaker::constraint::base { 'keystone-then-ceilometer-central-constraint':
constraint_type => 'order',
first_resource => "${::keystone::params::service_name}-clone",
}
} #END STEP 4
+
+$package_manifest_name = join(['/var/lib/tripleo/installed-packages/overcloud_controller_pacemaker', hiera('step')])
+package_manifest{$package_manifest_name: ensure => present}