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_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 }}" 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 ## RabbitMQ info
## Configuration for RPC communications ## Configuration for RPC communications
@ -92,13 +85,6 @@ ceilometer_service_user_name: ceilometer
ceilometer_service_project_name: service ceilometer_service_project_name: service
ceilometer_service_project_domain_id: default ceilometer_service_project_domain_id: default
ceilometer_service_user_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 ceilometer_service_in_ldap: false

View File

@ -4,8 +4,6 @@ Ceilometer role for OpenStack-Ansible
This Ansible role installs and configures OpenStack ceilometer. 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 Meter and notification storage is configured to use a MongoDB backend
by default. This role does not install and configure the 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 Deployers wishing to use MongoDB must install and configure it prior to

View File

@ -22,14 +22,3 @@
- "{{ ceilometer_services }}" - "{{ ceilometer_services }}"
- group - group
when: inventory_hostname in groups[item.1] 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: when:
- ceilometer_developer_mode | bool - 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 - name: Create developer mode constraint file
copy: copy:
dest: "/opt/developer-pip-constraints.txt" dest: "/opt/developer-pip-constraints.txt"

View File

@ -35,7 +35,6 @@
list_extend: false list_extend: false
notify: notify:
- Restart ceilometer services - Restart ceilometer services
- Restart Apache
- name: Retrieve and config_template upstream files - name: Retrieve and config_template upstream files
config_template: config_template:
@ -96,18 +95,6 @@
list_extend: false list_extend: false
notify: notify:
- Restart ceilometer services - 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 - name: Copy rootwrap filters
copy: copy:

View File

@ -54,17 +54,6 @@
- { path: "{{ ceilometer_system_user_home }}/.ssh", mode: "0700" } - { path: "{{ ceilometer_system_user_home }}/.ssh", mode: "0700" }
- { path: "/var/cache/ceilometer", 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 - name: Test for log directory or link
shell: | shell: |
if [ -h "/var/log/ceilometer" ]; then if [ -h "/var/log/ceilometer" ]; then

View File

@ -48,12 +48,16 @@
tags: tags:
- ceilometer-config - ceilometer-config
- include: ceilometer_apache.yml
when: inventory_hostname in groups['ceilometer_api']
tags:
- ceilometer-config
- include: ceilometer_service_setup.yml - 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: tags:
- ceilometer-config - 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] [glance_all]
infra1 infra1
[ceilometer_api]
ceilometer
[ceilometer_agent_central] [ceilometer_agent_central]
ceilometer ceilometer
@ -45,7 +42,6 @@ ceilometer
ceilometer ceilometer
[ceilometer_all:children] [ceilometer_all:children]
ceilometer_api
ceilometer_agent_central ceilometer_agent_central
ceilometer_agent_notification ceilometer_agent_notification
ceilometer_agent_compute ceilometer_agent_compute

View File

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

View File

@ -15,12 +15,6 @@
ceilometer_db_type: mongodb ceilometer_db_type: mongodb
ceilometer_db_ip: "{{ hostvars[groups['mongo_all'][0]]['ansible_host'] }}" 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_userid: ceilometer
ceilometer_rabbitmq_password: "{{ rabbitmq_password }}" ceilometer_rabbitmq_password: "{{ rabbitmq_password }}"
ceilometer_rabbitmq_vhost: /ceilometer ceilometer_rabbitmq_vhost: /ceilometer

View File

@ -24,23 +24,3 @@ ceilometer_developer_mode_distro_packages:
- libvirt-devel - libvirt-devel
- libxml2-devel - libxml2-devel
- libxslt-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 - pkg-config
- libxml2-dev - libxml2-dev
- libxslt1-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" }