diff --git a/defaults/main.yml b/defaults/main.yml index 94ab6373..468255cb 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -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: {} diff --git a/handlers/main.yml b/handlers/main.yml index 54c24d00..a761e995 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -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 }}" diff --git a/releasenotes/notes/drop-ceilometer-api-b6d87ceddf34af81.yaml b/releasenotes/notes/drop-ceilometer-api-b6d87ceddf34af81.yaml new file mode 100644 index 00000000..fd453cb9 --- /dev/null +++ b/releasenotes/notes/drop-ceilometer-api-b6d87ceddf34af81.yaml @@ -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. diff --git a/tasks/ceilometer_post_install.yml b/tasks/ceilometer_post_install.yml index 7fa09bed..58d6874b 100644 --- a/tasks/ceilometer_post_install.yml +++ b/tasks/ceilometer_post_install.yml @@ -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" diff --git a/templates/ceilometer.conf.j2 b/templates/ceilometer.conf.j2 index 1bb01214..415d1a99 100644 --- a/templates/ceilometer.conf.j2 +++ b/templates/ceilometer.conf.j2 @@ -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 }} diff --git a/tests/templates/mongodb.conf.j2 b/tests/templates/mongodb.conf.j2 deleted file mode 100644 index 0eb2d875..00000000 --- a/tests/templates/mongodb.conf.j2 +++ /dev/null @@ -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 -#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 [/] -#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 - diff --git a/tests/test-install-mongodb.yml b/tests/test-install-mongodb.yml deleted file mode 100644 index 1380b138..00000000 --- a/tests/test-install-mongodb.yml +++ /dev/null @@ -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 diff --git a/tests/test.yml b/tests/test.yml index f0f30cf3..40ba558d 100644 --- a/tests/test.yml +++ b/tests/test.yml @@ -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 diff --git a/vars/main.yml b/vars/main.yml index d87ced2a..ce038e5a 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -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 }}