Dedicated node role for Contrail Analytics added
Change-Id: Ibbfa8feadddd2b78517943bd189251129dabd4d1
This commit is contained in:
parent
7ad134016e
commit
6f76e62e64
|
@ -0,0 +1,18 @@
|
|||
# Copyright 2015 Mirantis, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
notice('MODULAR: contrail/contrail-analytics-provision.pp')
|
||||
|
||||
include contrail
|
||||
class { 'contrail::provision::analytics': }
|
|
@ -0,0 +1,18 @@
|
|||
# Copyright 2015 Mirantis, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
notice('MODULAR: contrail/contrail-analytics.pp')
|
||||
|
||||
include contrail
|
||||
class { 'contrail::analytics': }
|
|
@ -16,5 +16,4 @@ notice('MODULAR: contrail/contrail-config.pp')
|
|||
|
||||
include contrail
|
||||
include contrail::config
|
||||
include contrail::analytics
|
||||
include contrail::webui
|
||||
|
|
|
@ -33,7 +33,7 @@ class contrail::analytics {
|
|||
|
||||
# Packages
|
||||
package { 'redis-server': } ->
|
||||
package { 'contrail-analytics': } ->
|
||||
package { 'contrail-analytics': }
|
||||
package { 'contrail-openstack-analytics': }
|
||||
|
||||
# Analytics config files
|
||||
|
@ -130,6 +130,18 @@ class contrail::analytics {
|
|||
'DISCOVERY/disc_server_port': value => '5998';
|
||||
}
|
||||
|
||||
contrail_keystone_auth_config {
|
||||
'KEYSTONE/auth_host': value => $contrail::keystone_address;
|
||||
'KEYSTONE/auth_protocol': value => $contrail::keystone_protocol;
|
||||
'KEYSTONE/auth_port': value => '35357';
|
||||
'KEYSTONE/admin_user': value => $contrail::neutron_user;
|
||||
'KEYSTONE/admin_password': value => $contrail::service_token;
|
||||
'KEYSTONE/admin_token': value => $contrail::admin_token;
|
||||
'KEYSTONE/admin_tenant_name': value => $contrail::service_tenant;
|
||||
'KEYSTONE/insecure': value => true;
|
||||
'KEYSTONE/memcache_servers': value => '127.0.0.1:11211';
|
||||
}
|
||||
|
||||
ini_setting { 'analytics-fdlimit':
|
||||
ensure => present,
|
||||
path => '/etc/contrail/supervisord_analytics.conf',
|
||||
|
@ -193,7 +205,7 @@ class contrail::analytics {
|
|||
|
||||
# Cron job for transfer contrail-logs to Fuel master
|
||||
# Runs on primary analytics node
|
||||
if roles_include('primary-contrail-config') {
|
||||
if roles_include('primary-contrail-analytics') {
|
||||
file { 'contrailsyslog.sh':
|
||||
ensure => 'present',
|
||||
path => '/usr/local/sbin/contrailsyslog.sh',
|
||||
|
@ -215,6 +227,7 @@ class contrail::analytics {
|
|||
}
|
||||
Contrail_analytics_nodemgr_config <||> ~> Service['supervisor-analytics']
|
||||
Contrail_topology_config <||> ~> Service['supervisor-analytics']
|
||||
Contrail_keystone_auth_config <||> ~> Service['supervisor-analytics']
|
||||
Contrail_snmp_collector_config <||> ~> Service['supervisor-analytics']
|
||||
Contrail_query_engine_config <||> ~> Service['supervisor-analytics']
|
||||
Contrail_analytics_api_config <||> ~> Service['supervisor-analytics']
|
||||
|
|
|
@ -81,12 +81,6 @@ class contrail::config {
|
|||
content => template('contrail/basicauthusers.properties.erb'),
|
||||
}
|
||||
|
||||
if !defined(File['/etc/contrail/vnc_api_lib.ini']) {
|
||||
file { '/etc/contrail/vnc_api_lib.ini':
|
||||
content => template('contrail/vnc_api_lib.ini.erb')
|
||||
}
|
||||
}
|
||||
|
||||
contrail_api_config {
|
||||
'DEFAULTS/ifmap_server_ip': value => $contrail::address;
|
||||
'DEFAULTS/ifmap_server_port': value => '8443';
|
||||
|
|
|
@ -39,13 +39,6 @@ class contrail::control {
|
|||
package { 'contrail-control': }
|
||||
package { 'contrail-openstack-control': }
|
||||
|
||||
# Contrail control config files
|
||||
if !defined(File['/etc/contrail/vnc_api_lib.ini']) {
|
||||
file { '/etc/contrail/vnc_api_lib.ini':
|
||||
content => template('contrail/vnc_api_lib.ini.erb')
|
||||
}
|
||||
}
|
||||
|
||||
contrail_control_config {
|
||||
'DEFAULT/hostip': value => $contrail::address;
|
||||
'DEFAULT/hostname': value => $::fqdn;
|
||||
|
|
|
@ -30,12 +30,6 @@ class contrail::database {
|
|||
package_name => 'contrail-database-common',
|
||||
service_name => 'contrail-database',
|
||||
}
|
||||
# VNC API
|
||||
if !defined(File['/etc/contrail/vnc_api_lib.ini']) {
|
||||
file { '/etc/contrail/vnc_api_lib.ini':
|
||||
content => template('contrail/vnc_api_lib.ini.erb'),
|
||||
}
|
||||
}
|
||||
|
||||
if roles_include($contrail::contrail_db_roles) {
|
||||
$cassandra_seeds = $contrail::primary_contrail_db_ip
|
||||
|
|
|
@ -219,6 +219,10 @@ class contrail {
|
|||
$contrail_config_ips = ipsort(values(get_node_to_ipaddr_map_by_network_role($contrail_config_nodes_hash, 'neutron/mesh')))
|
||||
$contrail_config_ips_adm = ipsort(values(get_node_to_ipaddr_map_by_network_role($contrail_config_nodes_hash, 'fw-admin')))
|
||||
|
||||
# Contrail Analytics nodes Private IP list
|
||||
$contrail_analytics_nodes_hash = get_nodes_hash_by_roles($network_metadata, ['primary-contrail-analytics', 'contrail-analytics'])
|
||||
$contrail_analytics_ips = sort(values(get_node_to_ipaddr_map_by_network_role($contrail_analytics_nodes_hash, 'neutron/mesh')))
|
||||
|
||||
# Cassandra, Kafka & Zookeeper servers list
|
||||
$contrail_db_list = inline_template("<%= scope.lookupvar('contrail::contrail_db_ips').map{ |ip| \"#{ip}:9042\" }.join(' ') %>")
|
||||
$contrail_db_list_9160 = inline_template("<%= scope.lookupvar('contrail::contrail_db_ips').map{ |ip| \"#{ip}:9160\" }.join(' ') %>")
|
||||
|
@ -234,4 +238,7 @@ class contrail {
|
|||
$use_syslog = pick($settings['use_syslog'], '1')
|
||||
$syslog_facility = pick($settings['syslog_facility'], 'LOG_LOCAL0')
|
||||
$log_level = pick($settings['log_level'], 'SYS_INFO')
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
# Copyright 2015 Mirantis, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
class contrail::provision::analytics {
|
||||
|
||||
Exec {
|
||||
provider => 'shell',
|
||||
path => '/usr/bin:/bin:/sbin',
|
||||
}
|
||||
|
||||
contrail::provision::api_readiness::check{'/opt/contrail/prov_analytics_node-DONE':} ->
|
||||
exec { 'prov_analytics_node':
|
||||
command => "python /opt/contrail/utils/provision_analytics_node.py \
|
||||
--api_server_ip ${contrail::contrail_mgmt_vip} --api_server_port ${contrail::api_server_port} \
|
||||
--oper add --host_name ${::fqdn} --host_ip ${contrail::address} \
|
||||
--admin_user '${contrail::neutron_user}' --admin_tenant_name '${contrail::service_tenant}' --admin_password '${contrail::service_token}' \
|
||||
&& touch /opt/contrail/prov_analytics_node-DONE",
|
||||
creates => '/opt/contrail/prov_analytics_node-DONE',
|
||||
}
|
||||
}
|
|
@ -27,18 +27,9 @@ class contrail::provision::config {
|
|||
--admin_user '${contrail::neutron_user}' --admin_tenant_name '${contrail::service_tenant}' --admin_password '${contrail::service_token}' \
|
||||
&& touch /opt/contrail/prov_config_node-DONE",
|
||||
creates => '/opt/contrail/prov_config_node-DONE',
|
||||
} ->
|
||||
|
||||
contrail::provision::api_readiness::check{'/opt/contrail/prov_analytics_node-DONE':} ->
|
||||
exec { 'prov_analytics_node':
|
||||
command => "python /opt/contrail/utils/provision_analytics_node.py \
|
||||
--api_server_ip ${contrail::contrail_mgmt_vip} --api_server_port ${contrail::api_server_port} \
|
||||
--oper add --host_name ${::fqdn} --host_ip ${contrail::address} \
|
||||
--admin_user '${contrail::neutron_user}' --admin_tenant_name '${contrail::service_tenant}' --admin_password '${contrail::service_token}' \
|
||||
&& touch /opt/contrail/prov_analytics_node-DONE",
|
||||
creates => '/opt/contrail/prov_analytics_node-DONE',
|
||||
}
|
||||
|
||||
|
||||
if roles_include('primary-contrail-config') {
|
||||
contrail::provision::api_readiness::check{'/opt/contrail/prov_metadata_service-DONE':} ->
|
||||
exec { 'prov_metadata_services':
|
||||
|
|
|
@ -49,5 +49,9 @@ class contrail::utils {
|
|||
class { 'contrail::package':
|
||||
install => $pkgs,
|
||||
pip_install => $pip_pkgs,
|
||||
} ->
|
||||
|
||||
file { '/etc/contrail/vnc_api_lib.ini':
|
||||
content => template('contrail/vnc_api_lib.ini.erb')
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,8 +31,8 @@ class contrail::vip {
|
|||
order => '201',
|
||||
listen_port => 8081,
|
||||
balancermember_port => 9081,
|
||||
server_names => $contrail::contrail_config_ips,
|
||||
ipaddresses => $contrail::contrail_config_ips,
|
||||
server_names => $contrail::contrail_analytics_ips,
|
||||
ipaddresses => $contrail::contrail_analytics_ips,
|
||||
public => true,
|
||||
internal => true,
|
||||
haproxy_config_options => { 'option' => ['nolinger', 'tcp-check'],
|
||||
|
|
|
@ -61,6 +61,29 @@
|
|||
parameters:
|
||||
strategy:
|
||||
type: one_by_one
|
||||
|
||||
#
|
||||
# Contrail - Analytics
|
||||
- id: primary-contrail-analytics
|
||||
type: group
|
||||
role: [primary-contrail-analytics]
|
||||
tasks: [hiera, globals, tools, logging, netconfig, hosts, deploy_start]
|
||||
required_for: [deploy_end]
|
||||
requires: [deploy_start, contrail-db, primary-contrail-config]
|
||||
parameters:
|
||||
strategy:
|
||||
type: one_by_one
|
||||
|
||||
- id: contrail-analytics
|
||||
type: group
|
||||
role: [contrail-analytics]
|
||||
tasks: [hiera, globals, tools, logging, netconfig, hosts, deploy_start]
|
||||
required_for: [deploy_end]
|
||||
requires: [deploy_start, contrail-db, primary-contrail-analytics]
|
||||
parameters:
|
||||
strategy:
|
||||
type: parallel
|
||||
|
||||
#
|
||||
# Contrail - Control
|
||||
- id: primary-contrail-control
|
||||
|
@ -89,6 +112,7 @@
|
|||
type: group
|
||||
role: [primary-contrail-db, contrail-db, primary-contrail-config, contrail-config,
|
||||
primary-contrail-control, contrail-control,
|
||||
primary-contrail-analytics,contrail-analytics,
|
||||
primary-contrail-analytics-db, contrail-analytics-db]
|
||||
tasks: [configure_default_route, dns-client, ntp-client]
|
||||
required_for: [post_deployment_end]
|
||||
|
@ -331,6 +355,8 @@
|
|||
strategy:
|
||||
type: parallel
|
||||
|
||||
|
||||
|
||||
################
|
||||
#11. Install and configure Contrail Control Node
|
||||
################
|
||||
|
@ -425,6 +451,38 @@
|
|||
strategy:
|
||||
type: parallel
|
||||
|
||||
###############
|
||||
#16. Install and configure Contrail Analytics Node
|
||||
###############
|
||||
#
|
||||
|
||||
- id: contrail-analytics-all
|
||||
type: puppet
|
||||
version: 2.0.0
|
||||
groups: [primary-contrail-analytics,contrail-analytics]
|
||||
required_for: [deploy_end]
|
||||
requires: [contrail-utils, deploy_start]
|
||||
cross-depends:
|
||||
- name: /contrail-config(-primary|-all)/
|
||||
- name: /contrail-config-provision(-primary|-all)/
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/contrail-analytics.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 1440
|
||||
|
||||
|
||||
# Provision Control analytics
|
||||
- id: contrail-analytics-provision
|
||||
type: puppet
|
||||
version: 2.0.0
|
||||
groups: [primary-contrail-analytics,contrail-analytics]
|
||||
required_for: [deploy_end]
|
||||
requires: [contrail-analytics-all]
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/contrail-analytics-provision.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 1440
|
||||
|
||||
##############################################################
|
||||
# Openstack Controller tasks section
|
||||
##############################################################
|
||||
|
@ -861,5 +919,3 @@
|
|||
parameters:
|
||||
cmd: if [ -f /tmp/contrail-reboot-require ]; then /sbin/reboot; fi
|
||||
timeout: 720
|
||||
|
||||
|
||||
|
|
|
@ -28,6 +28,19 @@ contrail-config:
|
|||
- contrail-vmware
|
||||
- compute-vmware
|
||||
|
||||
contrail-analytics:
|
||||
name: Contrail - Analytics
|
||||
description: >
|
||||
Contrail analytics role. Provides Collector, Analytics API, Query engine and Topology services.
|
||||
has_primary: true
|
||||
public_ip_required: false
|
||||
weight: 100
|
||||
conflicts:
|
||||
- controller
|
||||
- compute
|
||||
- ceph-osd
|
||||
- cinder
|
||||
|
||||
contrail-analytics-db:
|
||||
name: Contrail - Analytics DB
|
||||
description: >
|
||||
|
|
Loading…
Reference in New Issue