From 5e6ff1ea5f73e4a6b995eae26a5cb540d632d4b7 Mon Sep 17 00:00:00 2001 From: Miguel Alex Cantu Date: Tue, 28 Feb 2017 17:37:47 +0000 Subject: [PATCH] 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 --- defaults/main.yml | 14 ---- doc/source/index.rst | 2 - handlers/main.yml | 11 --- ...emove-ceilometer-api-2bada67ecc58e18b.yaml | 11 +++ tasks/ceilometer_apache.yml | 80 ------------------- tasks/ceilometer_install.yml | 12 --- tasks/ceilometer_post_install.yml | 13 --- tasks/ceilometer_pre_install.yml | 11 --- tasks/main.yml | 16 ++-- templates/ceilometer-api-wsgi.py.j2 | 28 ------- templates/ceilometer-httpd.conf.j2 | 16 ---- templates/ceilometer-ports.conf.j2 | 3 - tests/gnocchi_inventory | 4 - tests/inventory | 6 +- tests/os_ceilometer-overrides.yml | 6 -- vars/redhat-7.yml | 20 ----- vars/ubuntu-16.04.yml | 20 ----- 17 files changed, 24 insertions(+), 249 deletions(-) create mode 100644 releasenotes/notes/remove-ceilometer-api-2bada67ecc58e18b.yaml delete mode 100644 tasks/ceilometer_apache.yml delete mode 100644 templates/ceilometer-api-wsgi.py.j2 delete mode 100644 templates/ceilometer-httpd.conf.j2 delete mode 100644 templates/ceilometer-ports.conf.j2 diff --git a/defaults/main.yml b/defaults/main.yml index 80c1bee9..6d727af4 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -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 diff --git a/doc/source/index.rst b/doc/source/index.rst index 87a9cc8c..d6fcd850 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -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 diff --git a/handlers/main.yml b/handlers/main.yml index eb2784a0..944d0e6e 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -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'] diff --git a/releasenotes/notes/remove-ceilometer-api-2bada67ecc58e18b.yaml b/releasenotes/notes/remove-ceilometer-api-2bada67ecc58e18b.yaml new file mode 100644 index 00000000..e38f2398 --- /dev/null +++ b/releasenotes/notes/remove-ceilometer-api-2bada67ecc58e18b.yaml @@ -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. diff --git a/tasks/ceilometer_apache.yml b/tasks/ceilometer_apache.yml deleted file mode 100644 index 2237a017..00000000 --- a/tasks/ceilometer_apache.yml +++ /dev/null @@ -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" - diff --git a/tasks/ceilometer_install.yml b/tasks/ceilometer_install.yml index bfebf7d1..8998e7f8 100644 --- a/tasks/ceilometer_install.yml +++ b/tasks/ceilometer_install.yml @@ -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" diff --git a/tasks/ceilometer_post_install.yml b/tasks/ceilometer_post_install.yml index 4cd40a09..b67e772b 100644 --- a/tasks/ceilometer_post_install.yml +++ b/tasks/ceilometer_post_install.yml @@ -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: diff --git a/tasks/ceilometer_pre_install.yml b/tasks/ceilometer_pre_install.yml index 1ead269f..035f3b40 100644 --- a/tasks/ceilometer_pre_install.yml +++ b/tasks/ceilometer_pre_install.yml @@ -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 diff --git a/tasks/main.yml b/tasks/main.yml index 2aa219e0..94bc0830 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -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 diff --git a/templates/ceilometer-api-wsgi.py.j2 b/templates/ceilometer-api-wsgi.py.j2 deleted file mode 100644 index d0828940..00000000 --- a/templates/ceilometer-api-wsgi.py.j2 +++ /dev/null @@ -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) diff --git a/templates/ceilometer-httpd.conf.j2 b/templates/ceilometer-httpd.conf.j2 deleted file mode 100644 index 41c6a2f4..00000000 --- a/templates/ceilometer-httpd.conf.j2 +++ /dev/null @@ -1,16 +0,0 @@ -# {{ ansible_managed }} - - - 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} - - = 2.4> - ErrorLogFormat "%{cu}t %M" - - - LogLevel {{ ceilometer_apache_log_level }} - ErrorLog /var/log/ceilometer/ceilometer-apache-error.log - CustomLog /var/log/ceilometer/ceilometer-access.log combined - diff --git a/templates/ceilometer-ports.conf.j2 b/templates/ceilometer-ports.conf.j2 deleted file mode 100644 index ab3af534..00000000 --- a/templates/ceilometer-ports.conf.j2 +++ /dev/null @@ -1,3 +0,0 @@ -# {{ ansible_managed }} - -Listen {{ ceilometer_service_port }} diff --git a/tests/gnocchi_inventory b/tests/gnocchi_inventory index e7ced12c..c41f63b2 100644 --- a/tests/gnocchi_inventory +++ b/tests/gnocchi_inventory @@ -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 diff --git a/tests/inventory b/tests/inventory index caafaf4c..1b8d8b08 100644 --- a/tests/inventory +++ b/tests/inventory @@ -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 diff --git a/tests/os_ceilometer-overrides.yml b/tests/os_ceilometer-overrides.yml index f5a81c30..2526a0b0 100644 --- a/tests/os_ceilometer-overrides.yml +++ b/tests/os_ceilometer-overrides.yml @@ -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 diff --git a/vars/redhat-7.yml b/vars/redhat-7.yml index 5ef91249..4b9a6875 100644 --- a/vars/redhat-7.yml +++ b/vars/redhat-7.yml @@ -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" } - - diff --git a/vars/ubuntu-16.04.yml b/vars/ubuntu-16.04.yml index 26bb4385..fd785cd6 100644 --- a/vars/ubuntu-16.04.yml +++ b/vars/ubuntu-16.04.yml @@ -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" } -