Remove Ceilometer API Service

Ceilometer API is now deprecated in favor of using
Gnocchi, Aodh, and Panko to pull telemetry information.

Change-Id: I4464fc6bd4ad3ef14e2638abcdb86180e82615e1
Closes-Bug: 1666640
This commit is contained in:
Miguel Alex Cantu 2017-02-28 17:37:47 +00:00 committed by Jesse Pretorius (odyssey4me)
parent 757ccf99e8
commit 5e6ff1ea5f
17 changed files with 24 additions and 249 deletions

View File

@ -59,13 +59,6 @@ ceilometer_db_ip: localhost
ceilometer_db_port: 27017
ceilometer_connection_string: "{{ ceilometer_db_type }}://{{ ceilometer_database_user }}:{{ ceilometer_container_db_password }}@{{ ceilometer_db_ip }}:{{ ceilometer_db_port }}/{{ ceilometer_database_name }}"
## Apache setup
ceilometer_apache_log_level: info
ceilometer_apache_servertokens: "Prod"
ceilometer_apache_serversignature: "Off"
ceilometer_wsgi_threads: 10
ceilometer_wsgi_processes: "{{ (ansible_processor_vcpus | int > 0) | ternary (ansible_processor_vcpus, 1) * 2}}"
## RabbitMQ info
## Configuration for RPC communications
@ -92,13 +85,6 @@ ceilometer_service_user_name: ceilometer
ceilometer_service_project_name: service
ceilometer_service_project_domain_id: default
ceilometer_service_user_domain_id: default
ceilometer_service_publicuri: "{{ ceilometer_service_proto }}://{{ external_lb_vip_address }}:{{ ceilometer_service_port }}"
ceilometer_service_publicurl: "{{ ceilometer_service_publicuri }}"
ceilometer_service_internaluri: "{{ ceilometer_service_proto }}://{{ internal_lb_vip_address }}:{{ ceilometer_service_port }}"
ceilometer_service_internalurl: "{{ ceilometer_service_internaluri }}"
ceilometer_service_adminuri: "{{ ceilometer_service_proto }}://{{ internal_lb_vip_address }}:{{ ceilometer_service_port }}"
ceilometer_service_adminurl: "{{ ceilometer_service_adminuri }}"
ceilometer_service_in_ldap: false

View File

@ -4,8 +4,6 @@ Ceilometer role for OpenStack-Ansible
This Ansible role installs and configures OpenStack ceilometer.
The ceilometer API is served using Apache mod_wsgi by default.
Meter and notification storage is configured to use a MongoDB backend
by default. This role does not install and configure the MongoDB backend.
Deployers wishing to use MongoDB must install and configure it prior to

View File

@ -22,14 +22,3 @@
- "{{ ceilometer_services }}"
- group
when: inventory_hostname in groups[item.1]
- name: Restart Apache
service:
name: "{{ ceilometer_system_service_name }}"
state: "restarted"
register: apache_restart
until: apache_restart | success
retries: 5
delay: 2
when:
- inventory_hostname in groups['ceilometer_api']

View File

@ -0,0 +1,11 @@
---
upgrade:
- |
The ceilometer-api service/container can be removed as part of O->P
upgrades. A ceilometer-central container will be created to contain
the central ceilometer agents.
deprecations:
- |
The ceilometer API service is now deprecated. OpenStack-Ansible no longer
deploys this service. To make queries against metrics, alarms, and/or
events, please use the the gnocchi, aodh, and panko APIs, respectively.

View File

@ -1,80 +0,0 @@
---
# 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: Drop apache2 virtual host and ports file
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: "root"
group: "root"
with_items: "{{ ceilometer_apache_config }}"
notify: Restart Apache
- name: Disable default apache site
file:
path: "{{ item }}"
state: "absent"
with_items: "{{ ceilometer_apache_default_sites }}"
notify:
- Restart Apache
- name: Enabled ceilometer vhost
file:
src: "{{ ceilometer_apache_site_available }}"
dest: "{{ ceilometer_apache_site_enabled }}"
state: "link"
when:
- ceilometer_apache_site_available is defined
- ceilometer_apache_site_enabled is defined
notify:
- Restart Apache
- name: Ensure Apache ServerName
lineinfile:
dest: "{{ ceilometer_apache_conf }}"
line: "ServerName {{ inventory_hostname }}"
notify:
- Restart Apache
- name: Ensure Apache ServerTokens
lineinfile:
dest: "{{ ceilometer_apache_security_conf }}"
regexp: '^ServerTokens'
line: "ServerTokens {{ ceilometer_apache_servertokens }}"
notify:
- Restart Apache
- name: Ensure Apache ServerSignature
lineinfile:
dest: "{{ ceilometer_apache_security_conf }}"
regexp: '^ServerSignature'
line: "ServerSignature {{ ceilometer_apache_serversignature }}"
notify:
- Restart Apache
- name: remove Listen from Apache config
lineinfile:
dest: "{{ ceilometer_apache_security_conf }}"
regexp: '^(Listen.*)'
backrefs: yes
line: '#\1'
notify:
- Restart Apache
- name: Load service
service:
name: "{{ ceilometer_system_service_name }}"
enabled: "yes"
state: "started"

