Drop mongodb from packstack

Telemetry does not support mongodb anymore and hence mongodb
was dropped from tripleo. Lets drop this code completely so
we dont end up maintaining dead code.

- drop mongodb support
- change default ceilometer publishers to gnocchi and panko
- add release note for dropping support of mongodb

Change-Id: I79bbc6be20bf538173b48976401a43d417520481
This commit is contained in:
Pradeep Kilambi 2017-09-14 11:42:48 -06:00
parent 385f75b9c4
commit d90c4b1b68
10 changed files with 23 additions and 125 deletions

View File

@ -120,10 +120,6 @@ mod 'memcached',
:git => 'https://github.com/saz/puppet-memcached',
:ref => 'v3.0.1'
mod 'mongodb',
:git => 'https://github.com/puppetlabs/puppetlabs-mongodb',
:ref => '0.17.0'
mod 'mysql',
:git => 'https://github.com/puppetlabs/puppetlabs-mysql',
:ref => '3.10.0'

View File

@ -1079,18 +1079,9 @@ Ceilometer Config parameters
**CONFIG_CEILOMETER_SERVICE_NAME**
Ceilometer service name. ['httpd', 'ceilometer']
**CONFIG_CEILOMETER_METERING_BACKEND**
Backend driver for Telemetry's metering backend configuration. ['database', 'gnocchi']
**CONFIG_ENABLE_CEILOMETER_MIDDLEWARE**
Whether to enable ceilometer middleware in swift proxy. By default this should be false to avoid unnecessary load.
MONGODB Config parameters
-------------------------
**CONFIG_MONGODB_HOST**
IP address of the server on which to install MongoDB.
Redis Config parameters
-----------------------

View File

