Skip to content

Commit

Permalink
Merge "SM-Ceilometer: ceilometer was providing sample-list/meter-list…
Browse files Browse the repository at this point in the history
…" into R3.2
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Feb 16, 2017
2 parents cbbb465 + f815432 commit 449d86a
Show file tree
Hide file tree
Showing 5 changed files with 117 additions and 55 deletions.
Expand Up @@ -47,6 +47,7 @@
$nova_rabbit_hosts = $::contrail::params::nova_rabbit_hosts,
$glance_management_address = $::contrail::params::os_glance_mgmt_address,
$host_roles = $::contrail::params::host_roles,
$enable_ceilometer = $::contrail::params::enable_ceilometer,
$neutron_ip_to_use = $::contrail::params::neutron_ip_to_use,
$rabbit_use_ssl = $::contrail::params::contrail_amqp_ssl,
$kombu_ssl_ca_certs = $::contrail::params::kombu_ssl_ca_certs,
Expand Down Expand Up @@ -223,6 +224,13 @@
$nova_params['DEFAULT/vcpu_pin_set'] = { value => build_vcpu_pin_list($core_mask) }
}

if ($enable_ceilometer) {
$nova_params['DEFAULT/instance_usage_audit'] = { value => 'True'}
$nova_params['DEFAULT/instance_usage_audit_period'] = { value => 'hour'}
$nova_params['DEFAULT/notify_on_state_change'] = { value => 'vm_and_task_state'}
$nova_params['DEFAULT/notification_driver'] = { value => "nova.openstack.common.notifier.rpc_notifier,ceilometer.compute.nova_notifier" }
}