View File

@ -42,18 +42,6 @@
when:
- ceilometer_developer_mode | bool
- name: Install distro packages for Apache
package:
name: "{{ item }}"
state: "{{ ceilometer_package_state }}"
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: "{{ ceilometer_apache_distro_packages }}"
when:
- inventory_hostname in groups['ceilometer_api']
- name: Create developer mode constraint file
copy:
dest: "/opt/developer-pip-constraints.txt"

View File

@ -35,7 +35,6 @@
list_extend: false
notify:
- Restart ceilometer services
- Restart Apache
- name: Retrieve and config_template upstream files
config_template:
@ -96,18 +95,6 @@
list_extend: false
notify:
- Restart ceilometer services
- Restart Apache
- name: Drop ceilometer API WSGI Configs
template:
src: ceilometer-api-wsgi.py.j2
dest: /var/www/cgi-bin/ceilometer/ceilometer-api
owner: "{{ ceilometer_system_user_name }}"
group: "{{ ceilometer_system_group_name }}"
mode: "0755"
notify:
- Restart Apache
- name: Copy rootwrap filters
copy:

View File

@ -54,17 +54,6 @@
- { path: "{{ ceilometer_system_user_home }}/.ssh", mode: "0700" }
- { path: "/var/cache/ceilometer", mode: "0700" }
- name: Create Apache mod_wsgi dirs
file:
path: "{{ item.path }}"
state: directory
owner: "{{ item.owner|default(ceilometer_system_user_name) }}"
group: "{{ item.group|default(ceilometer_system_group_name) }}"
mode: "0755"
with_items:
- { path: "/var/www/cgi-bin", owner: root, group: root }
- { path: "/var/www/cgi-bin/ceilometer" }
- name: Test for log directory or link
shell: |
if [ -h "/var/log/ceilometer" ]; then

View File

@ -48,12 +48,16 @@
tags:
- ceilometer-config
- include: ceilometer_apache.yml
when: inventory_hostname in groups['ceilometer_api']
tags:
- ceilometer-config
- include: ceilometer_service_setup.yml
when: inventory_hostname == groups['ceilometer_api'][0]
when:
# The ceilometer_api inventory group is deprecated, but we need this
# conditional here to pass gate tests until the integrated repo
# changes are made.
# TODO: (alextricity25) Remove this conditional once the integrated
# repo changes have been made https://review.openstack.org/#/c/438740
- groups['ceilometer_api'] is defined and inventory_hostname == groups['ceilometer_api'][0]
# ceilometer_central is the new ceilometer container. These inventory
# changes are going to be made in the integrated repo
- groups['ceilometer_central'] is defined and inventory_hostname == groups['ceilometer_central'][0]
tags:
- ceilometer-config

View File

@ -1,28 +0,0 @@
#{{ ansible_managed}}
#
# 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.
#NOTE(stevelle): This file is templated from the ceilometer project file
# located at ceilometer/api/app.wsgi
#
import os
activate_this = os.path.expanduser("{{ ceilometer_bin }}/activate_this.py")
execfile(activate_this, dict(__file__=activate_this))
from ceilometer import service
from ceilometer.api import app
# Initialize the oslo configuration library and logging
conf = service.prepare_service([])
application = app.load_app(conf)

View File

@ -1,16 +0,0 @@
# {{ ansible_managed }}
<VirtualHost *:{{ ceilometer_service_port }}>
WSGIDaemonProcess ceilometer-api lang='en_US.UTF-8' locale='en_US.UTF-8' user={{ ceilometer_system_user_name }} group={{ ceilometer_system_group_name }} processes={{ ceilometer_wsgi_processes }} threads={{ ceilometer_wsgi_threads }} display-name=%{GROUP}
WSGIProcessGroup ceilometer-api
WSGIScriptAlias / /var/www/cgi-bin/ceilometer/ceilometer-api
WSGIApplicationGroup %{GLOBAL}
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
</IfVersion>
LogLevel {{ ceilometer_apache_log_level }}
ErrorLog /var/log/ceilometer/ceilometer-apache-error.log
CustomLog /var/log/ceilometer/ceilometer-access.log combined
</VirtualHost>

