Merge "Re-enable Ceilometer composable roles for controller"
[apex-tripleo-heat-templates.git] / puppet / manifests / overcloud_controller_pacemaker.pp
index ce9c6f7..9a9d008 100644 (file)
@@ -21,7 +21,6 @@ Pcmk_resource <| |> {
 # TODO(jistr): use pcs resource provider instead of just no-ops
 Service <|
   tag == 'aodh-service' or
-  tag == 'ceilometer-service' or
   tag == 'gnocchi-service'
 |> {
   hasrestart => true,
@@ -87,10 +86,6 @@ if hiera('step') >= 1 {
     op_params => 'start timeout=200s stop timeout=200s',
   }
 
-  if downcase(hiera('ceilometer_backend')) == 'mongodb' {
-    include ::mongodb::params
-  }
-
   # Galera
   if str2bool(hiera('enable_galera', true)) {
     $mysql_config_file = '/etc/my.cnf.d/galera.cnf'
@@ -213,13 +208,6 @@ if hiera('step') >= 2 {
       user       => 'clustercheck@localhost',
     }
 
-    # Create all the database schemas
-    if downcase(hiera('ceilometer_backend')) == 'mysql' {
-      class { '::ceilometer::db::mysql':
-        require => Exec['galera-ready'],
-      }
-    }
-
     if downcase(hiera('gnocchi_indexer_backend')) == 'mysql' {
       class { '::gnocchi::db::mysql':
         require => Exec['galera-ready'],
@@ -281,101 +269,6 @@ MYSQL_HOST=localhost\n",
 
   include ::nova::config
 
-  if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
-
-    # TODO(devvesa) provide non-controller ips for these services
-    $zookeeper_node_ips = hiera('neutron_api_node_ips')
-    $cassandra_node_ips = hiera('neutron_api_node_ips')
-
-    # Run zookeeper in the controller if configured
-    if hiera('enable_zookeeper_on_controller') {
-      class {'::tripleo::cluster::zookeeper':
-        zookeeper_server_ips => $zookeeper_node_ips,
-        # TODO: create a 'bind' hiera key for zookeeper
-        zookeeper_client_ip  => hiera('neutron::bind_host'),
-        zookeeper_hostnames  => split(hiera('controller_node_names'), ',')
-      }
-    }
-
-    # Run cassandra in the controller if configured
-    if hiera('enable_cassandra_on_controller') {
-      class {'::tripleo::cluster::cassandra':
-        cassandra_servers => $cassandra_node_ips,
-        # TODO: create a 'bind' hiera key for cassandra
-        cassandra_ip      => hiera('neutron::bind_host'),
-      }
-    }
-
-    class {'::tripleo::network::midonet::agent':
-      zookeeper_servers => $zookeeper_node_ips,
-      cassandra_seeds   => $cassandra_node_ips
-    }
-
-    class {'::tripleo::network::midonet::api':
-      zookeeper_servers    => $zookeeper_node_ips,
-      vip                  => hiera('public_virtual_ip'),
-      keystone_ip          => hiera('public_virtual_ip'),
-      keystone_admin_token => hiera('keystone::admin_token'),
-      # TODO: create a 'bind' hiera key for api
-      bind_address         => hiera('neutron::bind_host'),
-      admin_password       => hiera('admin_password')
-    }
-
-    # Configure Neutron
-    # TODO: when doing the composable midonet plugin, don't forget to
-    # set service_plugins to an empty array in Hiera.
-    class {'::neutron':
-      service_plugins => []
-    }
-
-  }
-
-  if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
-    class {'::neutron::plugins::midonet':
-      midonet_api_ip    => hiera('public_virtual_ip'),
-      keystone_tenant   => hiera('neutron::server::auth_tenant'),
-      keystone_password => hiera('neutron::server::password')
-    }
-  }
-
-  # Ceilometer
-  case downcase(hiera('ceilometer_backend')) {
-    /mysql/: {
-      $ceilometer_database_connection = hiera('ceilometer_mysql_conn_string')
-    }
-    default: {
-      $mongo_node_string = join($mongo_node_ips_with_port, ',')
-      $ceilometer_database_connection = "mongodb://${mongo_node_string}/ceilometer?replicaSet=${mongodb_replset}"
-    }
-  }
-  include ::ceilometer
-  include ::ceilometer::config
-  class { '::ceilometer::api' :
-    manage_service => false,
-    enabled        => false,
-  }
-  class { '::ceilometer::agent::notification' :
-    manage_service => false,
-    enabled        => false,
-  }
-  class { '::ceilometer::agent::central' :
-    manage_service => false,
-    enabled        => false,
-  }
-  class { '::ceilometer::collector' :
-    manage_service => false,
-    enabled        => false,
-  }
-  include ::ceilometer::expirer
-  class { '::ceilometer::db' :
-    database_connection => $ceilometer_database_connection,
-    sync_db             => $sync_db,
-  }
-  include ::ceilometer::agent::auth
-  include ::ceilometer::dispatcher::gnocchi
-
-  Cron <| title == 'ceilometer-expirer' |> { command => "sleep $((\$(od -A n -t d -N 3 /dev/urandom) % 86400)) && ${::ceilometer::params::expirer_command}" }
-
   # httpd/apache and horizon
   # NOTE(gfidente): server-status can be consumed by the pacemaker resource agent
   class { '::apache' :
@@ -519,49 +412,6 @@ password=\"${mysql_root_password}\"",
                           Pacemaker::Resource::Ocf['openstack-core']],
     }
 
-    if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
-      pacemaker::resource::service {'tomcat':
-        clone_params => 'interleave=true',
-      }
-    }
-    if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
-      #midonet-chain chain keystone-->neutron-server-->dhcp-->metadata->tomcat
-      pacemaker::constraint::base { 'neutron-server-to-dhcp-agent-constraint':
-        constraint_type => 'order',
-        first_resource  => "${::neutron::params::server_service}-clone",
-        second_resource => "${::neutron::params::dhcp_agent_service}-clone",
-        first_action    => 'start',
-        second_action   => 'start',
-        require         => [Pacemaker::Resource::Service[$::neutron::params::server_service],
-                            Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
-      }
-      pacemaker::constraint::base { 'neutron-dhcp-agent-to-metadata-agent-constraint':
-        constraint_type => 'order',
-        first_resource  => "${::neutron::params::dhcp_agent_service}-clone",
-        second_resource => "${::neutron::params::metadata_agent_service}-clone",
-        first_action    => 'start',
-        second_action   => 'start',
-        require         => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
-                            Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]],
-      }
-      pacemaker::constraint::base { 'neutron-metadata-agent-to-tomcat-constraint':
-        constraint_type => 'order',
-        first_resource  => "${::neutron::params::metadata_agent_service}-clone",
-        second_resource => 'tomcat-clone',
-        first_action    => 'start',
-        second_action   => 'start',
-        require         => [Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service],
-                            Pacemaker::Resource::Service['tomcat']],
-      }
-      pacemaker::constraint::colocation { 'neutron-dhcp-agent-to-metadata-agent-colocation':
-        source  => "${::neutron::params::metadata_agent_service}-clone",
-        target  => "${::neutron::params::dhcp_agent_service}-clone",
-        score   => 'INFINITY',
-        require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
-                    Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]],
-      }
-    }
-
     # Nova
     pacemaker::constraint::base { 'keystone-then-nova-consoleauth-constraint':
       constraint_type => 'order',
@@ -644,49 +494,12 @@ password=\"${mysql_root_password}\"",
                   Pacemaker::Resource::Service[$::nova::params::conductor_service_name]],
     }
 
