Fix linters and metadata

With update of ansible-lint to version >=6.0.0 a lot of new
linters were added, that enabled by default. In order to comply
with linter rules we're applying changes to the role.

With that we also update metdata to reflect current state.

Depends-On: https://review.opendev.org/c/openstack/ansible-role-systemd_service/+/888223
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/888517
Change-Id: I32efef68c8ade24fb164f2cfcecd8e7147bf5f0e
This commit is contained in:
Dmitriy Rabotyagov 2023-07-13 17:01:03 +02:00 committed by Dmitriy Rabotyagov
parent bfca55e20d
commit 17fc5d6465
10 changed files with 149 additions and 119 deletions

View File

@ -20,7 +20,11 @@ debug: False
# for the service setup. The host must already have
# clouds.yaml properly configured.
ceilometer_service_setup_host: "{{ openstack_service_setup_host | default('localhost') }}"
ceilometer_service_setup_host_python_interpreter: "{{ openstack_service_setup_host_python_interpreter | default((ceilometer_service_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_facts['python']['executable'])) }}"
ceilometer_service_setup_host_python_interpreter: >-
{{
openstack_service_setup_host_python_interpreter | default(
(ceilometer_service_setup_host == 'localhost') | ternary(ansible_playbook_python, ansible_facts['python']['executable']))
}}
# Set the package install state for distribution packages
# Options are 'present' and 'latest'
@ -35,7 +39,8 @@ ceilometer_git_repo: https://opendev.org/openstack/ceilometer
ceilometer_git_install_branch: master
## The packages to build from source
ceilometer_upper_constraints_url: "{{ requirements_git_url | default('https://releases.openstack.org/constraints/upper/' ~ requirements_git_install_branch | default('master')) }}"
ceilometer_upper_constraints_url: >-
{{ requirements_git_url | default('https://releases.openstack.org/constraints/upper/' ~ requirements_git_install_branch | default('master')) }}
ceilometer_git_constraints:
- "--constraint {{ ceilometer_upper_constraints_url }}"
@ -67,7 +72,8 @@ ceilometer_oslomsg_rpc_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}
# Notify
ceilometer_oslomsg_notify_host_group: "{{ oslomsg_notify_host_group | default('rabbitmq_all') }}"
ceilometer_oslomsg_notify_setup_host: "{{ (ceilometer_oslomsg_notify_host_group in groups) | ternary(groups[ceilometer_oslomsg_notify_host_group][0], 'localhost') }}"
ceilometer_oslomsg_notify_setup_host: >-
{{ (ceilometer_oslomsg_notify_host_group in groups) | ternary(groups[ceilometer_oslomsg_notify_host_group][0], 'localhost') }}
ceilometer_oslomsg_notify_transport: "{{ oslomsg_notify_transport | default('rabbit') }}"
ceilometer_oslomsg_notify_port: "{{ oslomsg_notify_port | default('5672') }}"
ceilometer_oslomsg_notify_use_ssl: "{{ oslomsg_notify_use_ssl | default(False) }}"
@ -201,7 +207,7 @@ trove_oslomsg_notify_ssl_ca_file: "{{ oslomsg_rpc_ssl_ca_file | default('') }}"
# TODO(ansmith): Change structure when more backends will be supported
ceilometer_oslomsg_amqp1_enabled: "{{ ceilometer_oslomsg_rpc_transport == 'amqp' }}"
#Ceilometer services info
# Ceilometer services info
ceilometer_role_name: admin
## Service Type and Data
@ -217,7 +223,8 @@ ceilometer_service_in_ldap: "{{ service_ldap_backend_enabled | default(False) }}
## Ceilometer config
# Cap the maximum number of threads / workers when a user value is unspecified
ceilometer_notification_workers_max: 16
ceilometer_notification_workers: "{{ [[ansible_facts['processor_vcpus']|default(2) // 2, 1] | max, ceilometer_notification_workers_max] | min }}"
ceilometer_notification_workers: >-
{{ [[ansible_facts['processor_vcpus'] | default(2) // 2, 1] | max, ceilometer_notification_workers_max] | min }}
# Enable/Disable Ceilometer per service
cinder_ceilometer_enabled: "{{ (groups['cinder_all'] is defined) and (groups['cinder_all'] | length > 0) }}"
@ -294,7 +301,7 @@ ceilometer_required_secrets:
- ceilometer_oslomsg_notify_password
- ceilometer_service_password
#: Tunable file-based overrides
## Tunable file-based overrides
# The contents of these files, if they exist, are read from the
# specified path on the deployment host, interpreted by the
# template engine and copied to the target host. If they do

View File

@ -18,19 +18,21 @@ galaxy_info:
description: Installation and setup of ceilometer
company: Rackspace
license: Apache2
min_ansible_version: 2.2
role_name: os_ceilometer
namespace: openstack
min_ansible_version: "2.10"
platforms:
- name: Debian
versions:
- buster
- bullseye
- name: Ubuntu
versions:
- bionic
- focal
- jammy
- name: EL
versions:
- 8
categories:
- "9"
galaxy_tags:
- cloud
- python
- ceilometer

View File

@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: check for gnocchi resource file
- name: Check for gnocchi resource file
stat:
path: "{{ ceilometer_lib_dir }}/ceilometer/publisher/data/gnocchi_resources.yaml"
register: gnocchi_resource_file

View File

@ -19,6 +19,7 @@
section: "ceilometer"
option: "install_method"
value: "{{ ceilometer_install_method }}"
mode: "0644"
- name: Refresh local facts to ensure the ceilometer section is present
setup:
@ -57,7 +58,12 @@
venv_install_destination_path: "{{ ceilometer_bin | dirname }}"
venv_install_distro_package_list: "{{ ceilometer_distro_packages }}"
venv_pip_install_args: "{{ ceilometer_pip_install_args }}"
venv_pip_packages: "{{ (ceilometer_oslomsg_amqp1_enabled | bool) | ternary(ceilometer_pip_packages + ceilometer_optional_oslomsg_amqp1_pip_packages + ceilometer_extra_pip_packages | default([]), ceilometer_pip_packages + ceilometer_extra_pip_packages | default([])) }}"
venv_pip_packages: >-
{{
(ceilometer_oslomsg_amqp1_enabled | bool) | ternary(
ceilometer_pip_packages + ceilometer_optional_oslomsg_amqp1_pip_packages + ceilometer_extra_pip_packages | default([]),
ceilometer_pip_packages + ceilometer_extra_pip_packages | default([]))
}}
venv_packages_to_symlink: "{{ ceilometer_packages_to_symlink }}"
venv_facts_when_changed:
- section: "ceilometer"

View File

@ -25,7 +25,7 @@
- name: Copy ceilometer configuration files
openstack.config_template.config_template:
content: "{{ item.content | default(omit) }}"
src: "{{ item.src | default(omit) }}"
src: "{{ item.src | default(omit) }}"
dest: "{{ item.dest }}"
owner: "{{ item.owner | default(ceilometer_system_user_name) }}"
group: "{{ item.group | default(ceilometer_system_group_name) }}"

View File

@ -68,8 +68,8 @@
src: "{{ item.src | default(omit) }}"
dest: "{{ item.dest | default(omit) }}"
state: "{{ item.state | default('directory') }}"
owner: "{{ item.owner|default(ceilometer_system_user_name) }}"
group: "{{ item.group|default(ceilometer_system_group_name) }}"
owner: "{{ item.owner | default(ceilometer_system_user_name) }}"
group: "{{ item.group | default(ceilometer_system_group_name) }}"
mode: "{{ item.mode | default(omit) }}"
force: "{{ item.force | default(omit) }}"
when:

View File

@ -51,15 +51,18 @@
tags:
- always
- import_tasks: ceilometer_pre_install.yml
- name: Importing ceilometer_pre_install tasks
import_tasks: ceilometer_pre_install.yml
tags:
- ceilometer-install
- import_tasks: ceilometer_install.yml
- name: Importing ceilometer_install tasks
import_tasks: ceilometer_install.yml
tags:
- ceilometer-install
- import_tasks: ceilometer_post_install.yml
- name: Importing ceilometer_post_install tasks
import_tasks: ceilometer_post_install.yml
tags:
- ceilometer-config
@ -72,10 +75,10 @@
systemd_tempd_prefix: openstack
systemd_slice_name: ceilometer
systemd_lock_path: /var/lock/ceilometer
systemd_CPUAccounting: true
systemd_BlockIOAccounting: true
systemd_MemoryAccounting: true
systemd_TasksAccounting: true
systemd_service_cpu_accounting: true
systemd_service_block_io_accounting: true
systemd_service_memory_accounting: true
systemd_service_tasks_accounting: true
systemd_services: |-
{% set services = [] %}
{% for service in ceilometer_services.values() %}
@ -95,7 +98,8 @@
- ceilometer-config
- systemd-service
- include_role:
- name: Including osa.service_setup role
include_role:
name: openstack.osa.service_setup
apply:
tags:
@ -117,7 +121,8 @@
tags:
- always
- include_role:
- name: Including osa.mq_setup role
include_role:
name: openstack.osa.mq_setup
apply:
tags:
@ -139,7 +144,8 @@
tags:
- always
- import_tasks: ceilometer_db_setup.yml
- name: Importing ceilometer_db_setup tasks
import_tasks: ceilometer_db_setup.yml
when:
- _ceilometer_is_first_play_host
tags:

View File

@ -14,7 +14,7 @@
# limitations under the License.
ceilometer_package_list: |-
{% set packages = (ceilometer_distro_packages + ceilometer_service_distro_packages) %}
{% set packages = ceilometer_distro_packages + ceilometer_service_distro_packages %}
{% if ceilometer_oslomsg_amqp1_enabled | bool %}
{% set _ = packages.extend(ceilometer_oslomsg_amqp1_distro_packages) %}
{% endif %}

View File

@ -32,7 +32,12 @@ _ceilometer_polling_namespaces: |
{% endif %}
{{ _polling_namespaces }}
_ceilometer_is_first_play_host: "{{ (ceilometer_services['ceilometer-agent-notification']['group'] | intersect(group_names) | length > 0) and (inventory_hostname == groups[ceilometer_services['ceilometer-agent-notification']['group'] | intersect(group_names) | first] | intersect(ansible_play_hosts) | first) }}"
_ceilometer_is_first_play_host: >-
{{
(ceilometer_services['ceilometer-agent-notification']['group'] | intersect(group_names) | length > 0) and
(inventory_hostname == groups[ceilometer_services['ceilometer-agent-notification']['group'] | intersect(group_names) | first] | intersect(
ansible_play_hosts) | first)
}}
_ceilometer_rootwrap_conf_overrides:
DEFAULT:
@ -41,96 +46,96 @@ _ceilometer_rootwrap_conf_overrides:
_ceilometer_pipeline_yaml_overrides:
sources:
- name: meter_source
interval: "{{ ceilometer_meter_sample_interval }}"
meters:
- "*"
sinks:
- meter_sink
- name: cpu_source
interval: "{{ ceilometer_cpu_source_sample_interval }}"
meters:
- "cpu"
sinks:
- cpu_sink
- cpu_delta_sink
- name: disk_source
interval: "{{ ceilometer_disk_source_sample_interval }}"
meters:
- "disk.read.bytes"
- "disk.read.requests"
- "disk.write.bytes"
- "disk.write.requests"
- "disk.device.read.bytes"
- "disk.device.read.requests"
- "disk.device.write.bytes"
- "disk.device.write.requests"
sinks:
- disk_sink
- name: network_source
interval: "{{ ceilometer_network_source_sample_interval }}"
meters:
- "network.incoming.bytes"
- "network.incoming.packets"
- "network.outgoing.bytes"
- "network.outgoing.packets"
sinks:
- network_sink
- name: meter_source
interval: "{{ ceilometer_meter_sample_interval }}"
meters:
- "*"
sinks:
- meter_sink
- name: cpu_source
interval: "{{ ceilometer_cpu_source_sample_interval }}"
meters:
- "cpu"
sinks:
- cpu_sink
- cpu_delta_sink
- name: disk_source
interval: "{{ ceilometer_disk_source_sample_interval }}"
meters:
- "disk.read.bytes"
- "disk.read.requests"
- "disk.write.bytes"
- "disk.write.requests"
- "disk.device.read.bytes"
- "disk.device.read.requests"
- "disk.device.write.bytes"
- "disk.device.write.requests"
sinks:
- disk_sink
- name: network_source
interval: "{{ ceilometer_network_source_sample_interval }}"
meters:
- "network.incoming.bytes"
- "network.incoming.packets"
- "network.outgoing.bytes"
- "network.outgoing.packets"
sinks:
- network_sink
sinks:
- name: meter_sink
transformers:
publishers:
- gnocchi://
- name: cpu_sink
transformers:
- name: "rate_of_change"
parameters:
target:
name: "cpu_util"
unit: "%"
type: "gauge"
scale: "100.0 / (10**9 * (resource_metadata.cpu_number or 1))"
publishers:
- gnocchi://
- name: cpu_delta_sink
transformers:
- name: "delta"
parameters:
target:
name: "cpu.delta"
growth_only: True
publishers:
- gnocchi://
- name: disk_sink
transformers:
- name: "rate_of_change"
parameters:
source:
map_from:
name: "(disk\\.device|disk)\\.(read|write)\\.(bytes|requests)"
unit: "(B|request)"
target:
map_to:
name: "\\1.\\2.\\3.rate"
unit: "\\1/s"
type: "gauge"
publishers:
- gnocchi://
- name: network_sink
transformers:
- name: "rate_of_change"
parameters:
source:
map_from:
name: "network\\.(incoming|outgoing)\\.(bytes|packets)"
unit: "(B|packet)"
target:
map_to:
name: "network.\\1.\\2.rate"
unit: "\\1/s"
type: "gauge"
publishers:
- gnocchi://
- name: meter_sink
transformers:
publishers:
- gnocchi://
- name: cpu_sink
transformers:
- name: "rate_of_change"
parameters:
target:
name: "cpu_util"
unit: "%"
type: "gauge"
scale: "100.0 / (10**9 * (resource_metadata.cpu_number or 1))"
publishers:
- gnocchi://
- name: cpu_delta_sink
transformers:
- name: "delta"
parameters:
target:
name: "cpu.delta"
growth_only: True
publishers:
- gnocchi://
- name: disk_sink
transformers:
- name: "rate_of_change"
parameters:
source:
map_from:
name: "(disk\\.device|disk)\\.(read|write)\\.(bytes|requests)"
unit: "(B|request)"
target:
map_to:
name: "\\1.\\2.\\3.rate"
unit: "\\1/s"
type: "gauge"
publishers:
- gnocchi://
- name: network_sink
transformers:
- name: "rate_of_change"
parameters:
source:
map_from:
name: "network\\.(incoming|outgoing)\\.(bytes|packets)"
unit: "(B|packet)"
target:
map_to:
name: "network.\\1.\\2.rate"
unit: "\\1/s"
type: "gauge"
publishers:
- gnocchi://
ceilometer_core_files:
- tmp_f: "/tmp/rootwrap.conf"
@ -142,7 +147,11 @@ ceilometer_core_files:
mode: "0640"
- tmp_f: "{{ (ceilometer_pipeline_user_content | length > 0) | ternary(false, '/tmp/pipeline.yaml') }}"
source_f: "{{ ceilometer_lib_dir }}/ceilometer/pipeline/data/pipeline.yaml"
config_overrides: "{{ (ceilometer_pipeline_user_content | length > 0) | ternary(_ceilometer_pipeline_yaml_overrides | combine(ceilometer_pipeline_yaml_overrides, recursive=True), ceilometer_pipeline_yaml_overrides) }}"
config_overrides: >-
{{
(ceilometer_pipeline_user_content | length > 0) | ternary(
_ceilometer_pipeline_yaml_overrides | combine(ceilometer_pipeline_yaml_overrides, recursive=True), ceilometer_pipeline_yaml_overrides)
}}
config_type: "yaml"
list_extend: false
content: "{{ ceilometer_pipeline_user_content }}"

View File

@ -14,7 +14,7 @@
# limitations under the License.
ceilometer_package_list: |-
{% set packages = (ceilometer_distro_packages) %}
{% set packages = ceilometer_distro_packages %}
{% if ceilometer_oslomsg_amqp1_enabled | bool %}
{% set _ = packages.extend(ceilometer_oslomsg_amqp1_distro_packages) %}
{% endif %}