[Tools-discuss] Analysis of 4 June failed upgrade to Datatrack er infrastructure
Robert Sparks <[email protected]> Fri, 5 Jun 2026 15:27:02 -0500
| Newsgroups | gmane.ietf.tools,gmane.ietf.general |
|---|---|
| Message-ID | <[email protected]> |
# Summary The 4 June upgrade attempt [1] did not go as planned and was rolled back.[2] We over-committed our production cluster, which supports the IETF Datatracker, mailarchive and other services. We also uncovered issues with our intended Redis configuration that we need to address before making that change to the Datatracker. We will be adding resources, adjusting constraints, and improving our pre-deploy testing to avoid this kind of failure going forward. We will be scheduling two windows in the near term to accomplish the required upgrades, the first of which will require a brief outage for the Datatracker. # Details The upgrade sequence failed at the first deploy step, which would have moved the Datatracker from using memcached to using Redis for local cache, including the session cache (which holds login state). As a reminder, deploying the Datatracker with Redis will make persistent login more durable, will provide more opportunities for future performance improvements, and will provide a more stable platform for future upgrades. This deployment involved scaling up a second instance of the main Datatracker container and a deployment of the Redis operator with new nodes to support it. The deployment failed due to resource constraints. During the rolling upgrade to the Datatracker, the scheduler was unable to place the next Datatracker instance without conflicts and placed it on the same node as an instance of mailarchive, despite constraints intended to keep that from happening. That node was quickly overwhelmed, resulting in several other automatic adjustments to the cluster. At the same time, we were observing unexpected behavior with the Redis operator itself. What was different from our testing in staging was that we had immediately prior added nodes to the pool Redis would be scheduled into, and they were still settling as Redis was initializing. This triggered Redis' high-availability function (we are using Sentinel) to start readjusting. The readjustments were veryslow, and may have failed outright if we had not shut them down. We learned several things from analysing this and will be making adjustments and testing additional failure conditions in staging before attempting this part of the upgrade again. Unfortunately, rolling back leaves us unable to upgrade the underlying Kubernetes versions without interrupting the Datatracker. During our focus on the initial RPC modernization deployment, we have deferred upgrading this cluster too long and our deployed version has fallen out of support. We were not upgrading because, given the current way the Datatracker is deployed, each upgrade requires several minutes of datatracker downtime. We will be scheduling an outage for the Datatracker soon to upgrade Kubernetes one version to be back in the supported range. Once we solve the problem that this week's failed deployment was intended to solve, we'll be able to upgrade the underlying Kubernetes versions with no Datatracker downtime. At that point, we will upgrade the cluster's version to the current highest supported one (upgrades have to go through each version sequentially), and continue to update as new versions come into support as a regular part of operations. Robert Sparks Senior Director of IT for the IETF LLC. [1] https://mailarchive.ietf.org/arch/msg/ietf-announce/s9DhiXhZSzQZ4ffVbgoytyzu0eI/ [2] https://mailarchive.ietf.org/arch/msg/ietf-announce/jtFUp0fGdwN5xJWSTvGsmJJu-_s/ ----------------------------------------------- Tools-discuss mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mailarchive.ietf.org/arch/browse/tools-discuss/