integrate gnocchi with ceilometer
Closes-Bug: #1626364 Change-Id: I9d586b950b7099a9b160f7b32c9ff00b189a0287
This commit is contained in:
parent
7fa1a08fd2
commit
18fa72c901
@ -344,7 +344,7 @@ glance_backend_ceph: "{{ enable_ceph }}"
|
|||||||
#######################
|
#######################
|
||||||
# Ceilometer options
|
# Ceilometer options
|
||||||
#######################
|
#######################
|
||||||
# Valid options are [ mongodb, mysql ]
|
# Valid options are [ mongodb, mysql, gnocchi ]
|
||||||
ceilometer_database_type: "mongodb"
|
ceilometer_database_type: "mongodb"
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,10 +7,9 @@ project_name: "ceilometer"
|
|||||||
####################
|
####################
|
||||||
ceilometer_database_name: "ceilometer"
|
ceilometer_database_name: "ceilometer"
|
||||||
ceilometer_database_user: "ceilometer"
|
ceilometer_database_user: "ceilometer"
|
||||||
ceilometer_database_address_mappings:
|
|
||||||
mongodb: "{% for host in groups['mongodb'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ mongodb_port }}{% if not loop.last %},{% endif %}{% endfor %}"
|
ceilometer_database_mongodb_address: "{% for host in groups['mongodb'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ mongodb_port }}{% if not loop.last %},{% endif %}{% endfor %}"
|
||||||
mysql: "{{ kolla_internal_fqdn }}:{{ database_port }}"
|
ceilometer_database_mysql_address: "{{ kolla_internal_fqdn }}:{{ database_port }}"
|
||||||
ceilometer_database_address: "{{ ceilometer_database_address_mappings[ceilometer_database_type] }}"
|
|
||||||
|
|
||||||
|
|
||||||
####################
|
####################
|
||||||
|
@ -49,6 +49,3 @@
|
|||||||
- ceilometer_database_type == "mysql"
|
- ceilometer_database_type == "mysql"
|
||||||
|
|
||||||
- include: bootstrap_service.yml
|
- include: bootstrap_service.yml
|
||||||
when:
|
|
||||||
- ceilometer_database_type == "mysql"
|
|
||||||
- database.created
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
environment:
|
environment:
|
||||||
KOLLA_BOOTSTRAP:
|
KOLLA_BOOTSTRAP:
|
||||||
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
|
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
|
||||||
|
CEILOMETER_DATABASE_TYPE: "{{ ceilometer_database_type }}"
|
||||||
image: "{{ ceilometer_api_image_full }}"
|
image: "{{ ceilometer_api_image_full }}"
|
||||||
labels:
|
labels:
|
||||||
BOOTSTRAP:
|
BOOTSTRAP:
|
||||||
|
@ -5,6 +5,11 @@ log_dir = /var/log/kolla/ceilometer
|
|||||||
|
|
||||||
transport_url = rabbit://{% for host in groups['rabbitmq'] %}{{ rabbitmq_user }}:{{ rabbitmq_password }}@{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ rabbitmq_port }}{% if not loop.last %},{% endif %}{% endfor %}
|
transport_url = rabbit://{% for host in groups['rabbitmq'] %}{{ rabbitmq_user }}:{{ rabbitmq_password }}@{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ rabbitmq_port }}{% if not loop.last %},{% endif %}{% endfor %}
|
||||||
|
|
||||||
|
{% if ceilometer_database_type == 'gnocchi' %}
|
||||||
|
meter_dispatchers = gnocchi
|
||||||
|
event_dispatchers = gnocchi
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
[api]
|
[api]
|
||||||
port = {{ ceilometer_api_port }}
|
port = {{ ceilometer_api_port }}
|
||||||
host = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
host = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
||||||
@ -13,11 +18,11 @@ host = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['addr
|
|||||||
|
|
||||||
[database]
|
[database]
|
||||||
{% if ceilometer_database_type == "mongodb" %}
|
{% if ceilometer_database_type == "mongodb" %}
|
||||||
event_connection = mongodb://{{ ceilometer_database_user }}:{{ ceilometer_database_password }}@{{ ceilometer_database_address }}/{{ ceilometer_database_name }}
|
event_connection = mongodb://{{ ceilometer_database_user }}:{{ ceilometer_database_password }}@{{ ceilometer_database_mongodb_address }}/{{ ceilometer_database_name }}
|
||||||
metering_connection = mongodb://{{ ceilometer_database_user }}:{{ ceilometer_database_password }}@{{ ceilometer_database_address }}/{{ ceilometer_database_name }}
|
metering_connection = mongodb://{{ ceilometer_database_user }}:{{ ceilometer_database_password }}@{{ ceilometer_database_mongodb_address }}/{{ ceilometer_database_name }}
|
||||||
{% elif ceilometer_database_type == "mysql" %}
|
{% elif ceilometer_database_type == "mysql" %}
|
||||||
event_connection = mysql+pymysql://{{ ceilometer_database_user }}:{{ ceilometer_database_password }}@{{ ceilometer_database_address }}/{{ ceilometer_database_name }}
|
event_connection = mysql+pymysql://{{ ceilometer_database_user }}:{{ ceilometer_database_password }}@{{ ceilometer_database_mysql_address }}/{{ ceilometer_database_name }}
|
||||||
metering_connection = mysql+pymysql://{{ ceilometer_database_user }}:{{ ceilometer_database_password }}@{{ ceilometer_database_address }}/{{ ceilometer_database_name }}
|
metering_connection = mysql+pymysql://{{ ceilometer_database_user }}:{{ ceilometer_database_password }}@{{ ceilometer_database_mysql_address }}/{{ ceilometer_database_name }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
[keystone_authtoken]
|
[keystone_authtoken]
|
||||||
@ -43,3 +48,10 @@ project_name = service
|
|||||||
project_domain_id = default
|
project_domain_id = default
|
||||||
user_domain_id = default
|
user_domain_id = default
|
||||||
auth_type = password
|
auth_type = password
|
||||||
|
|
||||||
|
{% if ceilometer_database_type == 'gnocchi' %}
|
||||||
|
[dispatcher_gnocchi]
|
||||||
|
filter_service_activity = False
|
||||||
|
url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ gnocchi_api_port }}
|
||||||
|
archive_policy = low
|
||||||
|
{% endif %}
|
||||||
|
@ -3,7 +3,16 @@
|
|||||||
# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
|
# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
|
||||||
# of the KOLLA_BOOTSTRAP variable being set, including empty.
|
# of the KOLLA_BOOTSTRAP variable being set, including empty.
|
||||||
if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
|
if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
|
||||||
sudo -H -u ceilometer ceilometer-upgrade --skip-gnocchi-resource-types
|
if [[ "${CEILOMETER_DATABASE_TYPE}" == "mysql" ]]; then
|
||||||
|
sudo -H -u ceilometer ceilometer-upgrade --skip-gnocchi-resource-types
|
||||||
|
elif [[ "${CEILOMETER_DATABASE_TYPE}" == "gnocchi" ]]; then
|
||||||
|
sudo -H -u ceilometer ceilometer-upgrade --skip-metering-database --skip-event-database
|
||||||
|
elif [[ "${CEILOMETER_DATABASE_TYPE}" == "mongodb" ]]; then
|
||||||
|
echo "Ceilometer doesn't need to initialize a database when MongoDB is configured as the database backend."
|
||||||
|
else
|
||||||
|
echo "Unsupported database type: ${CEILOMETER_DATABASE_TYPE}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
sudo chown -R ceilometer: /var/lib/ceilometer/
|
sudo chown -R ceilometer: /var/lib/ceilometer/
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
@ -26,10 +26,10 @@ MAINTAINER {{ maintainer }}
|
|||||||
ADD ceilometer-base-archive /ceilometer-base-source
|
ADD ceilometer-base-archive /ceilometer-base-source
|
||||||
RUN ln -s ceilometer-base-source/* ceilometer \
|
RUN ln -s ceilometer-base-source/* ceilometer \
|
||||||
&& useradd --user-group ceilometer \
|
&& useradd --user-group ceilometer \
|
||||||
&& /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /ceilometer pymongo \
|
&& /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /ceilometer[gnocchi,mongo,mysql] \
|
||||||
&& mkdir -p /etc/ceilometer /var/log/ceilometer /home/ceilometer \
|
&& mkdir -p /etc/ceilometer /var/lib/ceilometer /home/ceilometer \
|
||||||
&& cp -r /ceilometer/etc/ceilometer/* /etc/ceilometer/ \
|
&& cp -r /ceilometer/etc/ceilometer/* /etc/ceilometer/ \
|
||||||
&& chown -R ceilometer: /etc/ceilometer /var/log/ceilometer /home/ceilometer \
|
&& chown -R ceilometer: /etc/ceilometer /var/lib/ceilometer /home/ceilometer \
|
||||||
&& sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/kolla/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/ceilometer/rootwrap.conf
|
&& sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/kolla/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/ceilometer/rootwrap.conf
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -189,7 +189,7 @@ kolla_internal_vip_address: "10.10.10.254"
|
|||||||
#######################
|
#######################
|
||||||
# Ceilometer options
|
# Ceilometer options
|
||||||
#######################
|
#######################
|
||||||
# Valid options are [ mongodb, mysql ]
|
# Valid options are [ mongodb, mysql, gnocchi ]
|
||||||
#ceilometer_database_type: "mongodb"
|
#ceilometer_database_type: "mongodb"
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user