-    # Ceilometer and Aodh
-    case downcase(hiera('ceilometer_backend')) {
-      /mysql/: {
-        pacemaker::resource::service { $::ceilometer::params::agent_central_service_name:
-          clone_params => 'interleave=true',
-          require      => Pacemaker::Resource::Ocf['openstack-core'],
-        }
-      }
-      default: {
-        pacemaker::resource::service { $::ceilometer::params::agent_central_service_name:
-          clone_params => 'interleave=true',
-          require      => [Pacemaker::Resource::Ocf['openstack-core'],
-                          Pacemaker::Resource::Service[$::mongodb::params::service_name]],
-        }
-      }
-    }
-    pacemaker::resource::service { $::ceilometer::params::collector_service_name :
-      clone_params => 'interleave=true',
-    }
-    pacemaker::resource::service { $::ceilometer::params::api_service_name :
-      clone_params => 'interleave=true',
-    }
-    pacemaker::resource::service { $::ceilometer::params::agent_notification_service_name :
-      clone_params => 'interleave=true',
-    }
     # Fedora doesn't know `require-all` parameter for constraints yet
     if $::operatingsystem == 'Fedora' {
-      $redis_ceilometer_constraint_params = undef
       $redis_aodh_constraint_params = undef
     } else {
-      $redis_ceilometer_constraint_params = 'require-all=false'
       $redis_aodh_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 { 'redis-then-aodh-evaluator-constraint':
       constraint_type   => 'order',
       first_resource    => 'redis-master',
@@ -697,49 +510,6 @@ password=\"${mysql_root_password}\"",
       require           => [Pacemaker::Resource::Ocf['redis'],
                             Pacemaker::Resource::Service[$::aodh::params::evaluator_service_name]],
     }
-    pacemaker::constraint::base { 'keystone-then-ceilometer-central-constraint':
-      constraint_type => 'order',
-      first_resource  => 'openstack-core-clone',
-      second_resource => "${::ceilometer::params::agent_central_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
-                          Pacemaker::Resource::Ocf['openstack-core']],
-    }
-    pacemaker::constraint::base { 'keystone-then-ceilometer-notification-constraint':
-      constraint_type => 'order',
-      first_resource  => 'openstack-core-clone',
-      second_resource => "${::ceilometer::params::agent_notification_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
-                          Pacemaker::Resource::Ocf['openstack-core']],
-    }
-    pacemaker::constraint::base { 'ceilometer-central-then-ceilometer-collector-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::ceilometer::params::agent_central_service_name}-clone",
-      second_resource => "${::ceilometer::params::collector_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
-                          Pacemaker::Resource::Service[$::ceilometer::params::collector_service_name]],
-    }
-    pacemaker::constraint::base { 'ceilometer-collector-then-ceilometer-api-constraint':
-      constraint_type => 'order',
-      first_resource  => "${::ceilometer::params::collector_service_name}-clone",
-      second_resource => "${::ceilometer::params::api_service_name}-clone",
-      first_action    => 'start',
-      second_action   => 'start',
-      require         => [Pacemaker::Resource::Service[$::ceilometer::params::collector_service_name],
-                          Pacemaker::Resource::Service[$::ceilometer::params::api_service_name]],
-    }
-    pacemaker::constraint::colocation { 'ceilometer-api-with-ceilometer-collector-colocation':
-      source  => "${::ceilometer::params::api_service_name}-clone",
-      target  => "${::ceilometer::params::collector_service_name}-clone",
-      score   => 'INFINITY',
-      require => [Pacemaker::Resource::Service[$::ceilometer::params::api_service_name],
-                  Pacemaker::Resource::Service[$::ceilometer::params::collector_service_name]],
-    }
     # Aodh
     pacemaker::resource::service { $::aodh::params::evaluator_service_name :
       clone_params => 'interleave=true',
@@ -782,17 +552,6 @@ password=\"${mysql_root_password}\"",
       require => [Pacemaker::Resource::Service[$::aodh::params::evaluator_service_name],
                   Pacemaker::Resource::Service[$::aodh::params::listener_service_name]],
     }
-    if downcase(hiera('ceilometer_backend')) == 'mongodb' {
-      pacemaker::constraint::base { 'mongodb-then-ceilometer-central-constraint':
-        constraint_type => 'order',
-        first_resource  => "${::mongodb::params::service_name}-clone",
-        second_resource => "${::ceilometer::params::agent_central_service_name}-clone",
-        first_action    => 'start',
-        second_action   => 'start',
-        require         => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
-                            Pacemaker::Resource::Service[$::mongodb::params::service_name]],
-      }
-    }
 
     # gnocchi
     pacemaker::resource::service { $::gnocchi::params::metricd_service_name :