Drop MongoDB installation and API file configurations

Ceilometer no longer stores any data so the MongoDB installation
playbook is not used.  In addition, it no longer has an API so
the api-paste file is useless as well.

Closes-Bug: #1747612
Change-Id: I20104cc357f78b01e2b1246a3f51d609bb2f4f24
This commit is contained in:
Mohammed Naser 2018-02-06 08:45:24 -05:00
parent 55bb04eaad
commit 33f5dfa7e3
9 changed files with 5 additions and 411 deletions

View File

@ -175,32 +175,26 @@ ceilometer_role_project_group: ceilometer_all
# template engine and copied to the target host. If they do
# not exist then the default files will be sourced from the
# service git repository.
ceilometer_api_paste_default_file_path: "/etc/openstack_deploy/ceilometer/api_paste.ini"
ceilometer_gnocchi_resources_default_file_path: "/etc/openstack_deploy/ceilometer/gnocchi_resources.yaml"
ceilometer_loadbalancer_v2_meter_definitions_default_file_path: "/etc/openstack_deploy/ceilometer/loadbalancer_v2_meter_definitions.yaml"
ceilometer_osprofiler_event_definitions_default_file_path: "/etc/openstack_deploy/ceilometer/osprofiler_event_definitions.yaml"
ceilometer_policy_default_file_path: "/etc/openstack_deploy/ceilometer/policy.json"
ceilometer_polling_default_file_path: "/etc/openstack_deploy/ceilometer/polling.yaml"
# If the above-mentioned files do not exist, then these
# paths will be used to find the files from the git config
# lookup location.
ceilometer_git_config_lookup_location: https://git.openstack.org/cgit/openstack/ceilometer/plain
ceilometer_api_paste_git_file_path: "etc/ceilometer/api_paste.ini?h={{ ceilometer_git_install_branch }}"
ceilometer_gnocchi_resources_git_file_path: "ceilometer/dispatcher/data/gnocchi_resources.yaml?h={{ ceilometer_git_install_branch }}"
ceilometer_loadbalancer_v2_meter_definitions_git_file_path: "etc/ceilometer/examples/loadbalancer_v2_meter_definitions.yaml?h={{ ceilometer_git_install_branch }}"
ceilometer_osprofiler_event_definitions_git_file_path: "etc/ceilometer/examples/osprofiler_event_definitions.yaml?h={{ ceilometer_git_install_branch }}"
ceilometer_policy_git_file_path: "etc/ceilometer/policy.json?h={{ ceilometer_git_install_branch }}"
ceilometer_polling_git_file_path: "etc/ceilometer/polling.yaml?h={{ ceilometer_git_install_branch }}"
## Tunable var-based overrides
# The contents of these are templated over the default files.
ceilometer_api_paste_ini_overrides: {}
ceilometer_ceilometer_conf_overrides: {}
ceilometer_gnocchi_resources_yaml_overrides: {}
ceilometer_loadbalancer_v2_meter_definitions_yaml_overrides: {}
ceilometer_osprofiler_event_definitions_yaml_overrides: {}
ceilometer_pipeline_yaml_overrides: {}
ceilometer_policy_overrides: {}
ceilometer_polling_yaml_overrides: {}
ceilometer_rootwrap_conf_overrides: {}

View File

@ -17,7 +17,6 @@
command: "/bin/true"
notify:
- Stop services
- Copy new policy file into place
- Start services
- name: Stop services
@ -35,23 +34,6 @@
retries: 5
delay: 2
# Note (odyssey4me):
# The policy.json file is currently read continually by the services
# and is not only read on service start. We therefore cannot template
# directly to the file read by the service because the new policies
# may not be valid until the service restarts. This is particularly
# important during a major upgrade. We therefore only put the policy
# file in place after the service has been stopped.
#
- name: Copy new policy file into place
copy:
src: "/etc/ceilometer/policy.json-{{ ceilometer_venv_tag }}"
dest: "/etc/ceilometer/policy.json"
owner: "root"
group: "{{ ceilometer_system_group_name }}"
mode: "0640"
remote_src: yes
- name: Start services
service:
name: "{{ item.0.service_name }}"

View File

@ -0,0 +1,5 @@
---
deprecations:
- The Ceilometer API is no longer available in the Queens release of
OpenStack, this patch removes all references to API related configurations
as they are no longer needed.

View File