View File

@ -1,3 +0,0 @@
# {{ ansible_managed }}
Listen {{ ceilometer_service_port }}

View File

@ -32,9 +32,6 @@ infra1
[glance_all]
infra1
[ceilometer_api]
ceilometer
[ceilometer_agent_central]
ceilometer
@ -45,7 +42,6 @@ ceilometer
ceilometer
[ceilometer_all:children]
ceilometer_api
ceilometer_agent_central
ceilometer_agent_notification
ceilometer_agent_compute

View File

@ -1,4 +1,4 @@
[all]
all]
localhost ansible_become=True
infra1 ansible_host=10.1.0.2 ansible_become=True ansible_user=root
openstack1 ansible_host=10.1.0.3 ansible_become=True ansible_user=root
@ -37,7 +37,7 @@ infra1
glance_api
glance_registry
[ceilometer_api]
[ceilometer_central]
openstack1
[ceilometer_agent_central]
@ -50,7 +50,7 @@ openstack1
openstack1
[ceilometer_all:children]
ceilometer_api
ceilometer_central
ceilometer_agent_central
ceilometer_agent_notification
ceilometer_agent_compute

View File

@ -15,12 +15,6 @@
ceilometer_db_type: mongodb
ceilometer_db_ip: "{{ hostvars[groups['mongo_all'][0]]['ansible_host'] }}"
ceilometer_service_publicuri: "http://{{ hostvars[groups['ceilometer_all'][0]]['ansible_host'] }}:8777"
ceilometer_service_publicurl: "{{ ceilometer_service_publicuri }}"
ceilometer_service_internaluri: "http://{{ hostvars[groups['ceilometer_all'][0]]['ansible_host'] }}:8777"
ceilometer_service_internalurl: "{{ ceilometer_service_internaluri }}"
ceilometer_service_adminuri: "http://{{ hostvars[groups['ceilometer_all'][0]]['ansible_host'] }}:8777"
ceilometer_service_adminurl: "{{ ceilometer_service_adminuri }}"
ceilometer_rabbitmq_userid: ceilometer
ceilometer_rabbitmq_password: "{{ rabbitmq_password }}"
ceilometer_rabbitmq_vhost: /ceilometer

View File

@ -24,23 +24,3 @@ ceilometer_developer_mode_distro_packages:
- libvirt-devel
- libxml2-devel
- libxslt-devel
ceilometer_apache_distro_packages:
- httpd
- httpd-tools
- mod_wsgi
ceilometer_system_service_name: httpd
ceilometer_apache_conf: "/etc/httpd/conf/httpd.conf"
ceilometer_apache_security_conf: "{{ ceilometer_apache_conf }}"
ceilometer_apache_default_sites:
- "/etc/httpd/conf.d/userdir.conf"
- "/etc/httpd/conf.d/welcome.conf"
- "/etc/httpd/conf.d/ssl.conf"
ceilometer_apache_config:
- { src: "ceilometer-ports.conf.j2", dest: "/etc/httpd/conf.d/ports.conf" }
- { src: "ceilometer-httpd.conf.j2", dest: "/etc/httpd/conf.d/ceilometer-httpd.conf" }

View File

@ -28,23 +28,3 @@ ceilometer_developer_mode_distro_packages:
- pkg-config
- libxml2-dev
- libxslt1-dev
ceilometer_apache_distro_packages:
- apache2
- apache2-utils
- libapache2-mod-wsgi
ceilometer_system_service_name: apache2
ceilometer_apache_conf: "/etc/apache2/apache2.conf"
ceilometer_apache_security_conf: "/etc/apache2/conf-available/security.conf"
ceilometer_apache_site_available: "/etc/apache2/sites-available/ceilometer-httpd.conf"
ceilometer_apache_site_enabled: "/etc/apache2/sites-enabled/ceilometer-httpd.conf"
ceilometer_apache_default_sites:
- "/etc/apache2/sites-enabled/000-default.conf"
ceilometer_apache_config:
- { src: "ceilometer-ports.conf.j2", dest: "/etc/apache2/ports.conf" }
- { src: "ceilometer-httpd.conf.j2", dest: "/etc/apache2/sites-available/ceilometer-httpd.conf" }