All Graylog units are configured as "master"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Graylog Charm |
Fix Released
|
High
|
Jose Guedez |
Bug Description
All units are deployed as "master", since the default per the documentation is "is_master = true" (https:/
Looks like the configuration is only being updated when the unit is master. When the unit is not the master the configuration is not updated, and the commented out line remains. This makes it a master because that is the default.
Details below for a multi-unit deploy:
#### graylog/0 (leader)
root@juju-
is_master = True
#### graylog/2 (not-leader)
root@juju-
#is_master = true
The WebUI has a critical notification with the following message:
Multiple Graylog server masters in the cluster
There were multiple Graylog server instances configured as master in your Graylog
cluster. The cluster handles this automatically by launching new nodes as slaves
if there already is a master but you should still fix this. Check the
graylog.conf of every node and make sure that only one instance has is_master
set to true. Close this notification if you think you resolved the problem. It
will pop back up if you start a second master node again.
Related branches
- Jeremy Lounder (community): Approve
- Joe Guo (community): Approve
-
Diff: 78 lines (+26/-2)2 files modifiedreactive/graylog.py (+8/-2)
unit_tests/test_graylog.py (+18/-0)
Changed in charm-graylog: | |
assignee: | nobody → Jose Guedez (jfguedez) |
status: | New → Confirmed |
importance: | Undecided → High |
status: | Confirmed → In Progress |
Changed in charm-graylog: | |
milestone: | none → 20.05 |
Changed in charm-graylog: | |
status: | In Progress → Fix Released |
The issue is in set_conf. All "falsy" values are ignored during configuration updated. Looks like the idea is to use the empty string to remove/comment out settings, but it is picking up boolean False as well.
Other that doing some "type" checking, we can explicitly check for an empty string here instead.