@ -18,10 +18,8 @@
url: "{{ item }}"
return_content: yes
with_items:
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_api_paste_git_file_path }}"
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_loadbalancer_v2_meter_definitions_git_file_path }}"
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_osprofiler_event_definitions_git_file_path }}"
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_policy_git_file_path }}"
- "{{ ceilometer_git_config_lookup_location }}/{{ ceilometer_polling_git_file_path }}"
register: _git_file_fetch
@ -52,10 +50,6 @@
group: "root"
config_overrides: "{{ ceilometer_rootwrap_conf_overrides }}"
config_type: "ini"
- dest: "/etc/ceilometer/api_paste.ini"
config_overrides: "{{ ceilometer_api_paste_ini_overrides }}"
config_type: "ini"
content: "{{ ceilometer_api_paste_user_content | default(ceilometer_api_paste_default_content, true) }}"
- dest: "/etc/ceilometer/loadbalancer_v2_meter_definitions.yaml"
config_overrides: "{{ ceilometer_loadbalancer_v2_meter_definitions_yaml_overrides }}"
config_type: "yaml"
@ -66,10 +60,6 @@
config_type: "yaml"
list_extend: false
content: "{{ ceilometer_osprofiler_event_definitions_user_content | default(ceilometer_osprofiler_event_definitions_default_content, true) }}"
- dest: "/etc/ceilometer/policy.json-{{ ceilometer_venv_tag }}"
config_overrides: "{{ ceilometer_policy_overrides }}"
config_type: "json"
content: "{{ ceilometer_policy_user_content | default(ceilometer_policy_default_content, true) }}"
- dest: "/etc/ceilometer/polling.yaml"
config_overrides: "{{ ceilometer_polling_yaml_overrides }}"
config_type: "yaml"

View File

@ -22,9 +22,6 @@ event_dispatchers = database
polling_namespaces = central
{% endif %}
[oslo_policy]
policy_file = /etc/ceilometer/policy.json
[oslo_messaging_rabbit]
ssl = {{ ceilometer_rabbitmq_use_ssl }}

View File

