**Provisionally planned for Tues July 27th at 15:00 UTC (08:00 PDT / 11:00 EDT / 17:00 CEST)**
Netops plan to adjust the buffer memory configuration for all switches in Eqiad Row B, to address tail drops observed on some of the devices, which is causing throughput issues.
This is an intrusive change, and will bring **all traffic on the row to a complete stop** for a short time while the switches reconfigure themselves.
All services should have row redundancy, but we may want to take some pro-active steps in advance to de-pool servers / make things go smoothly.
The exact duration of the impact is unknown at this time - we hope to be able to test on some real switches before the date and get a firm indication. Best estimate is it will be in the order of seconds, certainly no longer than a minute, but we should plan for up to a 5-minute interruption, and be aware as always that there is a small potential something will go wrong and cause a longer disturbance.
The complete list of servers in this row can be found here:
https://netbox.wikimedia.org/dcim/devices/?q=&rack_group_id=6&status=active&role=server
Summarizing the physical servers / types:
|Server Name / Prefix |Count|Relevant Team |Action Required |Action Status|
|----------------------|-----|----------------------------------------------------------------|----------------|-------------|
|mw |39 |Service Operations |N|N/A|
|db |21 |Data Persistence |Y, we need to build a spare for db1132 (or consider db1117 to be ready to be failed over to if the maintenance takes more than expected| |
|an-worker |14 |Analytics SREs || |
|cloudvirt |12 |WMCS || |
|elastic |9 |Search Platform SREs || |
|ms-be |9 |Data Persistence (Media Storage) |N| |
|ganeti |6 |Infrastructure Foundations |N|N/A|
|analytics |5 |Analytics SREs || |
|wtp |5 |Service Operations |N|N/A|
|cp |4 |Traffic || |
|es |4 |Data Persistence |N|N/A|
|restbase |4 |Service Operations || |
|cloudcephmon |3 |WMCS || |
|cloudcephosd |3 |WMCS || |
|cloudvirt-wdqs |3 |WMCS || |
|kubernetes |3 |Service Operations || |
|wdqs |3 |Search Platform SREs || |
|clouddb |2 |WMCS, with support from DBAs || |
|cloudelastic |2 |WMCS || |
|cloudnet |2 |WMCS || |
|dbproxy |2 |Data Persistence |dbproxy1014 requires action, dbproxy1015 doesn't| |
|druid |2 |Analytics || |
|mc |2 |Service Operations || |
|ores |2 |Machine Learning SREs || |
|snapshot |2 |Service Operations & Platform Engineering || |
|thumbor |2 |Service Operations (& Performance) || |
|an-conf1001 |1 |Analytics || |
|an-coord1001 |1 |Analytics SREs || |
|an-launcher1002 |1 |Analytics SREs || |
|an-master1002 |1 |Analytics SREs || |
|an-presto1004 |1 |Analytics SREs || |
|aqs1008 |1 |Analytics SREs || |
|atlas-eqiad |1 |Infrastructure Foundations || |
|authdns1001 |1 |Traffic || |
|backup1003 |1 |Data Persistence || |
|cloudcontrol1004 |1 |WMCS || |
|cloudservices1003 |1 |WMCS || |
|conf1005 |1 |Service Operations || |
|dbprov1002 |1 |Data Persistence || |
|dumpsdata1001 |1 |Service Operations & Platform Engineering || |
|gerrit1001 |1 |Service Operations (Supportive Services) & Release Engineering || |
|graphite1004 |1 |Observability |N| |
|kafka-jumbo1003 |1 |Analytics SREs & Infrastructure Foundations || |
|kafka-main1002 |1 |Analytics || |
|kubestage1002 |1 |Service Operations || |
|labweb1001 |1 |WMCS || |
|logstash1011 |1 |Observability |N| |
|lvs1014 |1 |Traffic || |
|maps1002 |1 | ?? || |
|mwmaint1002 |1 |Service Operations |N|N/A|
|pc1008 |1 |SRE Data Persistence (DBAs), with support from Platform and Performance|N|N/A|
|prometheus1004 |1 |Observability |N| |
|puppetmaster1001 |1 |Infrastructure Foundations || |
|rdb1009 |1 |Service Operations || |
|relforge1004 |1 |Search Platform SREs || |
|restbase-dev1005 |1 |Platform Engineering ?? || |
|stat1007 |1 |Analytics SREs || |
|thanos-be1002 |1 |Observability |N| |
|thanos-fe1002 |1 |Observability |N| |
VMs in this row are as follows:
|VM Name |Ganeti Host |Team |Action Required |Action Status|
|--------------------|----------------|--------------------------------------------------------------|-----------------|-------------|
|an-airflow1002 |ganeti1018 |Analytics SREs || |
|an-test-ui1001 |ganeti1015 |Analytics || |
|an-tool1008 |ganeti1015 |Analytics SREs || |
|an-tool1009 |ganeti1016 |Analytics SREs || |
|debmonitor1002 |ganeti1014 |Infrastructure Foundations |N|N/A|
|dragonfly-supernode1001|ganeti1017 |Service Operations || |
|failoid1002 |ganeti1018 |Infrastructure Foundations |N|N/A|
|kafka-test1006 |ganeti1014 |Analytics ? || |
|kafka-test1007 |ganeti1013 |Analytics ? || |
|kafka-test1008 |ganeti1016 |Analytics ? || |
|kafka-test1009 |ganeti1013 |Analytics ? || |
|kafka-test1010 |ganeti1015 |Analytics ? || |
|kubernetes1015 |ganeti1015 |Service Operations || |
|kubestagemaster1001 |ganeti1014 |Service Operations || |
|kubestagetcd1005 |ganeti1013 |Service Operations || |
|kubetcd1006 |ganeti1013 |Service Operations || |
|ldap-replica1003 |ganeti1017 |Infrastructure Foundations |Y| |
|logstash1032 |ganeti1013 |Observability |N| |
|ml-etcd1001 |ganeti1014 |ML team || |
|ml-serve-ctrl1001 |ganeti1017 |ML team ?? || |
|otrs1001 |ganeti1014 |Service Operations ?? || |
|schema1003 |ganeti1015 |Analytics SREs & Service Operations || |
|zookeeper-test1002 |ganeti1013 |Analytics ?? || |
I have listed the teams, and subscribed relevant individuals to this task, based on the server names and info here: https://wikitech.wikimedia.org/wiki/SRE/Infrastructure_naming_conventions. Don't hesitate to add people I could have missed, or remove yourself from the task if you do not need to be involved.
(WARNING) **Kindly update the tables if action needs to be taken for any servers/VMs. Please also list the current status of action if required, and set status to 'Complete' once work has been done.**
###### Days Before:
- Prepare config changes (netops)
###### 1h Before Window:
- Confirm switches are in a healthy state (snapshot MAC and ARP tables, port status, buffer usage) (netops)
- Warn people of the upcoming maintenance (netops)
###### After The Change
- Confirm switches are in a healthy state (snapshot MAC and ARP tables, port status, buffer usage, validate against prior values). (netops)