Skip to content

Commit

Permalink
scylla-node: introduce a scylla_node_exporter_params
Browse files Browse the repository at this point in the history
This new parameter allows setting up a custom configuration for a Scylla Node Exporter service.

Signed-off-by: Vlad Zolotarov <[email protected]>
  • Loading branch information
vladzcloudius committed Mar 15, 2024
1 parent b240c03 commit 34231a5
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 6 deletions.
4 changes: 4 additions & 0 deletions ansible-scylla-node/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -510,3 +510,7 @@ sysctl:
value: '1'
# - name: 'net.ipv4.tcp_tw_recycle'
# value: '1'

# Scylla Node Exported configuration that will be configured in the corresponding EnvFile. If not defined the default
# scylla-node-exporter/scylla-enterprise-node-exporter package configuration will be used.
# scylla_node_exporter_params: "--collector.interrupts --collector.netdev.address-info"
40 changes: 34 additions & 6 deletions ansible-scylla-node/tasks/common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -166,14 +166,42 @@
ignore_errors: true
#TODO: stop ignoring errors when the node_exporter_install script fix is available in all actual versions, resp. use only for < 5.0 / 2022

- name: Re-populate package facts
package_facts:
manager: auto

- name: node exporter setup from 5.0/2022
service:
name: scylla-node-exporter
state: started
enabled: yes
block:
- name: Start scylla-node-exporter service
service:
name: scylla-node-exporter
state: started
enabled: yes
register: _scylla_node_exporter_status

- name: Set custom scylla-node-exporter service configuration
block:
- name: Get {{ scylla_package_prefix }}-node-exporter environment configuration file name
set_fact:
# 'EnvironmentFiles' has the following format: '<file name> (ignore_errors=[yes|no])'
_scylla_node_exporter_env_config_file: "{{ _scylla_node_exporter_status.status.EnvironmentFiles.split(' ')[0] }}"

- name: Set a custom configuration in {{ _scylla_node_exporter_env_config_file | default('a scylla-node-exporter configuration file') }}
template:
src: templates/scylla-node-exporter.j2
dest: "{{ _scylla_node_exporter_env_config_file }}"
owner: root
group: root
mode: '0644'

- name: Restart scylla-node-exporter service
service:
name: scylla-node-exporter
state: restarted
enabled: yes
when: scylla_node_exporter_params is defined
when: (scylla_package_prefix + '-node-exporter') in ansible_facts.packages
become: true
ignore_errors: true
#TODO: stop ignoring errors when a version check is added

- name: configure scylla.yaml
template:
Expand Down
3 changes: 3 additions & 0 deletions ansible-scylla-node/templates/scylla-node-exporter.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Configured by Ansible Scylla role

SCYLLA_NODE_EXPORTER_ARGS="{{ scylla_node_exporter_params }}"

0 comments on commit 34231a5

Please sign in to comment.