@ -83,28 +83,6 @@ def initConfig(controller):
"NEED_CONFIRM": False,
"CONDITION": False},
{"CONF_NAME": "CONFIG_CEILOMETER_METERING_BACKEND",
"CMD_OPTION": "ceilometer-metering-backend",
"PROMPT": "Enter the metering backend to use",
"OPTION_LIST": ['database', 'gnocchi'],
"VALIDATORS": [validators.validate_options],
"DEFAULT_VALUE": 'database',
"MASK_INPUT": False,
"USE_DEFAULT": True,
"NEED_CONFIRM": False,
"CONDITION": False},
{"CONF_NAME": "CONFIG_CEILOMETER_EVENTS_BACKEND",
"CMD_OPTION": "ceilometer-events-backend",
"PROMPT": "Enter the events backend to use",
"OPTION_LIST": ['database', 'panko'],
"VALIDATORS": [validators.validate_options],
"DEFAULT_VALUE": 'database',
"MASK_INPUT": False,
"USE_DEFAULT": False,
"NEED_CONFIRM": False,
"CONDITION": False},
{"CONF_NAME": "CONFIG_ENABLE_CEILOMETER_MIDDLEWARE",
"CMD_OPTION": "enable-ceilometer-middleware",
"PROMPT": ("Enable ceilometer middleware in swift proxy"),
@ -117,19 +95,6 @@ def initConfig(controller):
"CONDITION": False},
],
"MONGODB": [
{"CMD_OPTION": "mongodb-host",
"PROMPT": "Enter the host for the MongoDB server",
"OPTION_LIST": [],
"VALIDATORS": [validators.validate_ssh],
"DEFAULT_VALUE": utils.get_localhost_ip(),
"MASK_INPUT": False,
"LOOSE_VALIDATION": True,
"CONF_NAME": "CONFIG_MONGODB_HOST",
"USE_DEFAULT": False,
"NEED_CONFIRM": False,
"CONDITION": False},
],
"REDIS": [
{"CMD_OPTION": "redis-host",
"PROMPT": "Enter the host for the Redis server",
@ -166,13 +131,6 @@ def initConfig(controller):
"POST_CONDITION": False,
"POST_CONDITION_MATCH": True},
{"GROUP_NAME": "MONGODB",
"DESCRIPTION": "MONGODB Config parameters",
"PRE_CONDITION": "CONFIG_CEILOMETER_INSTALL",
"PRE_CONDITION_MATCH": "y",
"POST_CONDITION": False,
"POST_CONDITION_MATCH": True},
{"GROUP_NAME": "REDIS",
"DESCRIPTION": "Redis Config parameters",
"PRE_CONDITION": "CONFIG_CEILOMETER_COORDINATION_BACKEND",
@ -189,9 +147,7 @@ def initSequences(controller):
if controller.CONF['CONFIG_CEILOMETER_INSTALL'] != 'y':
return
steps = [{'title': 'Preparing MongoDB entries',
'functions': [create_mongodb_manifest]},
{'title': 'Preparing Redis entries',
steps = [{'title': 'Preparing Redis entries',
'functions': [create_redis_manifest]},
{'title': 'Preparing Ceilometer entries',
'functions': [create_manifest]}]
@ -225,24 +181,6 @@ def create_manifest(config, messages):
config['FIREWALL_CEILOMETER_RULES'] = fw_details
def create_mongodb_manifest(config, messages):
host = config['CONFIG_MONGODB_HOST']
if config['CONFIG_IP_VERSION'] == 'ipv6':
config['CONFIG_MONGODB_HOST_URL'] = "[%s]" % host
else:
config['CONFIG_MONGODB_HOST_URL'] = host
fw_details = dict()
key = "mongodb_server"
fw_details.setdefault(key, {})
fw_details[key]['host'] = "%s" % config['CONFIG_CONTROLLER_HOST']
fw_details[key]['service_name'] = "mongodb-server"
fw_details[key]['chain'] = "INPUT"
fw_details[key]['ports'] = ['27017']
fw_details[key]['proto'] = "tcp"
config['FIREWALL_MONGODB_RULES'] = fw_details
def create_redis_manifest(config, messages):
if config['CONFIG_CEILOMETER_COORDINATION_BACKEND'] == 'redis':
redis_host = config['CONFIG_REDIS_HOST']

View File

@ -148,7 +148,7 @@ def copy_puppet_modules(config, messages):
os_modules = ' '.join(('aodh', 'apache', 'ceilometer', 'certmonger',
'cinder', 'concat', 'firewall', 'glance',
'gnocchi', 'heat', 'horizon', 'inifile', 'ironic',
'keystone', 'magnum', 'manila', 'memcached', 'mongodb',
'keystone', 'magnum', 'manila', 'memcached',
'mysql', 'neutron', 'nova', 'nssdb', 'openstack',
'openstacklib', 'oslo', 'ovn', 'packstack', 'panko',
'rabbitmq', 'redis', 'remote', 'rsync', 'sahara', 'ssh',

View File

@ -23,8 +23,6 @@ class packstack::aodh::rabbitmq ()
File[$files_to_set_owner] ~> Service<| tag == 'aodh-service' |>
}
$config_mongodb_host = hiera('CONFIG_MONGODB_HOST_URL')
class { '::aodh':
debug => hiera('CONFIG_DEBUG_MODE'),
rabbit_use_ssl => hiera('CONFIG_AMQP_SSL_ENABLED'),

View File

@ -2,14 +2,8 @@ class packstack::ceilometer ()
{
create_resources(packstack::firewall, hiera('FIREWALL_CEILOMETER_RULES', {}))
$config_mongodb_host = hiera('CONFIG_MONGODB_HOST_URL')
$config_ceilometer_coordination_backend = hiera('CONFIG_CEILOMETER_COORDINATION_BACKEND')
$config_ceilometer_metering_backend = hiera('CONFIG_CEILOMETER_METERING_BACKEND')
$config_ceilometer_events_backend = hiera('CONFIG_CEILOMETER_EVENTS_BACKEND')
$config_gnocchi_host = hiera('CONFIG_KEYSTONE_HOST_URL')
if $config_ceilometer_coordination_backend == 'redis' {
@ -25,23 +19,23 @@ class packstack::ceilometer ()
$coordination_url = ''
}
class { '::ceilometer::db':
database_connection => "mongodb://${config_mongodb_host}:27017/ceilometer",
include ::ceilometer
exec {'ceilometer-db-upgrade':
command => 'ceilometer-upgrade --skip-metering-database',
path => ['/usr/bin', '/usr/sbin'],
try_sleep => 10,
tries => 20
}
if $config_ceilometer_metering_backend == 'gnocchi' {
Keystone::Resource::Service_identity<||> -> Exec['ceilometer-db-upgrade'] ~>
Service['ceilometer-agent-notification']
include ::gnocchi::client
class { '::ceilometer::dispatcher::gnocchi':
filter_service_activity => false,
url => "http://${config_gnocchi_host}:8041",
archive_policy => 'high',
resources_definition_file => 'gnocchi_resources.yaml',
}
class { '::ceilometer::agent::notification':
manage_event_pipeline => true,
event_pipeline_publishers => ["gnocchi://", "panko://"],
}
class { '::ceilometer::agent::notification': }
class { '::ceilometer::agent::auth':
auth_url => hiera('CONFIG_KEYSTONE_PUBLIC_URL_VERSIONLESS'),
auth_password => hiera('CONFIG_CEILOMETER_KS_PW'),

View File

@ -1,26 +0,0 @@
class packstack::mongodb ()
{
create_resources(packstack::firewall, hiera('FIREWALL_MONGODB_RULES', {}))
$mongodb_host = hiera('CONFIG_MONGODB_HOST')
# The MongoDB config files differ between versions
if (($::operatingsystem == 'fedora' and versioncmp($::operatingsystemrelease, '22') >= 0)
or
($::operatingsystem != 'fedora' and versioncmp($::operatingsystemrelease, '7.0') >= 0)
){
$config_file = '/etc/mongod.conf'
} else {
$config_file = '/etc/mongodb.conf'
}
class { '::mongodb::server':
ipv6 => hiera('CONFIG_IP_VERSION') ? {
'ipv6' => true,
default => false,
# TO-DO(mmagr): Add IPv6 support when hostnames are used
},
smallfiles => true,
bind_ip => force_ip($mongodb_host),
config => $config_file,
}
}

View File

@ -179,7 +179,6 @@ if hiera('CONFIG_CEILOMETER_INSTALL') == 'y' and hiera('CONFIG_PANKO_INSTALL') =
}
if hiera('CONFIG_CEILOMETER_INSTALL') == 'y' {
include '::packstack::mongodb'
include '::packstack::keystone::ceilometer'
include '::packstack::ceilometer::rabbitmq'
include '::packstack::ceilometer'

View File

@ -0,0 +1,9 @@
---
fixes:
- |
Drop mongodb support from packstack. Telemetry does not support this
anymore and there is no reason to keep deploying and maintaining this
going forward. We will use gnocchi for metrics, panko for events instead.
Also dropping command options CONFIG_CEILOMETER_METERING_BACKEND and
CONFIG_CEILOMETER_EVENTS_BACKEND as we directly set the publishers
in the pipeline.

View File

@ -29,7 +29,6 @@ $SUDO packstack ${ADDITIONAL_ARGS} \
--os-heat-install=y \
--os-magnum-install=y \
--os-panko-install=y \
--ceilometer-events-backend=panko \
--provision-uec-kernel-url="/tmp/cirros/cirros-0.3.4-x86_64-vmlinuz" \
--provision-uec-ramdisk-url="/tmp/cirros/cirros-0.3.4-x86_64-initrd" \
--provision-uec-disk-url="/tmp/cirros/cirros-0.3.4-x86_64-disk.img" \