@ -1,246 +0,0 @@
# {{ ansible_managed }}
#
##
### Basic Defaults
##
# Comma separated list of ip addresses to listen on (all local ips by default)
bind_ip = {{ ansible_host }}
# Specify port number (27017 by default)
#port = 27017
# Fork server process (false by default)
{% if ansible_pkg_mgr == 'apt' %}
fork = false
{% else %}
# CentOS and openSUSE use Type=forking in the systemd
# service file
fork = true
{% endif %}
{% if ansible_service_mgr != 'systemd' %}
# Full path to pidfile (if not set, no pidfile is created)
pidfilepath = /var/run/mongodb/mongod.pid
# Alternative directory for UNIX domain sockets (defaults to /tmp)
unixSocketPrefix = /var/run/mongodb
{% endif %}
# Log file to send write to instead of stdout - has to be a file, not directory
logpath = /var/log/mongodb/{{ (ansible_pkg_mgr in ['yum', 'dnf']) | ternary ('mongod.conf', 'mongodb.conf') }}
# Directory for datafiles (defaults to /data/db/)
dbpath = /var/lib/mongodb
# Enable/Disable journaling (journaling is on by default for 64 bit)
#journal = true
#nojournal = true
##
### General options
##
# Be more verbose (include multiple times for more verbosity e.g. -vvvvv) (v by default)
#verbose = v
# Max number of simultaneous connections (1000000 by default)
#maxConns = 1000000
# Log to system's syslog facility instead of file or stdout (false by default)
#syslog = true
# Syslog facility used for monogdb syslog message (user by defautl)
#syslogFacility = user
# Append to logpath instead of over-writing (false by default)
#logappend = true
# Desired format for timestamps in log messages (One of ctime, iso8601-utc or iso8601-local) (iso8601-local by default)
#timeStampFormat = arg
# Private key for cluster authentication
#keyFile = arg
# Set a configurable parameter
#setParameter = arg
# Enable http interface (false by default)
#httpinterface = true
# Authentication mode used for cluster authentication. Alternatives are (keyFile|sendKeyFile|sendX509|x509) (keyFile by default)
#clusterAuthMode = arg
# Disable listening on unix sockets (false by default)
#nounixsocket = true
# Run with/without security (without by default)
#auth = true
#noauth = true
# Enable IPv6 support (disabled by default)
#ipv6 = true
# Allow JSONP access via http (has security implications) (false by default)
#jsonp = true
# Turn on simple rest api (false by default)
#rest = true
# Value of slow for profile and console log (100 by default)
#slowms = 100
# 0=off 1=slow, 2=all (0 by default)
#profile = 0
# Periodically show cpu and iowait utilization (false by default)
#cpu = true
# Print some diagnostic system information (false by default)
#sysinfo = true
# Each database will be stored in a separate directory (false by default)
#directoryperdb = true
# Don't retry any index builds that were interrupted by shutdown (false by default)
#noIndexBuildRetry = true
# Disable data file preallocation - will often hurt performance (false by default)
#noprealloc = true
# .ns file size (in MB) for new databases (16 MB by default)
#nssize = 16
# Limits each database to a certain number of files (8 default)
#quota
# Number of files allowed per db, implies --quota (8 by default)
#quotaFiles = 8
# Use a smaller default file size (false by default)
smallfiles = true
# Seconds between disk syncs (0=never, but not recommended) (60 by default)
#syncdelay = 60
# Upgrade db if needed (false by default)
#upgrade = true
# Run repair on all dbs (false by default)
#repair = true
# Root directory for repair files (defaults to dbpath)
#repairpath = arg
# Disable scripting engine (false by default)
#noscripting = true
# Do not allow table scans (false by default)
#notablescan = true
# Journal diagnostic options (0 by default)
#journalOptions = 0
# How often to group/batch commit (ms) (100 or 30 by default)
#journalCommitInterval = 100
##
### Replication options
##
# Size to use (in MB) for replication op log (default 5% of disk space - i.e. large is good)
#oplogSize = arg
##
### Master/slave options (old; use replica sets instead)
##
# Master mode
#master = true
# Slave mode
#slave = true
# When slave: specify master as <server:port>
#source = arg
# When slave: specify a single database to replicate
#only = arg
# Specify delay (in seconds) to be used when applying master ops to slave
#slavedelay = arg
# Automatically resync if slave data is stale
#autoresync = true
##
### Replica set options
##
# Arg is <setname>[/<optionalseedhostlist>]
#replSet = arg
# Specify index prefetching behavior (if secondary) [none|_id_only|all] (all by default)
#replIndexPrefetch = all
##
### Sharding options
##
# Declare this is a config db of a cluster (default port 27019; default dir /data/configdb) (false by default)
#configsvr = true
# Declare this is a shard db of a cluster (default port 27018) (false by default)
#shardsvr = true
##
### SSL options
##
# Use ssl on configured ports
#sslOnNormalPorts = true
# Set the SSL operation mode (disabled|allowSSL|preferSSL|requireSSL)
# sslMode = arg
# PEM file for ssl
#sslPEMKeyFile = arg
# PEM file password
#sslPEMKeyPassword = arg
# Key file for internal SSL authentication
#sslClusterFile = arg
# Internal authentication key file password
#sslClusterPassword = arg
# Certificate Authority file for SSL
#sslCAFile = arg
# Certificate Revocation List file for SSL
#sslCRLFile = arg
# Allow client to connect without presenting a certificate
#sslWeakCertificateValidation = true
# Allow server certificates to provide non-matching hostnames
#sslAllowInvalidHostnames = true
# Allow connections to servers with invalid certificates
#sslAllowInvalidCertificates = true
# Activate FIPS 140-2 mode at startup
#sslFIPSMode = true

View File

