From ba978b8947df36ffb8a2c8fb10f950b0f23e878e Mon Sep 17 00:00:00 2001 From: ZhongShengping Date: Mon, 26 Mar 2018 14:44:59 +0800 Subject: [PATCH] Remove wsgi The ceilometer api class has been removed[1]. So the wsgi::apache class is useless. https://review.openstack.org/#/c/541562/ Change-Id: I2c6165dd3b007a2bae1d9934a773dddf32218b7b --- manifests/params.pp | 4 - manifests/wsgi/apache.pp | 169 -------------------- spec/classes/ceilometer_wsgi_apache_spec.rb | 118 -------------- 3 files changed, 291 deletions(-) delete mode 100644 manifests/wsgi/apache.pp delete mode 100644 spec/classes/ceilometer_wsgi_apache_spec.rb diff --git a/manifests/params.pp b/manifests/params.pp index 459e1688..28071c9e 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -27,8 +27,6 @@ class ceilometer::params { $agent_compute_service_name = 'openstack-ceilometer-compute' $agent_polling_service_name = 'openstack-ceilometer-polling' $agent_notification_service_name = 'openstack-ceilometer-notification' - $ceilometer_wsgi_script_path = '/var/www/cgi-bin/ceilometer' - $ceilometer_wsgi_script_source = '/usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi' $libvirt_group = undef } 'Debian': { @@ -44,8 +42,6 @@ class ceilometer::params { $agent_polling_service_name = 'ceilometer-polling' $agent_notification_service_name = 'ceilometer-agent-notification' $libvirt_group = 'libvirt' - $ceilometer_wsgi_script_path = '/usr/lib/cgi-bin/ceilometer' - $ceilometer_wsgi_script_source = '/usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi' } default: { fail("Unsupported osfamily: ${::osfamily} operatingsystem: \ diff --git a/manifests/wsgi/apache.pp b/manifests/wsgi/apache.pp deleted file mode 100644 index 327d4f6d..00000000 --- a/manifests/wsgi/apache.pp +++ /dev/null @@ -1,169 +0,0 @@ -# -# Copyright (C) 2015 eNovance SAS -# -# Author: Emilien Macchi -# -# 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. -# -# == Class: ceilometer::wsgi::apache -# -# Class to serve Ceilometer API with apache mod_wsgi in place of ceilometer-api service. -# -# Serving Ceilometer API from apache is the recommended way to go for production -# because of limited performance for concurrent accesses when running eventlet. -# -# When using this class you should disable your ceilometer-api service. -# -# === Parameters: -# -# [*servername*] -# (Optional) The servername for the virtualhost. -# Defaults to $::fqdn. -# -# [*port*] -# (Optional) The port. -# Defaults to 8777. -# -# [*bind_host*] -# (Optional) The host/ip address Apache will listen on. -# Defaults to undef (listen on all ip addresses). -# -# [*path*] -# (Optional) The prefix for the endpoint. -# Defaults to '/'. -# -# [*ssl*] -# (Optional) Use ssl ? (boolean) -# Defaults to true. -# -# [*workers*] -# (Optional) Number of WSGI workers to spawn. -# Defaults to 1. -# -# [*priority*] -# (Optional) The priority for the vhost. -# Defaults to '10'. -# -# [*threads*] -# (Optional) The number of threads for the vhost. -# Defaults to $::os_workers. -# -# [*wsgi_process_display_name*] -# (optional) Name of the WSGI process display-name. -# Defaults to undef -# -# [*ssl_cert*] -# [*ssl_key*] -# [*ssl_chain*] -# [*ssl_ca*] -# [*ssl_crl_path*] -# [*ssl_crl*] -# [*ssl_certs_dir*] -# (Optional) apache::vhost ssl parameters. -# Default to apache::vhost 'ssl_*' defaults. -# -# [*access_log_file*] -# The log file name for the virtualhost. -# Optional. Defaults to false. -# -# [*access_log_format*] -# The log format for the virtualhost. -# Optional. Defaults to false. -# -# [*error_log_file*] -# The error log file name for the virtualhost. -# Optional. Defaults to undef. -# -# [*custom_wsgi_process_options*] -# (optional) gives you the oportunity to add custom process options or to -# overwrite the default options for the WSGI main process. -# eg. to use a virtual python environment for the WSGI process -# you could set it to: -# { python-path => '/my/python/virtualenv' } -# Defaults to {} -# -# === Dependencies: -# -# requires Class['apache'] & Class['ceilometer'] -# -# === Examples: -# -# include apache -# -# class { 'ceilometer::wsgi::apache': } -# -class ceilometer::wsgi::apache ( - $servername = $::fqdn, - $port = 8777, - $bind_host = undef, - $path = '/', - $ssl = true, - $workers = 1, - $ssl_cert = undef, - $ssl_key = undef, - $ssl_chain = undef, - $ssl_ca = undef, - $ssl_crl_path = undef, - $ssl_crl = undef, - $ssl_certs_dir = undef, - $wsgi_process_display_name = undef, - $threads = $::os_workers, - $priority = '10', - $access_log_file = false, - $access_log_format = false, - $error_log_file = undef, - $custom_wsgi_process_options = {}, -) { - - include ::ceilometer::deps - include ::ceilometer::params - include ::apache - include ::apache::mod::wsgi - if $ssl { - include ::apache::mod::ssl - } - - # NOTE(aschultz): needed because the packaging may introduce some apache - # configuration files that apache may remove. See LP#1657309 - Anchor['ceilometer::install::end'] -> Class['apache'] - - ::openstacklib::wsgi::apache { 'ceilometer_wsgi': - bind_host => $bind_host, - bind_port => $port, - group => 'ceilometer', - path => $path, - priority => $priority, - servername => $servername, - ssl => $ssl, - ssl_ca => $ssl_ca, - ssl_cert => $ssl_cert, - ssl_certs_dir => $ssl_certs_dir, - ssl_chain => $ssl_chain, - ssl_crl => $ssl_crl, - ssl_crl_path => $ssl_crl_path, - ssl_key => $ssl_key, - threads => $threads, - user => 'ceilometer', - workers => $workers, - wsgi_daemon_process => 'ceilometer', - wsgi_process_display_name => $wsgi_process_display_name, - wsgi_process_group => 'ceilometer', - wsgi_script_dir => $::ceilometer::params::ceilometer_wsgi_script_path, - wsgi_script_file => 'app', - wsgi_script_source => $::ceilometer::params::ceilometer_wsgi_script_source, - custom_wsgi_process_options => $custom_wsgi_process_options, - access_log_file => $access_log_file, - access_log_format => $access_log_format, - error_log_file => $error_log_file, - } -} diff --git a/spec/classes/ceilometer_wsgi_apache_spec.rb b/spec/classes/ceilometer_wsgi_apache_spec.rb deleted file mode 100644 index cb79b378..00000000 --- a/spec/classes/ceilometer_wsgi_apache_spec.rb +++ /dev/null @@ -1,118 +0,0 @@ -require 'spec_helper' - -describe 'ceilometer::wsgi::apache' do - let :pre_condition do - "class { 'ceilometer': telemetry_secret => 's3cr3t' }" - end - - shared_examples_for 'apache serving ceilometer with mod_wsgi' do - context 'with default parameters' do - it { is_expected.to contain_class('ceilometer::deps') } - it { is_expected.to contain_class('ceilometer::params') } - it { is_expected.to contain_class('apache') } - it { is_expected.to contain_class('apache::mod::wsgi') } - it { is_expected.to contain_class('apache::mod::ssl') } - it { is_expected.to contain_openstacklib__wsgi__apache('ceilometer_wsgi').with( - :bind_port => 8777, - :group => 'ceilometer', - :path => '/', - :servername => facts[:fqdn], - :ssl => true, - :threads => facts[:os_workers], - :user => 'ceilometer', - :workers => 1, - :wsgi_daemon_process => 'ceilometer', - :wsgi_process_group => 'ceilometer', - :wsgi_script_dir => platform_params[:wsgi_script_path], - :wsgi_script_file => 'app', - :wsgi_script_source => platform_params[:wsgi_script_source], - :custom_wsgi_process_options => {}, - :access_log_file => false, - :access_log_format => false, - )} - end - - context 'when overriding parameters using different ports' do - let :params do - { - :servername => 'dummy.host', - :bind_host => '10.42.51.1', - :port => 12345, - :ssl => false, - :wsgi_process_display_name => 'ceilometer', - :workers => 37, - :custom_wsgi_process_options => { - 'python_path' => '/my/python/path', - }, - :access_log_file => '/var/log/httpd/access_log', - :access_log_format => 'some format', - :error_log_file => '/var/log/httpd/error_log' - } - end - it { is_expected.to contain_class('ceilometer::deps') } - it { is_expected.to contain_class('ceilometer::params') } - it { is_expected.to contain_class('apache') } - it { is_expected.to contain_class('apache::mod::wsgi') } - it { is_expected.to_not contain_class('apache::mod::ssl') } - it { is_expected.to contain_openstacklib__wsgi__apache('ceilometer_wsgi').with( - :bind_host => '10.42.51.1', - :bind_port => 12345, - :group => 'ceilometer', - :path => '/', - :servername => 'dummy.host', - :ssl => false, - :threads => facts[:os_workers], - :user => 'ceilometer', - :workers => 37, - :wsgi_daemon_process => 'ceilometer', - :wsgi_process_display_name => 'ceilometer', - :wsgi_process_group => 'ceilometer', - :wsgi_script_dir => platform_params[:wsgi_script_path], - :wsgi_script_file => 'app', - :wsgi_script_source => platform_params[:wsgi_script_source], - :custom_wsgi_process_options => { - 'python_path' => '/my/python/path', - }, - :access_log_file => '/var/log/httpd/access_log', - :access_log_format => 'some format', - :error_log_file => '/var/log/httpd/error_log' - )} - end - end - - on_supported_os({ - :supported_os => OSDefaults.get_supported_os - }).each do |os,facts| - context "on #{os}" do - let (:facts) do - facts.merge!(OSDefaults.get_facts({ - :os_workers => 8, - :concat_basedir => '/var/lib/puppet/concat', - :fqdn => 'some.host.tld' - })) - end - - let :platform_params do - case facts[:osfamily] - when 'Debian' - { - :httpd_service_name => 'apache2', - :httpd_ports_file => '/etc/apache2/ports.conf', - :wsgi_script_path => '/usr/lib/cgi-bin/ceilometer', - :wsgi_script_source => '/usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi' - } - when 'RedHat' - { - :httpd_service_name => 'httpd', - :httpd_ports_file => '/etc/httpd/conf/ports.conf', - :wsgi_script_path => '/var/www/cgi-bin/ceilometer', - :wsgi_script_source => '/usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi' - } - end - end - - it_behaves_like 'apache serving ceilometer with mod_wsgi' - end - end - -end