summaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/ceilometer_controller
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/adapters/ansible/roles/ceilometer_controller')
-rw-r--r--deploy/adapters/ansible/roles/ceilometer_controller/handlers/main.yml12
-rw-r--r--deploy/adapters/ansible/roles/ceilometer_controller/tasks/ceilometer_config.yml71
-rw-r--r--deploy/adapters/ansible/roles/ceilometer_controller/tasks/ceilometer_install.yml35
-rw-r--r--deploy/adapters/ansible/roles/ceilometer_controller/tasks/main.yml51
-rw-r--r--deploy/adapters/ansible/roles/ceilometer_controller/templates/ceilometer.conf.j252
-rw-r--r--deploy/adapters/ansible/roles/ceilometer_controller/templates/cinder.conf.j22
-rw-r--r--deploy/adapters/ansible/roles/ceilometer_controller/templates/glance-api.conf.j22
-rw-r--r--deploy/adapters/ansible/roles/ceilometer_controller/templates/glance-registry.conf.j22
-rw-r--r--deploy/adapters/ansible/roles/ceilometer_controller/templates/wsgi-ceilometer.conf.j225
-rw-r--r--deploy/adapters/ansible/roles/ceilometer_controller/vars/Debian.yml17
-rw-r--r--deploy/adapters/ansible/roles/ceilometer_controller/vars/RedHat.yml31
11 files changed, 228 insertions, 72 deletions
diff --git a/deploy/adapters/ansible/roles/ceilometer_controller/handlers/main.yml b/deploy/adapters/ansible/roles/ceilometer_controller/handlers/main.yml
index c973d7df..a3bfb85d 100644
--- a/deploy/adapters/ansible/roles/ceilometer_controller/handlers/main.yml
+++ b/deploy/adapters/ansible/roles/ceilometer_controller/handlers/main.yml
@@ -7,6 +7,16 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---
-- name: restart ceilometer relation service
+- name: restart ceilometer service
service: name={{ item }} state=restarted enabled=yes
with_items: ceilometer_services
+
+- name: restart glance_cinder service
+ service: name={{ item }} state=restarted enabled=yes
+ with_items: glance_cinder_services
+
+- name: reload apache server
+ service: name=apache2 state=reloaded
+
+- name: restart apache server
+ service: name=apache2 state=restarted enabled=yes
diff --git a/deploy/adapters/ansible/roles/ceilometer_controller/tasks/ceilometer_config.yml b/deploy/adapters/ansible/roles/ceilometer_controller/tasks/ceilometer_config.yml
new file mode 100644
index 00000000..7f5209c1
--- /dev/null
+++ b/deploy/adapters/ansible/roles/ceilometer_controller/tasks/ceilometer_config.yml
@@ -0,0 +1,71 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- include_vars: "{{ ansible_os_family }}.yml"
+
+- name: update apache2 configs
+ template:
+ src: wsgi-ceilometer.conf.j2
+ dest: /etc/apache2/sites-available/ceilometer.conf
+ notify: reload apache server
+
+- name: enable ceilometer server
+ file:
+ src: /etc/apache2/sites-available/ceilometer.conf
+ dest: /etc/apache2/sites-enabled/ceilometer.conf
+ state: "link"
+ when: ansible_os_family == 'Debian'
+ notify: reload apache server
+
+- name: assure listen port exist
+ shell: echo "Listen {{ internal_ip }}:8777" >> /etc/apache2/ports.conf
+ notify:
+ - restart apache server
+
+- name: copy glance & cinder configs
+ template:
+ src: "{{ item }}"
+ dest: /opt/os_templates
+ with_items:
+ - cinder.conf.j2
+ - glance-api.conf.j2
+ - glance-registry.conf.j2
+
+- name: update configs
+ shell: crudini --merge {{ item.dest }} < /opt/os_templates/{{ item.src }}
+ with_items:
+ - src: cinder.conf.j2
+ dest: /etc/cinder/cinder.conf
+ - src: glance-api.conf.j2
+ dest: /etc/glance/glance-api.conf
+ - src: glance-registry.conf.j2
+ dest: /etc/glance/glance-registry.conf
+ notify: restart glance_cinder service
+
+- name: delete configs
+ file:
+ path: /opt/os_templates/{{ item }}
+ state: absent
+ with_items:
+ - cinder.conf.j2
+ - glance-api.conf.j2
+ - glance-registry.conf.j2
+
+- name: change meter polling interval to 300s
+ replace:
+ dest: /etc/ceilometer/pipeline.yaml
+ regexp: 'interval: .+'
+ replace: 'interval: 300'
+ notify: restart ceilometer service
+
+- name: write services to monitor list
+ lineinfile: dest=/opt/service create=yes line='{{ item }}'
+ with_items: ceilometer_services
+
+- meta: flush_handlers
diff --git a/deploy/adapters/ansible/roles/ceilometer_controller/tasks/ceilometer_install.yml b/deploy/adapters/ansible/roles/ceilometer_controller/tasks/ceilometer_install.yml
new file mode 100644
index 00000000..0f2ba3d2
--- /dev/null
+++ b/deploy/adapters/ansible/roles/ceilometer_controller/tasks/ceilometer_install.yml
@@ -0,0 +1,35 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- include_vars: "{{ ansible_os_family }}.yml"
+
+- name: disable auto start
+ copy:
+ content: "#!/bin/sh\nexit 101"
+ dest: "/usr/sbin/policy-rc.d"
+ mode: 0755
+ when: ansible_os_family == "Debian"
+
+- name: install ceilometer packages
+ action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+ with_items: ceilometer_packages | union(packages_noarch)
+
+- name: enable auto start
+ file:
+ path=/usr/sbin/policy-rc.d
+ state=absent
+ when: ansible_os_family == "Debian"
+
+- name: update ceilometer configs
+ template:
+ src: ceilometer.conf.j2
+ dest: /etc/ceilometer/ceilometer.conf
+ backup: yes
+ notify: restart ceilometer service
+
diff --git a/deploy/adapters/ansible/roles/ceilometer_controller/tasks/main.yml b/deploy/adapters/ansible/roles/ceilometer_controller/tasks/main.yml
index 6b1882cc..1e3c04d7 100644
--- a/deploy/adapters/ansible/roles/ceilometer_controller/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/ceilometer_controller/tasks/main.yml
@@ -7,45 +7,16 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---
-- include_vars: "{{ ansible_os_family }}.yml"
-
-- name: disable auto start
- copy:
- content: "#!/bin/sh\nexit 101"
- dest: "/usr/sbin/policy-rc.d"
- mode: 0755
- when: ansible_os_family == "Debian"
-
-- name: install ceilometer packages
- action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
- with_items: ceilometer_packages | union(packages_noarch)
-
-- name: enable auto start
- file:
- path=/usr/sbin/policy-rc.d
- state=absent
- when: ansible_os_family == "Debian"
-
-- name: copy ceilometer configs
- template: src={{ item.src}} dest=/opt/os_templates
- with_items: "{{ ceilometer_configs_templates }}"
-
-- name: update ceilometer configs
- shell: crudini --merge {{ item.1 }} < /opt/os_templates/{{ item.0.src }}
- with_subelements:
- - ceilometer_configs_templates
- - dest
- notify: restart ceilometer relation service
-
-- name: change meter polling interval to 300s
- replace:
- dest: /etc/ceilometer/pipeline.yaml
- regexp: 'interval: .+'
- replace: 'interval: 300'
- notify: restart ceilometer relation service
-
-- name: write services to monitor list
- lineinfile: dest=/opt/service create=yes line='{{ item }}'
- with_items: ceilometer_services
+- include: ceilometer_install.yml
+ tags:
+ - install
+ - ceilometer_install
+ - ceilometer
+
+- include: ceilometer_config.yml
+ tags:
+ - config
+ - ceilometer_config
+ - ceilometer
- meta: flush_handlers
diff --git a/deploy/adapters/ansible/roles/ceilometer_controller/templates/ceilometer.conf.j2 b/deploy/adapters/ansible/roles/ceilometer_controller/templates/ceilometer.conf.j2
new file mode 100644
index 00000000..50271732
--- /dev/null
+++ b/deploy/adapters/ansible/roles/ceilometer_controller/templates/ceilometer.conf.j2
@@ -0,0 +1,52 @@
+{% set memcached_servers = [] %}
+{% for host in haproxy_hosts.values() %}
+{% set _ = memcached_servers.append('%s:11211'% host) %}
+{% endfor %}
+{% set memcached_servers = memcached_servers|join(',') %}
+
+[DEFAULT]
+rpc_backend = rabbit
+auth_strategy = keystone
+verbose = True
+
+[api]
+host = {{ internal_ip }}
+
+[database]
+connection = mongodb://ceilometer:{{ CEILOMETER_DBPASS }}@{{ internal_vip.ip }}:27017/ceilometer
+
+[keystone_authtoken]
+auth_uri = http://{{ internal_vip.ip }}:5000
+auth_url = http://{{ internal_vip.ip }}:35357
+memcached_servers = {{ memcached_servers }}
+auth_type = password
+project_domain_name = default
+user_domain_name = default
+project_name = service
+username = ceilometer
+password = {{ CEILOMETER_PASS }}
+
+identity_uri = http://{{ internal_vip.ip }}:35357
+auth_plugin = password
+project_domain_id = default
+user_domain_id = default
+
+[oslo_messaging_rabbit]
+rabbit_host = {{ rabbit_host }}
+rabbit_userid = {{ RABBIT_USER }}
+rabbit_password = {{ RABBIT_PASS }}
+
+[publisher]
+metering_secret = {{ metering_secret }}
+
+[service_credentials]
+auth_type = password
+auth_url = http://{{ internal_vip.ip }}:5000/v3
+project_domain_name = default
+user_domain_name = default
+project_name = service
+username = ceilometer
+password = {{ CEILOMETER_PASS }}
+interface = internalURL
+region_name = RegionOne
+
diff --git a/deploy/adapters/ansible/roles/ceilometer_controller/templates/cinder.conf.j2 b/deploy/adapters/ansible/roles/ceilometer_controller/templates/cinder.conf.j2
new file mode 100644
index 00000000..e2d19cc3
--- /dev/null
+++ b/deploy/adapters/ansible/roles/ceilometer_controller/templates/cinder.conf.j2
@@ -0,0 +1,2 @@
+[oslo_messaging_notifications]
+driver = messagingv2
diff --git a/deploy/adapters/ansible/roles/ceilometer_controller/templates/glance-api.conf.j2 b/deploy/adapters/ansible/roles/ceilometer_controller/templates/glance-api.conf.j2
new file mode 100644
index 00000000..e2d19cc3
--- /dev/null
+++ b/deploy/adapters/ansible/roles/ceilometer_controller/templates/glance-api.conf.j2
@@ -0,0 +1,2 @@
+[oslo_messaging_notifications]
+driver = messagingv2
diff --git a/deploy/adapters/ansible/roles/ceilometer_controller/templates/glance-registry.conf.j2 b/deploy/adapters/ansible/roles/ceilometer_controller/templates/glance-registry.conf.j2
new file mode 100644
index 00000000..e2d19cc3
--- /dev/null
+++ b/deploy/adapters/ansible/roles/ceilometer_controller/templates/glance-registry.conf.j2
@@ -0,0 +1,2 @@
+[oslo_messaging_notifications]
+driver = messagingv2
diff --git a/deploy/adapters/ansible/roles/ceilometer_controller/templates/wsgi-ceilometer.conf.j2 b/deploy/adapters/ansible/roles/ceilometer_controller/templates/wsgi-ceilometer.conf.j2
new file mode 100644
index 00000000..9909f800
--- /dev/null
+++ b/deploy/adapters/ansible/roles/ceilometer_controller/templates/wsgi-ceilometer.conf.j2
@@ -0,0 +1,25 @@
+{% set work_threads = (ansible_processor_vcpus + 1) // 2 %}
+{% if work_threads > 10 %}
+{% set work_threads = 10 %}
+{% endif %}
+
+<VirtualHost {{ internal_ip }}:8777>
+ WSGIDaemonProcess ceilometer-api processes=4 threads={{ work_threads }} user=ceilometer group=ceilometer display-name=%{GROUP}
+ WSGIProcessGroup ceilometer-api
+ WSGIScriptAlias / /usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi
+ WSGIApplicationGroup %{GLOBAL}
+ ErrorLog /var/log/apache2/ceilometer_error.log
+ CustomLog /var/log/apache2/ceilometer_access.log combined
+
+ <Directory /usr/lib/python2.7/dist-packages/ceilometer/api/>
+ <IfVersion >= 2.4>
+ Require all granted
+ </IfVersion>
+ <IfVersion < 2.4>
+ Order allow,deny
+ Allow from all
+ </IfVersion>
+ </Directory>
+</VirtualHost>
+
+WSGISocketPrefix /var/run/apache2
diff --git a/deploy/adapters/ansible/roles/ceilometer_controller/vars/Debian.yml b/deploy/adapters/ansible/roles/ceilometer_controller/vars/Debian.yml
index 55f5aa19..de860533 100644
--- a/deploy/adapters/ansible/roles/ceilometer_controller/vars/Debian.yml
+++ b/deploy/adapters/ansible/roles/ceilometer_controller/vars/Debian.yml
@@ -17,17 +17,10 @@ ceilometer_packages:
ceilometer_services:
- ceilometer-agent-central
- ceilometer-agent-notification
- - ceilometer-api
- ceilometer-collector
-ceilometer_configs_templates:
- - src: ceilometer.j2
- dest:
- - /etc/ceilometer/ceilometer.conf
- - src: cinder.j2
- dest:
- - /etc/cinder/cinder.conf
- - src: glance.j2
- dest:
- - /etc/glance/glance-api.conf
- - /etc/glance/glance-registry.conf
+glance_cinder_services:
+ - glance-registry
+ - glance-api
+ - cinder-api
+ - cinder-scheduler
diff --git a/deploy/adapters/ansible/roles/ceilometer_controller/vars/RedHat.yml b/deploy/adapters/ansible/roles/ceilometer_controller/vars/RedHat.yml
index 86f464a5..de860533 100644
--- a/deploy/adapters/ansible/roles/ceilometer_controller/vars/RedHat.yml
+++ b/deploy/adapters/ansible/roles/ceilometer_controller/vars/RedHat.yml
@@ -8,26 +8,19 @@
##############################################################################
---
ceilometer_packages:
- - openstack-ceilometer-api
- - openstack-ceilometer-collector
- - openstack-ceilometer-central
- - openstack-ceilometer-notification
+ - ceilometer-api
+ - ceilometer-collector
+ - ceilometer-agent-central
+ - ceilometer-agent-notification
- python-ceilometerclient
ceilometer_services:
- - openstack-ceilometer-central
- - openstack-ceilometer-notification
- - openstack-ceilometer-api
- - openstack-ceilometer-collector
+ - ceilometer-agent-central
+ - ceilometer-agent-notification
+ - ceilometer-collector
-ceilometer_configs_templates:
- - src: ceilometer.j2
- dest:
- - /etc/ceilometer/ceilometer.conf
- - src: cinder.j2
- dest:
- - /etc/cinder/cinder.conf
- - src: glance.j2
- dest:
- - /etc/glance/glance-api.conf
- - /etc/glance/glance-registry.conf
+glance_cinder_services:
+ - glance-registry
+ - glance-api
+ - cinder-api
+ - cinder-scheduler