@ -1,119 +0,0 @@
---
# Copyright 2015, Rackspace US, 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.
- name: Install MongoDB for ceilometer
hosts: mongo_all
user: root
roles:
- role: "pip_install"
tags:
- pip
tasks:
# NOTE(hwoarang) MongoDB is available on openSUSE Leap >= 42.3. For older
# versions we need to add the OBS repository
- name: Install MongoDB repository (SUSE)
zypper_repository:
auto_import_keys: yes
name: "OBS:server_database"
repo: "http://download.opensuse.org/repositories/server:/database/openSUSE_Leap_{{ ansible_distribution_version }}"
runrefresh: yes
when:
- ansible_pkg_mgr == 'zypper'
- ansible_distribution_version | version_compare('42.3', '<')
- name: Install mongo packages
package:
state: present
name: "{{ item }}"
with_items: "{{ packages_mongodb }}"
- name: Install client package (Ubuntu)
package:
state: present
name: "{{ item }}"
with_items:
- mongodb-clients
- python-pymongo
when: ansible_pkg_mgr == 'apt'
- name: Install client package (rpm)
package:
state: present
name: mongodb
when: ansible_pkg_mgr in ['yum', 'dnf', 'zypper']
- name: Install pip package (rpm)
pip:
state: latest
name: pymongo
when: ansible_pkg_mgr in ['yum', 'dnf', 'zypper']
- name: Configure the MongoDB
template:
src: "mongodb.conf.j2"
dest: "{{ mongodb_config_file }}"
register: mongodb_configured
- name: Restart mongodb
service:
name: "{{ mongodb_service_name }}"
state: restarted
enabled: yes
when:
- mongodb_configured | changed
register: mongodb_restart
- name: Wait for mongodb to come back online after the restart
wait_for:
host: "{{ ansible_host }}"
port: 27017
delay: 5
timeout: 30
when:
- mongodb_restart is defined
- mongodb_restart | changed
- name: Test mongodb connectivity
command: "mongo --host {{ ansible_host }} --eval ' '"
changed_when: False
- name: Add admin user
mongodb_user:
login_host: "{{ ansible_host }}"
database: admin
name: root
password: "{{ ceilometer_container_db_password }}"
roles: 'root'
state: present
- name: Add ceilometer database user
mongodb_user:
login_host: "{{ ansible_host }}"
login_user: "root"
login_password: "{{ ceilometer_container_db_password }}"
database: "ceilometer"
name: "{{ ceilometer_database_user }}"
password: "{{ ceilometer_container_db_password }}"
roles: 'readWrite,dbAdmin'
state: present
vars:
packages_mongodb:
- mongodb-server
mongodb_config_file: "{{ (ansible_pkg_mgr in ['apt', 'zypper']) | ternary('/etc/mongodb.conf','/etc/mongod.conf') }}"
mongodb_service_name: "{{ (ansible_pkg_mgr in ['apt', 'zypper']) | ternary('mongodb','mongod') }}"
ceilometer_database_name: ceilometer
ceilometer_database_user: ceilometer

View File

@ -25,9 +25,6 @@
# Needed in order to run Ceilometer Tempest test
- include: common/test-install-glance.yml
# Ceilometer metric data backend
- include: test-install-mongodb.yml
- include: test-install-ceilometer.yml
# Install and execute Tempest

View File

@ -14,23 +14,17 @@
# limitations under the License.
# These vars find a file on the deployment node, if it exists - otherwise the result is empty.
ceilometer_api_paste_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_api_paste_default_file_path ~ ' 2>/dev/null || true') }}"
ceilometer_gnocchi_resources_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_gnocchi_resources_default_file_path ~ ' 2>/dev/null || true') }}"
ceilometer_loadbalancer_v2_meter_definitions_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_loadbalancer_v2_meter_definitions_default_file_path ~ ' 2>/dev/null || true') }}"
ceilometer_osprofiler_event_definitions_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_osprofiler_event_definitions_default_file_path ~ ' 2>/dev/null || true') }}"
ceilometer_policy_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_policy_default_file_path ~ ' 2>/dev/null || true') }}"
ceilometer_polling_user_content: "{{ lookup('pipe', 'cat ' ~ ceilometer_polling_default_file_path ~ ' 2>/dev/null || true') }}"
# These vars find the appropriate result content from the with_items loop
ceilometer_api_paste_default_content: |
{{ _git_file_fetch.results | selectattr('item', 'equalto', ceilometer_git_config_lookup_location ~ '/' ~ ceilometer_api_paste_git_file_path) | map(attribute='content') | first }}
ceilometer_gnocchi_resources_default_content: |
{{ _git_file_fetch.results | selectattr('item', 'equalto', ceilometer_git_config_lookup_location ~ '/' ~ ceilometer_gnocchi_resources_git_file_path) | map(attribute='content') | first }}
ceilometer_loadbalancer_v2_meter_definitions_default_content: |
{{ _git_file_fetch.results | selectattr('item', 'equalto', ceilometer_git_config_lookup_location ~ '/' ~ ceilometer_loadbalancer_v2_meter_definitions_git_file_path) | map(attribute='content') | first }}
ceilometer_osprofiler_event_definitions_default_content: |
{{ _git_file_fetch.results | selectattr('item', 'equalto', ceilometer_git_config_lookup_location ~ '/' ~ ceilometer_osprofiler_event_definitions_git_file_path) | map(attribute='content') | first }}
ceilometer_policy_default_content: |
{{ _git_file_fetch.results | selectattr('item', 'equalto', ceilometer_git_config_lookup_location ~ '/' ~ ceilometer_policy_git_file_path) | map(attribute='content') | first }}
ceilometer_polling_default_content: |
{{ _git_file_fetch.results | selectattr('item', 'equalto', ceilometer_git_config_lookup_location ~ '/' ~ ceilometer_polling_git_file_path) | map(attribute='content') | first }}