Page MenuHomePhabricator

Increase Elastic master-eligible nodes from 3 to 5
Closed, ResolvedPublic2 Estimated Story Points

Description

As mentioned in T313095 , we lost a master due to hardware failure, and then a second master during a routine reimage operation.

While there was no user impact, we believe that increasing the number of Elastic master-eligible nodes from 3 to 5 will reduce the likelihood of these types of failures without significantly affecting performance or operational complexity.

We should also choose newer chassis as our master eligibles, as many of the current master-eligibles are slated for a hardware refresh

Event Timeline

Change 830245 had a related patch set uploaded (by Bking; author: Bking):

[operations/puppet@production] elastic: Increase no of master-eligibles in codfw

https://gerrit.wikimedia.org/r/830245

Change 830245 merged by Bking:

[operations/puppet@production] elastic: Increase # of master-eligibles in codfw

https://gerrit.wikimedia.org/r/830245

Mentioned in SAL (#wikimedia-operations) [2022-09-06T20:03:29Z] <inflatador> 'bking@cumin1001 disabling puppet on elastic codfw hosts T313431'

Change 830261 had a related patch set uploaded (by Bking; author: Bking):

[operations/puppet@production] elastic: reduce master-eligibles for codfw back down to 2

https://gerrit.wikimedia.org/r/830261

Change 830261 merged by Bking:

[operations/puppet@production] elastic: reduce master-eligibles for codfw back down to 2

https://gerrit.wikimedia.org/r/830261

ryankemper@mwmaint1002:~/elastic$ cat psi_codfw_masters.lst
elastic2054.codfw.wmnet:9700
elastic2076.codfw.wmnet:9700
elastic2080.codfw.wmnet:9700
ryankemper@mwmaint1002:~/elastic$ python push_cross_cluster_conf.py https://search.svc.codfw.wmnet:9643/_cluster/settings --ccc chi=chi_codfw_masters.lst psi=psi_codfw_masters.lst omega=omega_codfw_masters.lst
seeds=['elastic2025.codfw.wmnet:9300', 'elastic2031.codfw.wmnet:9300', 'elastic2042.codfw.wmnet:9300']
to_ret={'chi': {'seeds': ['elastic2025.codfw.wmnet:9300', 'elastic2031.codfw.wmnet:9300', 'elastic2042.codfw.wmnet:9300']}}
seeds=['elastic2054.codfw.wmnet:9700', 'elastic2076.codfw.wmnet:9700', 'elastic2080.codfw.wmnet:9700']
to_ret={'psi': {'seeds': ['elastic2054.codfw.wmnet:9700', 'elastic2076.codfw.wmnet:9700', 'elastic2080.codfw.wmnet:9700']}}
seeds=['elastic2042.codfw.wmnet:9500', 'elastic2047.codfw.wmnet:9500', 'elastic2052.codfw.wmnet:9500']
to_ret={'omega': {'seeds': ['elastic2042.codfw.wmnet:9500', 'elastic2047.codfw.wmnet:9500', 'elastic2052.codfw.wmnet:9500']}}

Set new seeds for psi to resolve elasticsearch settings alert.

(We'll need to re-do this step w/ the new new values when we expand up to 5 masters today)

Change 830923 had a related patch set uploaded (by Bking; author: Bking):

[operations/puppet@production] Revert "elastic: reduce master-eligibles for codfw back down to 2"

https://gerrit.wikimedia.org/r/830923

ryankemper@mwmaint1002:~/elastic$ cat psi_codfw_masters.lst
elastic2054.codfw.wmnet:9700
elastic2076.codfw.wmnet:9700
elastic2080.codfw.wmnet:9700
ryankemper@mwmaint1002:~/elastic$ python push_cross_cluster_conf.py https://search.svc.codfw.wmnet:9643/_cluster/settings --ccc chi=chi_codfw_masters.lst psi=psi_codfw_masters.lst omega=omega_codfw_masters.lst
seeds=['elastic2025.codfw.wmnet:9300', 'elastic2031.codfw.wmnet:9300', 'elastic2042.codfw.wmnet:9300']
to_ret={'chi': {'seeds': ['elastic2025.codfw.wmnet:9300', 'elastic2031.codfw.wmnet:9300', 'elastic2042.codfw.wmnet:9300']}}
seeds=['elastic2054.codfw.wmnet:9700', 'elastic2076.codfw.wmnet:9700', 'elastic2080.codfw.wmnet:9700']
to_ret={'psi': {'seeds': ['elastic2054.codfw.wmnet:9700', 'elastic2076.codfw.wmnet:9700', 'elastic2080.codfw.wmnet:9700']}}
seeds=['elastic2042.codfw.wmnet:9500', 'elastic2047.codfw.wmnet:9500', 'elastic2052.codfw.wmnet:9500']
to_ret={'omega': {'seeds': ['elastic2042.codfw.wmnet:9500', 'elastic2047.codfw.wmnet:9500', 'elastic2052.codfw.wmnet:9500']}}

Set new seeds for psi to resolve elasticsearch settings alert.

(We'll need to re-do this step w/ the new new values when we expand up to 5 masters today)

Needed to run on the other two clusters, so I just did that:

ryankemper@mwmaint1002:~/elastic$ python push_cross_cluster_conf.py https://search.svc.codfw.wmnet:9443/_cluster/settings --ccc chi=chi_codfw_masters.lst psi=psi_codfw_masters.lst omega=omega_codfw_masters.lst
seeds=['elastic2025.codfw.wmnet:9300', 'elastic2031.codfw.wmnet:9300', 'elastic2042.codfw.wmnet:9300']
to_ret={'chi': {'seeds': ['elastic2025.codfw.wmnet:9300', 'elastic2031.codfw.wmnet:9300', 'elastic2042.codfw.wmnet:9300']}}
seeds=['elastic2054.codfw.wmnet:9700', 'elastic2076.codfw.wmnet:9700', 'elastic2080.codfw.wmnet:9700']
to_ret={'psi': {'seeds': ['elastic2054.codfw.wmnet:9700', 'elastic2076.codfw.wmnet:9700', 'elastic2080.codfw.wmnet:9700']}}
seeds=['elastic2042.codfw.wmnet:9500', 'elastic2047.codfw.wmnet:9500', 'elastic2052.codfw.wmnet:9500']
to_ret={'omega': {'seeds': ['elastic2042.codfw.wmnet:9500', 'elastic2047.codfw.wmnet:9500', 'elastic2052.codfw.wmnet:9500']}}
ryankemper@mwmaint1002:~/elastic$ python push_cross_cluster_conf.py https://search.svc.codfw.wmnet:9243/_cluster/settings --ccc chi=chi_codfw_masters.lst psi=psi_codfw_masters.lst omega=omega_codfw_masters.lst
seeds=['elastic2025.codfw.wmnet:9300', 'elastic2031.codfw.wmnet:9300', 'elastic2042.codfw.wmnet:9300']
to_ret={'chi': {'seeds': ['elastic2025.codfw.wmnet:9300', 'elastic2031.codfw.wmnet:9300', 'elastic2042.codfw.wmnet:9300']}}
seeds=['elastic2054.codfw.wmnet:9700', 'elastic2076.codfw.wmnet:9700', 'elastic2080.codfw.wmnet:9700']
to_ret={'psi': {'seeds': ['elastic2054.codfw.wmnet:9700', 'elastic2076.codfw.wmnet:9700', 'elastic2080.codfw.wmnet:9700']}}
seeds=['elastic2042.codfw.wmnet:9500', 'elastic2047.codfw.wmnet:9500', 'elastic2052.codfw.wmnet:9500']
to_ret={'omega': {'seeds': ['elastic2042.codfw.wmnet:9500', 'elastic2047.codfw.wmnet:9500', 'elastic2052.codfw.wmnet:9500']}}

EDIT: The above cleared the alerts:

2:29 PM RECOVERY - ElasticSearch setting check - 9400 on elastic2052 is OK: OK - All good! https://wikitech.wikimedia.org/wiki/Search%23Administration
2:29 PM RECOVERY - ElasticSearch setting check - 9200 on elastic2031 is OK: OK - All good! https://wikitech.wikimedia.org/wiki/Search%23Administration
2:29 PM RECOVERY - ElasticSearch setting check - 9200 on elastic2042 is OK: OK - All good! https://wikitech.wikimedia.org/wiki/Search%23Administration
2:29 PM RECOVERY - ElasticSearch setting check - 9200 on elastic2025 is OK: OK - All good! https://wikitech.wikimedia.org/wiki/Search%23Administration
2:29 PM RECOVERY - ElasticSearch setting check - 9400 on elastic2042 is OK: OK - All good! https://wikitech.wikimedia.org/wiki/Search%23Administration
2:29 PM RECOVERY - ElasticSearch setting check - 9400 on elastic2047 is OK: OK - All good! https://wikitech.wikimedia.org/wiki/Search%23Administration

Change 836890 had a related patch set uploaded (by Gehel; author: Gehel):

[operations/puppet@production] elasticsearch: Increase number of master-eligible nodes to 5

https://gerrit.wikimedia.org/r/836890

Change 836908 had a related patch set uploaded (by Gehel; author: Gehel):

[operations/puppet@production] elasticsearch: Increase number of master-eligible nodes to 5 for eqiad

https://gerrit.wikimedia.org/r/836908

Change 836912 had a related patch set uploaded (by Gehel; author: Gehel):

[operations/puppet@production] elasticsearch: Elasticsearch 7 does not need to specify number of masters

https://gerrit.wikimedia.org/r/836912

Change 836890 merged by Gehel:

[operations/puppet@production] elasticsearch: Increase number of master-eligible nodes to 5 for codfw

https://gerrit.wikimedia.org/r/836890

Mentioned in SAL (#wikimedia-operations) [2022-09-29T19:29:02Z] <ryankemper@cumin2002> START - Cookbook sre.hosts.downtime for 3:00:00 on 6 hosts with reason: T313431

Mentioned in SAL (#wikimedia-operations) [2022-09-29T19:29:47Z] <ryankemper@cumin2002> END (PASS) - Cookbook sre.hosts.downtime (exit_code=0) for 3:00:00 on 6 hosts with reason: T313431

Mentioned in SAL (#wikimedia-operations) [2022-09-29T19:55:49Z] <ryankemper> T313431 Restarting elasticsearch_7* services on elastic208[1,3] to pick up new master-eligible status

Mentioned in SAL (#wikimedia-operations) [2022-09-29T20:17:25Z] <ryankemper> T313431 Restarting elasticsearch_7* services on elastic2086 to pick up new master-eligible status

Mentioned in SAL (#wikimedia-operations) [2022-09-29T20:41:28Z] <ryankemper> T313431 Restarting elasticsearch_7* services on elastic2080 to pick up new master-eligible status

Mentioned in SAL (#wikimedia-operations) [2022-09-29T20:58:02Z] <ryankemper> T313431 Updated cross-cluster seed conf with new masters; should resolve the settings check alerts

Mentioned in SAL (#wikimedia-operations) [2022-09-29T20:59:21Z] <ryankemper> T313431 Repooled elastic[2073-2074,2080-2081,2083,2086].codfw.wmnet. Codfw's all on 5 masters now and cluster is back to green.

Change 830923 abandoned by Ryan Kemper:

[operations/puppet@production] Revert "elastic: reduce master-eligibles for codfw back down to 2"

Reason:

not needed anymore

https://gerrit.wikimedia.org/r/830923

Change 839668 had a related patch set uploaded (by Ryan Kemper; author: Ryan Kemper):

[operations/puppet@production] elastic: replace 2 codfw masters to be decom'd

https://gerrit.wikimedia.org/r/839668

Change 839668 merged by Ryan Kemper:

[operations/puppet@production] elastic: replace 2 codfw masters to be decom'd

https://gerrit.wikimedia.org/r/839668

Mentioned in SAL (#wikimedia-operations) [2022-10-06T18:50:14Z] <gehel@cumin2002> START - Cookbook sre.hosts.downtime for 3:00:00 on elastic2061.codfw.wmnet with reason: restarting for config reload - T313431

Mentioned in SAL (#wikimedia-operations) [2022-10-06T18:50:29Z] <gehel@cumin2002> END (PASS) - Cookbook sre.hosts.downtime (exit_code=0) for 3:00:00 on elastic2061.codfw.wmnet with reason: restarting for config reload - T313431

Mentioned in SAL (#wikimedia-operations) [2022-10-06T18:50:37Z] <gehel@cumin2002> START - Cookbook sre.hosts.downtime for 3:00:00 on elastic2084.codfw.wmnet with reason: restarting for config reload - T313431

Mentioned in SAL (#wikimedia-operations) [2022-10-06T18:51:04Z] <gehel@cumin2002> END (PASS) - Cookbook sre.hosts.downtime (exit_code=0) for 3:00:00 on elastic2084.codfw.wmnet with reason: restarting for config reload - T313431

Mentioned in SAL (#wikimedia-operations) [2022-10-06T18:52:22Z] <gehel@cumin2002> START - Cookbook sre.hosts.downtime for 3:00:00 on elastic[2025,2031].codfw.wmnet with reason: restarting for config reload - T313431

Mentioned in SAL (#wikimedia-operations) [2022-10-06T18:52:39Z] <gehel@cumin2002> END (PASS) - Cookbook sre.hosts.downtime (exit_code=0) for 3:00:00 on elastic[2025,2031].codfw.wmnet with reason: restarting for config reload - T313431

Mentioned in SAL (#wikimedia-operations) [2022-10-06T19:03:20Z] <inflatador> 'bking@elastic restarted elastic2025, 2031, 2061, 2084 T313431

Change 839673 had a related patch set uploaded (by Bking; author: Bking):

[operations/puppet@production] elastic: raise master-eligibles from 3 to 5

https://gerrit.wikimedia.org/r/839673

Change 839673 abandoned by Bking:

[operations/puppet@production] elastic: raise master-eligibles from 3 to 5

Reason:

https://gerrit.wikimedia.org/r/839673

Change 836908 merged by Bking:

[operations/puppet@production] elasticsearch: Increase number of master-eligible nodes to 5 for eqiad

https://gerrit.wikimedia.org/r/836908

Mentioned in SAL (#wikimedia-operations) [2022-10-06T19:28:53Z] <ryankemper@cumin1001> START - Cookbook sre.hosts.downtime for 3:00:00 on 6 hosts with reason: T313431

Mentioned in SAL (#wikimedia-operations) [2022-10-06T19:29:10Z] <ryankemper@cumin1001> END (PASS) - Cookbook sre.hosts.downtime (exit_code=0) for 3:00:00 on 6 hosts with reason: T313431

Change 836912 merged by Ryan Kemper:

[operations/puppet@production] elasticsearch: Elasticsearch 7 does not need to specify number of masters

https://gerrit.wikimedia.org/r/836912