Thank you for sharing your playbook and I really appreciate your great work.
I have tried setting up a SensuGo cluster using your Ansible role ver 0.7.6.
I created the following simple playbook to confirm whether I can make a SensuGo cluster.
Target Nodes (All nodes is Ubuntu 18.04 & lxc container)
Node1: ipv4_address: 10.5.126.31, hostname: sensugo-backend-test1
Node2: ipv4_address: 10.5.126.32, hostname: sensugo-backend-test2
Node3: ipv4_address: 10.5.126.33, hostname: sensugo-backend-test3
Current Directory
.
├── backend.yml
└── hosts
hosts
[backends]
10.5.126.31
10.5.126.32
10.5.126.33
backend.yml
---
- hosts: backends
become: true
roles:
- role: sensu.sensu_go.backend
backend_config:
etcd-advertise-client-urls: "http://{{ ansible_default_ipv4.address }}:2379"
etcd-listen-client-urls: "http://{{ ansible_default_ipv4.address }}:2379"
etcd-listen-peer-urls: "http://0.0.0.0:2380"
etcd-initial-cluster: "sensugo-backend-test1=http://10.5.126.31:2380, sensugo-backend-test2=http://10.5.126.32:2380, sensugo-backend-test3=http://10.5.126.33:2380"
etcd-initial-advertise-peer-urls: "http://{{ ansible_default_ipv4.address }}:2380"
etcd-initial-cluster-state: "new"
etcd-initial-cluster-token: ""
etcd-name: "{{ ansible_hostname }}"
I ran the following command at current directory.
$ ansible-playbook -i hosts backend.yml -k -K
However, the following error occurs:
RUNNING HANDLER [backend : Restart backend] ************************************
fatal: [10.5.126.32]: FAILED! => {"changed": false, "msg": "Unable to restart service sensu-backend: Job for sensu-backend.service failed.\nSee \"systemctl status sensu-backend.service\" and \"journalctl -xe\" for details.\n"}
fatal: [10.5.126.33]: FAILED! => {"changed": false, "msg": "Unable to restart service sensu-backend: Job for sensu-backend.service failed.\nSee \"systemctl status sensu-backend.service\" and \"journalctl -xe\" for details.\n"}
sensu-backend seems to work only on sensugo-backend-test1
root@sensugo-backend-test1:~# service sensu-backend status
● sensu-backend.service - The Sensu Backend service.
Loaded: loaded (/lib/systemd/system/sensu-backend.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2019-11-08 11:39:32 UTC; 1s ago
root@sensugo-backend-test2:~# service sensu-backend status
● sensu-backend.service - The Sensu Backend service.
Loaded: loaded (/lib/systemd/system/sensu-backend.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2019-11-08 11:38:51 UTC; 18s ago
I saw each error logs by journalctl.
Nov 08 11:39:37 sensugo-backend-test1 sensu-backend[3698]: {"component":"etcd","level":"warning","msg":"health check for peer 6fa8bca0452c40e1 could not connect: dial tcp 10.5.126.32:2380: connect: connection refused (prober \"ROUND_TRIP
Nov 08 11:39:37 sensugo-backend-test1 sensu-backend[3698]: {"component":"etcd","level":"warning","msg":"health check for peer 9d4769c999212de8 could not connect: dial tcp 10.5.126.33:2380: connect: connection refused (prober \"ROUND_TRIP
Nov 08 11:39:39 sensugo-backend-test1 sensu-backend[3698]: {"component":"etcd","level":"error","msg":"publish error: etcdserver: request timed out","pkg":"etcdserver","time":"2019-11-08T11:39:39Z"}
Nov 08 11:38:51 sensugo-backend-test2 sensu-backend[1247]: {"component":"sensu-enterprise","error":"error starting etcd: couldn't find local name \"sensugo-backend-test2\" in the initial cluster configuration","level":"fatal","msg":"error executing sensu-backend","time":"2019-11-08T11:38:51Z"}
sensugo-backend-test3 is the same logs as sensugo-backend-test2.
Each configuration file generated by Ansible is as follows:
state-dir: "/var/lib/sensu/sensu-backend"
etcd-advertise-client-urls: http://10.5.126.31:2379
etcd-initial-advertise-peer-urls: http://10.5.126.31:2380
etcd-initial-cluster: sensugo-backend-test1=http://10.5.126.31:2380, sensugo-backend-test2=http://10.5.126.32:2380,sensugo-backend-test3=http://10.5.126.33:2380
etcd-initial-cluster-state: new
etcd-initial-cluster-token: ''
etcd-listen-client-urls: http://10.5.126.31:2379
etcd-listen-peer-urls: http://0.0.0.0:2380
etcd-name: sensugo-backend-test1
state-dir: "/var/lib/sensu/sensu-backend"
etcd-advertise-client-urls: http://10.5.126.32:2379
etcd-initial-advertise-peer-urls: http://10.5.126.32:2380
etcd-initial-cluster: sensugo-backend-test1=http://10.5.126.31:2380, sensugo-backend-test2=http://10.5.126.32:2380,sensugo-backend-test3=http://10.5.126.33:2380
etcd-initial-cluster-state: new
etcd-initial-cluster-token: ''
etcd-listen-client-urls: http://10.5.126.32:2379
etcd-listen-peer-urls: http://0.0.0.0:2380
etcd-name: sensugo-backend-test2
state-dir: "/var/lib/sensu/sensu-backend"
etcd-advertise-client-urls: http://10.5.126.33:2379
etcd-initial-advertise-peer-urls: http://10.5.126.33:2380
etcd-initial-cluster: sensugo-backend-test1=http://10.5.126.31:2380, sensugo-backend-test2=http://10.5.126.32:2380,sensugo-backend-test3=http://10.5.126.33:2380
etcd-initial-cluster-state: new
etcd-initial-cluster-token: ''
etcd-listen-client-urls: http://10.5.126.33:2379
etcd-listen-peer-urls: http://0.0.0.0:2380
etcd-name: sensugo-backend-test3
I feel that there is no problem with the configuration files.
I have no idea what caused this failure.
By the way, in the case of one sensu-backend, it works without problems.
I would appreciate any advice on this issue.
Thank you for reading.