if ($rabbit_use_ssl) {
contrail::lib::rabbitmq_ssl{'compute_rabbitmq':rabbit_use_ssl => $rabbit_use_ssl}

Expand Down
@@ -1,10 +1,11 @@
class contrail::compute::service(
$nova_compute_status = $::contrail::compute::config::nova_compute_status,
$host_control_ip = $::contrail::params::host_ip,
$compute_ip_list = $::contrail::params::compute_ip_list,
$nfs_server = $::contrail::params::nfs_server,
$contrail_logoutput = $::contrail::params::contrail_logoutput,
$upgrade_needed = $::contrail::params::upgrade_needed,
$host_control_ip = $::contrail::params::host_ip,
$compute_ip_list = $::contrail::params::compute_ip_list,
$nfs_server = $::contrail::params::nfs_server,
$contrail_logoutput = $::contrail::params::contrail_logoutput,
$upgrade_needed = $::contrail::params::upgrade_needed,
$enable_ceilometer = $::contrail::params::enable_ceilometer,
) {
if !('toragent' in $contrail::params::host_roles) {
service { 'supervisor-vrouter':
Expand Down
74 changes: 56 additions & 18 deletions contrail/environment/modules/contrail/manifests/profile/compute.pp
Expand Up @@ -18,28 +18,66 @@
$metering_secret = $::contrail::params::os_metering_secret,
$openstack_verbose = $::contrail::params::os_verbose,
$openstack_debug = $::contrail::params::os_debug,
$keystone_version = $::contrail::params::keystone_version,
$keystone_ip_to_use = $::contrail::params::keystone_ip_to_use,
$metering_secret = $::contrail::params::os_metering_secret,
$ceilometer_password = $::contrail::params::os_ceilometer_password,
$is_there_roles_to_delete = $::contrail::params::is_there_roles_to_delete,
$openstack_rabbit_servers = $::contrail::params::openstack_rabbit_hosts,
) {
if ($enable_module and "compute" in $host_roles and $is_there_roles_to_delete == false) {
contain ::contrail::profile::nova::compute
if ($enable_ceilometer) {
#contain ::contrail::ceilometer::agent::auth
if !defined(Class['::ceilometer']) {
class { '::ceilometer':
metering_secret => $metering_secret,
debug => $openstack_verbose,
verbose => $openstack_debug,
rabbit_hosts => $openstack_rabbit_servers,
rpc_backend => 'rabbit',
}
}
class { '::ceilometer::agent::compute': }
if ($enable_module and "compute" in $host_roles and $is_there_roles_to_delete == false) {
contain ::contrail::profile::nova::compute
if ($enable_ceilometer and !("openstack" in $host_roles)) {
#follow code is not needed if openstack role is there in host_roles
#contain ::contrail::ceilometer::agent::auth
$auth_url = "http://${keystone_ip_to_use}:5000/${keystone_version}"
$identity_uri = "http://${keystone_ip_to_use}:35357/${keystone_version}"
$auth_password = $ceilometer_password
$auth_tenant_name = 'services'
$auth_username = 'ceilometer'
if ($keystone_version == "v3" ) {
$domain_name = 'Default'
} else {
$domain_name = ''
}
if !defined(Class['::ceilometer']) {
class { '::ceilometer':
metering_secret => $metering_secret,
debug => $openstack_verbose,
verbose => $openstack_debug,
rabbit_hosts => $openstack_rabbit_servers,
rpc_backend => 'rabbit',
rabbit_password => 'guest'
}
} elsif ((!("compute" in $host_roles)) and ($contrail_roles["compute"] == true)) {
notify { "uninstalling compute":; }
contain ::contrail::uninstall_compute
Notify["uninstalling compute"]->Class['::contrail::uninstall_compute']
}
class { '::ceilometer::agent::compute': }
class { '::ceilometer::agent::auth':
auth_url => $auth_url,
auth_password => $auth_password,
auth_tenant_name => $auth_tenant_name,
auth_user => $auth_username,
auth_project_domain_name => $domain_name,
auth_user_domain_name => $domain_name
}
ceilometer_config {
'service_credentials/os_auth_url' : value => $auth_url;
'service_credentials/os_username' : value => $auth_username;
'service_credentials/os_password' : value => $auth_password;
'service_credentials/os_tenant_name' : value => $auth_tenant_name;
'keystone_authtoken/auth_uri' : value => $auth_url;
'keystone_authtoken/identity_uri' : value => $identity_uri;
'keystone_authtoken/admin_tenant_name' : value => $auth_tenant_name;
'keystone_authtoken/admin_user' : value => $auth_username;
'keystone_authtoken/admin_password' : value => $auth_password;
'database/time_to_live' : value => '7200';
'publisher/telemetry_secret' : value => $metering_secret;
'DEFAULT/auth_strategy' : value => 'keystone';
} -> Service['ceilometer-agent-compute']
}
} elsif ((!("compute" in $host_roles)) and ($contrail_roles["compute"] == true)) {
notify { "uninstalling compute":; }
contain ::contrail::uninstall_compute
Notify["uninstalling compute"]->Class['::contrail::uninstall_compute']
}
}

Expand Up @@ -16,16 +16,16 @@
$sync_db = $::contrail::params::os_sync_db,
$package_sku = $::contrail::params::package_sku,
$ceilometer_password = $::contrail::params::os_ceilometer_password,
$openstack_rabbit_servers = $::contrail::params::openstack_rabbit_hosts,
$openstack_rabbit_server_to_use = $::contrail::params::openstack_rabbit_server_to_use,
$openstack_rabbit_hosts = $::contrail::params::openstack_rabbit_hosts,
$openstack_rabbit_port = $::contrail::params::rabbit_port_real,
$controller_mgmt_address = $::contrail::params::os_controller_mgmt_address,
$keystone_ip_to_use = $::contrail::params::keystone_ip_to_use,
$rabbit_use_ssl = $::contrail::params::os_amqp_ssl,
$kombu_ssl_ca_certs = $::contrail::params::kombu_ssl_ca_certs,
$kombu_ssl_certfile = $::contrail::params::kombu_ssl_certfile,
$kombu_ssl_keyfile = $::contrail::params::kombu_ssl_keyfile,
$keystone_version = $::contrail::params::keystone_version
$keystone_version = $::contrail::params::keystone_version,
$host_roles = $::contrail::params::host_roles,
) {
$database_ip_to_use = $database_ip_list[0]
$mongo_connection = join([ "mongodb://ceilometer:", $mongo_password, "@", join($database_ip_list,':27017,') ,":27017/ceilometer?replicaSet=rs-ceilometer" ],'')
Expand Down Expand Up @@ -62,15 +62,18 @@
metering_secret => $metering_secret,
debug => $openstack_verbose,
verbose => $openstack_debug,
rabbit_host => $openstack_rabbit_server_to_use,
rabbit_port => $openstack_rabbit_port,
rabbit_hosts => $openstack_rabbit_hosts,
rabbit_use_ssl => $rabbit_use_ssl,
kombu_ssl_ca_certs => $kombu_ssl_ca_certs,
kombu_ssl_certfile => $kombu_ssl_certfile,
kombu_ssl_keyfile => $kombu_ssl_keyfile,
rpc_backend => 'rabbit',
rabbit_password => $rabbit_password
} ->
file { '/etc/ceilometer/pipeline.yaml':
ensure => file,
content => template('contrail/pipeline.yaml.erb'),
} ->
ceilometer_config {
'database/time_to_live' : value => '7200';
'publisher/telemetry_secret' : value => $metering_secret;
Expand All @@ -83,11 +86,7 @@
}

# NOTE: Added a ordering here, creates dependcy cycle for HA case.
class { '::ceilometer::collector': } ->
file { '/etc/ceilometer/pipeline.yaml':
ensure => file,
content => template('contrail/pipeline.yaml.erb'),
}
class { '::ceilometer::collector': }

case $package_sku {
/13\.0/: {
Expand All @@ -97,20 +96,23 @@
keystone_password => $ceilometer_password,
keystone_tenant => $auth_tenant_name,
}
class { '::ceilometer::agent::auth':
auth_url => $auth_url,
auth_password => $auth_password,
auth_tenant_name => $auth_tenant_name,
auth_user => $auth_username,
auth_project_domain_name => $domain_name,
auth_user_domain_name => $domain_name
}
ceilometer_config {
'service_credentials/os_auth_url' : value => $auth_url;
'service_credentials/os_username' : value => $auth_username;
'service_credentials/os_password' : value => $auth_password;
'service_credentials/os_tenant_name' : value => $auth_tenant_name;
}
class { '::ceilometer::agent::auth':
auth_url => $auth_url,
auth_password => $auth_password,
auth_tenant_name => $auth_tenant_name,
auth_user => $auth_username,
auth_project_domain_name => $domain_name,
auth_user_domain_name => $domain_name
}
ceilometer_config {
'service_credentials/os_auth_url' : value => $auth_url;
'service_credentials/os_username' : value => $auth_username;
'service_credentials/os_password' : value => $auth_password;
'service_credentials/os_tenant_name' : value => $auth_tenant_name;
}
if ('compute' in $host_roles) {
class { '::ceilometer::agent::compute': }
}
}

default: {
Expand All @@ -121,12 +123,15 @@
keystone_password => $ceilometer_password,
keystone_tenant => $auth_tenant_name,
}
class { '::ceilometer::agent::auth':
auth_url => $auth_url,
auth_password => $auth_password,
auth_tenant_name => $auth_tenant_name,
auth_user => $auth_username,
}
class { '::ceilometer::agent::auth':
auth_url => $auth_url,
auth_password => $auth_password,
auth_tenant_name => $auth_tenant_name,
auth_user => $auth_username,
}
if ('compute' in $host_roles) {
class { '::ceilometer::agent::compute': }
}
}
}
if $::osfamily != 'Debian' {
Expand Down
Expand Up @@ -46,17 +46,26 @@

if ($enable_module and 'openstack' in $host_roles and $is_there_roles_to_delete == false) {
if ($enable_ceilometer) {
if ('compute' in $host_roles) {
$ceilometer_compute = 'ceilometer-agent-compute'
} else {
$ceilometer_compute = ""
}
$ceilometer_packages = ['ceilometer-common',
'ceilometer-backend-package',
'ceilometer-collector',
'ceilometer-agent-notification',
'ceilometer-agent-central',
'ceilometer-api']
'ceilometer-api',
$ceilometer_compute ]
} else {
$ceilometer_packages = []
}
$pkg_list_a = ["${keystone::params::package_name}",
"${glance::params::api_package_name}",
"${glance::params::registry_package_name}",
"${cinder::params::package_name}",
"${cinder::params::scheduler_package}",
"${heat::params::api_package_name}",
"${heat::params::engine_package_name}",
"${heat::params::common_package_name}",
Expand All @@ -65,7 +74,8 @@
"${nova::params::numpy_package_name}",
"${mysql::params::python_package_name}",
"python-nova",
"python-keystone", "python-cinderclient",
"python-keystone",
"python-cinderclient",
$ceilometer_packages]
# api_package is false in case of Centos
if $::cinder::params::api_package {
Expand Down

0 comments on commit 449d86a

Please sign in to comment.