aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible
diff options
context:
space:
mode:
authorHarry Huang <huangxiangyu5@huawei.com>2017-02-07 18:48:49 +0800
committerHarry Huang <huangxiangyu5@huawei.com>2017-02-07 19:52:43 +0800
commit42634c9d279f6c1db38e0926a787fc33c2ef826f (patch)
treec7c0ab2e2c25d63ade967108b8e0fa4949d3fbf2 /deploy/adapters/ansible
parent53916ab0e407f29b33a72c721f424284567636ce (diff)
Fix Aodh Bug
JIRA: COMPASS-522 Bug: Connection error happens when using aodh command. Curl aodh-api also returns empty reply. Solution: Use apache to be aodh api server. Disable aodh-api service. Delete aodh-api restart in ext-network role to avoid aodh-api start again. Change-Id: I04a4af38325bcbe4a0b86ec3d3beb7c9f3abd73b Signed-off-by: Harry Huang <huangxiangyu5@huawei.com>
Diffstat (limited to 'deploy/adapters/ansible')
-rw-r--r--deploy/adapters/ansible/roles/aodh/handlers/main.yml8
-rw-r--r--deploy/adapters/ansible/roles/aodh/tasks/aodh_install.yml45
-rw-r--r--deploy/adapters/ansible/roles/aodh/templates/wsgi-aodh.conf.j228
-rw-r--r--deploy/adapters/ansible/roles/aodh/vars/Debian.yml7
-rw-r--r--deploy/adapters/ansible/roles/aodh/vars/RedHat.yml7
-rw-r--r--deploy/adapters/ansible/roles/ext-network/vars/Debian.yml2
-rw-r--r--deploy/adapters/ansible/roles/ext-network/vars/RedHat.yml1
7 files changed, 92 insertions, 6 deletions
diff --git a/deploy/adapters/ansible/roles/aodh/handlers/main.yml b/deploy/adapters/ansible/roles/aodh/handlers/main.yml
index 4ff2a4f9..983de9fc 100644
--- a/deploy/adapters/ansible/roles/aodh/handlers/main.yml
+++ b/deploy/adapters/ansible/roles/aodh/handlers/main.yml
@@ -10,3 +10,11 @@
- name: restart aodh services
service: name={{ item }} state=restarted enabled=yes
with_items: "{{ services | union(services_noarch) }}"
+
+- name: aodh reload apache
+ service: name={{ item }} state=reloaded
+ with_items: "{{ http_service_name }}"
+
+- name: aodh restart apache
+ service: name={{ item }} state=restarted enabled=yes
+ with_items: "{{ http_service_name }}"
diff --git a/deploy/adapters/ansible/roles/aodh/tasks/aodh_install.yml b/deploy/adapters/ansible/roles/aodh/tasks/aodh_install.yml
index 4b86f7fd..4e2e8655 100644
--- a/deploy/adapters/ansible/roles/aodh/tasks/aodh_install.yml
+++ b/deploy/adapters/ansible/roles/aodh/tasks/aodh_install.yml
@@ -21,8 +21,51 @@
- restart aodh services
- name: write services to monitor list
- lineinfile: dest=/opt/service create=yes line='{{ item }}'
+ lineinfile: dest=/opt/service create=yes line={{ item }}
with_items: "{{ services | union(services_noarch) }}"
- name: remove default sqlite db
shell: rm /var/lib/aodh/aodh.sqlite || touch aodh.sqllite.db.removed
+
+- name: disable aodh-api service
+ service: name={{ item }} state=stopped enabled=no
+ with_items: "{{ api_service }}"
+
+- name: add listen port
+ lineinfile:
+ dest: '{{ apache_config_dir }}/ports.conf'
+ regexp: "^Listen {{ internal_ip }}:8042"
+ line: "Listen {{ internal_ip }}:8042"
+ notify: aodh restart apache
+
+- name: create WSGIScriptAlias Path
+ file:
+ path: /var/www/cgi-bin/aodh
+ state: directory
+ mode: 0755
+
+- name: copy WSGIScriptAlias file
+ shell: |
+ cp {{WSGIScriptAlias_file}} /var/www/cgi-bin/aodh/app;
+
+- name: update apache2 configs
+ template:
+ src: wsgi-aodh.conf.j2
+ dest: '{{ apache_config_dir }}/sites-available/aodh.conf'
+ when: ansible_os_family == 'Debian'
+ notify: aodh reload apache
+
+- name: enable aodh server
+ file:
+ src: "{{ apache_config_dir }}/sites-available/aodh.conf"
+ dest: "{{ apache_config_dir }}/sites-enabled/aodh.conf"
+ state: "link"
+ when: ansible_os_family == 'Debian'
+ notify: aodh reload apache
+
+- name: update apache2 configs
+ template:
+ src: wsgi-aodh.conf.j2
+ dest: '{{ apache_config_dir }}/aodh.conf'
+ when: ansible_os_family == 'RedHat'
+ notify: aodh reload apache
diff --git a/deploy/adapters/ansible/roles/aodh/templates/wsgi-aodh.conf.j2 b/deploy/adapters/ansible/roles/aodh/templates/wsgi-aodh.conf.j2
new file mode 100644
index 00000000..8d71075e
--- /dev/null
+++ b/deploy/adapters/ansible/roles/aodh/templates/wsgi-aodh.conf.j2
@@ -0,0 +1,28 @@
+{% set work_threads = (ansible_processor_vcpus + 1) // 2 %}
+{% if work_threads > 10 %}
+{% set work_threads = 10 %}
+{% endif %}
+
+<VirtualHost {{ internal_ip }}:8042>
+ WSGIDaemonProcess aodh-api processes=4 threads={{ work_threads }} user=aodh group=aodh display-name=%{GROUP}
+ WSGIProcessGroup aodh-api
+ WSGIScriptAlias / /var/www/cgi-bin/aodh/app
+ WSGIApplicationGroup %{GLOBAL}
+ <IfVersion >= 2.4>
+ ErrorLogFormat "%{cu}t %M"
+ </IfVersion>
+ ErrorLog /var/log/{{ http_service_name }}/aodh.log
+ CustomLog /var/log/{{ http_service_name }}/aodh_access.log combined
+
+ <Directory /usr/lib/python2.7/dist-packages/aodh/api/>
+ <IfVersion >= 2.4>
+ Require all granted
+ </IfVersion>
+ <IfVersion < 2.4>
+ Order allow,deny
+ Allow from all
+ </IfVersion>
+ </Directory>
+</VirtualHost>
+
+WSGISocketPrefix /var/run/{{ http_service_name }}
diff --git a/deploy/adapters/ansible/roles/aodh/vars/Debian.yml b/deploy/adapters/ansible/roles/aodh/vars/Debian.yml
index 9bf4ad7a..edf73641 100644
--- a/deploy/adapters/ansible/roles/aodh/vars/Debian.yml
+++ b/deploy/adapters/ansible/roles/aodh/vars/Debian.yml
@@ -16,7 +16,12 @@ packages:
- python-aodhclient
services:
- - aodh-api
- aodh-notifier
- aodh-evaluator
- aodh-listener
+
+api_service: aodh-api
+
+apache_config_dir: /etc/apache2
+http_service_name: apache2
+WSGIScriptAlias_file: /usr/lib/python2.7/dist-packages/aodh/api/app.wsgi
diff --git a/deploy/adapters/ansible/roles/aodh/vars/RedHat.yml b/deploy/adapters/ansible/roles/aodh/vars/RedHat.yml
index 3d25bd6c..dba345fb 100644
--- a/deploy/adapters/ansible/roles/aodh/vars/RedHat.yml
+++ b/deploy/adapters/ansible/roles/aodh/vars/RedHat.yml
@@ -16,7 +16,12 @@ packages:
- python-aodhclient
services:
- - openstack-aodh-api
- openstack-aodh-notifier
- openstack-aodh-evaluator
- openstack-aodh-listener
+
+api_service: openstack-aodh-api
+
+apache_config_dir: /etc/httpd/conf.d
+http_service_name: httpd
+WSGIScriptAlias_file: /usr/lib/python2.7/site-packages/aodh/api/app.wsgi
diff --git a/deploy/adapters/ansible/roles/ext-network/vars/Debian.yml b/deploy/adapters/ansible/roles/ext-network/vars/Debian.yml
index 8cebcb48..069afc14 100644
--- a/deploy/adapters/ansible/roles/ext-network/vars/Debian.yml
+++ b/deploy/adapters/ansible/roles/ext-network/vars/Debian.yml
@@ -10,8 +10,6 @@
api_services:
- nova-api
- glance-api
- - ceilometer-api
- heat-api
- heat-api-cfn
- - aodh-api
- cinder-api
diff --git a/deploy/adapters/ansible/roles/ext-network/vars/RedHat.yml b/deploy/adapters/ansible/roles/ext-network/vars/RedHat.yml
index f595d7ba..47fc4a32 100644
--- a/deploy/adapters/ansible/roles/ext-network/vars/RedHat.yml
+++ b/deploy/adapters/ansible/roles/ext-network/vars/RedHat.yml
@@ -10,7 +10,6 @@
api_services:
- openstack-nova-api
- openstack-glance-api
- - openstack-ceilometer-api
- openstack-heat-api
- openstack-heat-api-cfn
- openstack-cinder-api