diff --git a/Puppetfile b/Puppetfile index 34a3fb0a6..7344df564 100755 --- a/Puppetfile +++ b/Puppetfile @@ -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' diff --git a/docs/packstack.rst b/docs/packstack.rst index f09fd9597..65c0d4b3c 100755 --- a/docs/packstack.rst +++ b/docs/packstack.rst @@ -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 ----------------------- diff --git a/packstack/plugins/ceilometer_800.py b/packstack/plugins/ceilometer_800.py index 28e634f7b..6bad638ab 100644 --- a/packstack/plugins/ceilometer_800.py +++ b/packstack/plugins/ceilometer_800.py @@ -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'] diff --git a/packstack/plugins/puppet_950.py b/packstack/plugins/puppet_950.py index f9e78407a..e8009b78d 100755 --- a/packstack/plugins/puppet_950.py +++ b/packstack/plugins/puppet_950.py @@ -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', diff --git a/packstack/puppet/modules/packstack/manifests/aodh/rabbitmq.pp b/packstack/puppet/modules/packstack/manifests/aodh/rabbitmq.pp index 7344efca1..6cbb8607f 100644 --- a/packstack/puppet/modules/packstack/manifests/aodh/rabbitmq.pp +++ b/packstack/puppet/modules/packstack/manifests/aodh/rabbitmq.pp @@ -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'), diff --git a/packstack/puppet/modules/packstack/manifests/ceilometer.pp b/packstack/puppet/modules/packstack/manifests/ceilometer.pp index f5fe754f8..67f47a852 100644 --- a/packstack/puppet/modules/packstack/manifests/ceilometer.pp +++ b/packstack/puppet/modules/packstack/manifests/ceilometer.pp @@ -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'), diff --git a/packstack/puppet/modules/packstack/manifests/mongodb.pp b/packstack/puppet/modules/packstack/manifests/mongodb.pp deleted file mode 100644 index 8f59d8f52..000000000 --- a/packstack/puppet/modules/packstack/manifests/mongodb.pp +++ /dev/null @@ -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, - } -} diff --git a/packstack/puppet/templates/controller.pp b/packstack/puppet/templates/controller.pp index c972501d7..3999f3e20 100644 --- a/packstack/puppet/templates/controller.pp +++ b/packstack/puppet/templates/controller.pp @@ -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' diff --git a/releasenotes/notes/drop-mongodb-a9771fb4f0430a4c.yaml b/releasenotes/notes/drop-mongodb-a9771fb4f0430a4c.yaml new file mode 100644 index 000000000..f7925f18e --- /dev/null +++ b/releasenotes/notes/drop-mongodb-a9771fb4f0430a4c.yaml @@ -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. diff --git a/tests/scenario003.sh b/tests/scenario003.sh index ca91a5d4a..627eb70fa 100755 --- a/tests/scenario003.sh +++ b/tests/scenario003.sh @@ -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" \