Page MenuHomePhabricator

bd808 (Bryan Davis)
Principal Software EngineerAdministrator

User Details

User Since
Oct 3 2014, 2:36 PM (627 w, 6 d)
Roles
Administrator
Availability
Away Away at E1960: Sabbatical until Nov 2.
IRC Nick
bd808
LDAP User
BryanDavis
MediaWiki User
BDavis (WMF) [ Global Accounts ]

I'm BDavis (WMF) on wiki, bd808 on irc & GitLab, and BryanDavis on Gerrit & Wikitech.

I've got a thing for 🦄s. Don't judge.

I work for or provide services to the Wikimedia Foundation, but this is my only Phabricator account. Edits, statements, or other contributions made from this account are my own, and may not reflect the views of the Foundation.

Recent Activity

Mon, Oct 12

• bd808 renamed T440145: Right to fork request: https://wikimap.toolforge.org/ from WikiMap is closed source to Right to fork request: https://wikimap.toolforge.org/.
Mon, Oct 12, 2:57 PM · Toolforge-standards-committee, Wikimedia-Hackathon-2026 (Wikimedia Hackathon 2026 - Satellite Event Messina), Tools
• bd808 added a comment to T440145: Right to fork request: https://wikimap.toolforge.org/.

The project appears to be a combination of PHP, HTML, and javascript. There is no obvious license attributed to the project in it's Toolforge home directory. The tool was created on 2015-06-17 which unfortunately predates the selection of a default license at tool creation time. Per the 2023-05-26 Cloud Services Terms of use revision, if necessary we can declare the code to be licensed under the GPL-3.0 license. It would be more ideal however for @DB111 to choose and document their own OSI approved license rather than relying on the TOU default licensing clause.

Mon, Oct 12, 12:12 AM · Toolforge-standards-committee, Wikimedia-Hackathon-2026 (Wikimedia Hackathon 2026 - Satellite Event Messina), Tools
• bd808 updated subscribers of T440145: Right to fork request: https://wikimap.toolforge.org/.

@valerio.bozzolan Are you invoking the Toolforge right to fork policy to obtain a copy of the source code for the wikimap tool? If so, lets make sure that @DB111 understands that their use of the Toolforge compute resources to host their tool at https://wikimap.toolforge.org/ are subject to this policy and that the Toolforge Standards Committee is tasked with facilitating this community right.

Mon, Oct 12, 12:04 AM · Toolforge-standards-committee, Wikimedia-Hackathon-2026 (Wikimedia Hackathon 2026 - Satellite Event Messina), Tools

Tue, Sep 22

• bd808 closed T436321: "Project" dropdown is empty, preventing patch submission as Resolved.

Screenshot 2026-09-22 at 17.25.50.png (1,356×962 px, 92 KB)

Tue, Sep 22, 11:26 PM · User-bd808, Tool-Gerrit-Patch-Uploader
• bd808 added a comment to T436321: "Project" dropdown is empty, preventing patch submission.
tools.gerrit-patch-uploader@tools-bastion-14:~$ ssh-keygen -f '/data/project/gerrit-patch-uploader/.ssh/known_hosts' -R '[gerrit.wikimedia.org]:29418'
# Host [gerrit.wikimedia.org]:29418 found: line 1
/data/project/gerrit-patch-uploader/.ssh/known_hosts updated.
Original contents retained as /data/project/gerrit-patch-uploader/.ssh/known_hosts.old
tools.gerrit-patch-uploader@tools-bastion-14:~$ ssh-keyscan -p 29418 gerrit.wikimedia.org | ssh-keygen -lf -
256 SHA256:njCmWMsshq3MqQxyIFO36UNwCwzTamXERqylF1XJhd8 [gerrit.wikimedia.org]:29418 (ED25519)
## ^ That matches https://wikitech.wikimedia.org/wiki/Help:SSH_Fingerprints/gerrit.wikimedia.org:29418
tools.gerrit-patch-uploader@tools-bastion-14:~$ ssh -o StrictHostKeyChecking=no gerrit
Warning: Permanently added '[gerrit.wikimedia.org]:29418' (ED25519) to the list of known hosts.
Tue, Sep 22, 11:25 PM · User-bd808, Tool-Gerrit-Patch-Uploader
• bd808 added a comment to T436321: "Project" dropdown is empty, preventing patch submission.

This is functionally the same issue as T434075: Reviewer-bot not adding reviewers due to SSH key change. The python code tries to use ssh gerrit gerrit ls-projects to get the list of known projects from gerrit. This fails because the ssh config is expecting the old RSA key that are removed on 2026-08-04.

Tue, Sep 22, 11:13 PM · User-bd808, Tool-Gerrit-Patch-Uploader

Wed, Sep 16

• bd808 updated the task description for T325833: spdx-license-list package has disappeared from pypi.
Wed, Sep 16, 10:13 PM · User-bd808, Toolhub
• bd808 updated the task description for T365654: Update SPDX data to v3.24.0.
Wed, Sep 16, 10:13 PM · User-bd808, Toolhub
• bd808 updated the task description for T372824: Update SPDX data to v3.28.0.
Wed, Sep 16, 10:12 PM · User-bd808, Toolhub
• bd808 created T438256: Update SPDX data to v3.29.0.
Wed, Sep 16, 10:10 PM · Toolhub
• bd808 merged T427230: Toolhub Cross-Origin-Opener-Policy error into T432262: "GO TO TOOL" targeting toolsadmin.wikimedia.org pages fails because of remote cross-origin-opener-policy header value.
Wed, Sep 16, 10:00 PM · tools-platform-team, Striker, Toolhub
• bd808 merged task T427230: Toolhub Cross-Origin-Opener-Policy error into T432262: "GO TO TOOL" targeting toolsadmin.wikimedia.org pages fails because of remote cross-origin-opener-policy header value.
Wed, Sep 16, 10:00 PM · Toolhub
• bd808 renamed T433065: Upgrade Toolhub base image to Trixie from Upgrade ToolHub base image to Trixie to Upgrade Toolhub base image to Trixie.
Wed, Sep 16, 9:59 PM · tools-platform-team, Toolhub

Sep 4 2026

• bd808 added a comment to T431309: Setup x4 on sanitarium hosts.

The announcement sent to the cloud-announce list, which I assume was done so that tool maintainers know things are changing, does not mention that there is no way to access x4 via the Wiki Replicas yet, when that is expected, or what will be possible when the tables are in a new db that cannot be linked across sections to other tables. These are all reasonable questions for folks to have beyond "where did the data go" which is what has been documented in that email.

Sep 4 2026, 10:36 PM · Patch-For-Review, DBA
• bd808 added a comment to T423980: add x4 to the MediaWiki replicas.

This ticket is for putting x4 on the private mediawiki replicas (e.g. stat1008). It sounds like you also want to put it in the public wiki replicas?

Sep 4 2026, 10:23 PM · Data-Engineering-Radar, Data-Engineering, Data-Persistence, Data-Platform-SRE, Data-Platform
• bd808 added a comment to T431309: Setup x4 on sanitarium hosts.

https://lists.wikimedia.org/hyperkitty/list/cloud@lists.wikimedia.org/thread/E4RXH3F3WTBWSGZDN6BZPJGEUY2IM4KP/ announces that on 2026-09-08 (the next WMF US working day after today) the commons link tables will only be available from the x4 cluster. This is going to break a bunch of tools and they will stay broken until the x4 cluster is available in the Wiki Replicas.

Sep 4 2026, 9:58 PM · Patch-For-Review, DBA
Restricted Application added a project to T409560: Add support for x1 and x4 sections on wiki replicas on the load balancer layer: tools-platform-team.

https://lists.wikimedia.org/hyperkitty/list/cloud@lists.wikimedia.org/thread/E4RXH3F3WTBWSGZDN6BZPJGEUY2IM4KP/ announces that on 2026-09-08 (the next WMF US working day after today) the commons link tables will only be available from the x4 cluster. This is going to break a bunch of tools and they will stay broken until the x4 cluster is available in the Wiki Replicas.

Sep 4 2026, 9:55 PM · tools-platform-team, Patch-For-Review, Data-Services, cloud-services-team
• bd808 triaged T423980: add x4 to the MediaWiki replicas as High priority.

I know that priority is subjective and should be controlled by people doing the work, but this is also the best signaling mechanism for community impact that we have at the moment.

Sep 4 2026, 9:49 PM · Data-Engineering-Radar, Data-Engineering, Data-Persistence, Data-Platform-SRE, Data-Platform
• bd808 added a comment to T423980: add x4 to the MediaWiki replicas.

https://lists.wikimedia.org/hyperkitty/list/cloud@lists.wikimedia.org/thread/E4RXH3F3WTBWSGZDN6BZPJGEUY2IM4KP/ announces that on 2026-09-08 (the next WMF US working day after today) the commons link tables will only be available from the x4 cluster. This is going to break a bunch of tools and they will stay broken until the x4 cluster is available in the Wiki Replicas.

Sep 4 2026, 9:47 PM · Data-Engineering-Radar, Data-Engineering, Data-Persistence, Data-Platform-SRE, Data-Platform

Sep 1 2026

• bd808 closed T436187: Update deployment documentation to factor in pretrain deployment windows as Resolved.
Sep 1 2026, 12:18 AM · User-bd808, Release-Engineering-Team (Doing 😎), MW-on-K8s, ServiceOps-MediaWiki
• bd808 closed T436187: Update deployment documentation to factor in pretrain deployment windows, a subtask of T436178: Deploy multiversion images into pretrain scope Tu-Th at 02:00 UTC, as Resolved.
Sep 1 2026, 12:18 AM · ServiceOps, Release-Engineering-Team (Doing 😎), Patch-For-Review, MW-on-K8s, ServiceOps-MediaWiki
• bd808 closed T410290: Update Magnum cluster config to use higher iops volume type and flavor, a subtask of T396936: Provision Kubernetes cluster and bastion using OpenTofu and Magnum, as Resolved.
Sep 1 2026, 12:15 AM · Patch-For-Review, User-bd808, Continuous-Integration-Infrastructure (Zuul upgrade)
• bd808 closed T410290: Update Magnum cluster config to use higher iops volume type and flavor as Resolved.
Sep 1 2026, 12:15 AM · Continuous-Integration-Infrastructure (Zuul upgrade)

Aug 31 2026

• bd808 changed the start date for E1960: Sabbatical from Sep 1 2026, 11:00 PM to Sep 1 2026, 12:00 AM.
Aug 31 2026, 4:19 PM · events
• bd808 added a comment to T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal.

I made a backup of the blocking related scripts from deployment-mediawiki14:~root/ and linked to them from the blocking instructions on wikitech.

Aug 31 2026, 3:56 PM · Patch-For-Review, Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure, MediaWiki-Engineering
• bd808 changed the status of T394316: Use infrastructure as code techniques to rebuild the Beta Cluster from Open to In Progress.

This is being actively used in the work for T401839: Migrate deployment-prep away from Debian Bullseye to Bookworm/Trixie. We are not likely to have all of the Bullseye replacements built with tofu, but we will get some. The rest can be imported later and/or replaced again via this gitops tooling.

Aug 31 2026, 3:22 AM · Epic, Beta-Cluster-Infrastructure
• bd808 closed T436484: [tofu] Add support for service name DNS records in the service module, a subtask of T394316: Use infrastructure as code techniques to rebuild the Beta Cluster, as Resolved.
Aug 31 2026, 3:18 AM · Epic, Beta-Cluster-Infrastructure
• bd808 closed T436484: [tofu] Add support for service name DNS records in the service module as Resolved.
Aug 31 2026, 3:18 AM · User-bd808, Beta-Cluster-Infrastructure
• bd808 closed T436483: [tofu] Output openstack_compute_instance_v2 instances from service module, a subtask of T394316: Use infrastructure as code techniques to rebuild the Beta Cluster, as Resolved.
Aug 31 2026, 3:18 AM · Epic, Beta-Cluster-Infrastructure
• bd808 closed T436483: [tofu] Output openstack_compute_instance_v2 instances from service module as Resolved.
Aug 31 2026, 3:18 AM · User-bd808, Beta-Cluster-Infrastructure
• bd808 added a subtask for T394316: Use infrastructure as code techniques to rebuild the Beta Cluster: T436483: [tofu] Output openstack_compute_instance_v2 instances from service module.
Aug 31 2026, 1:57 AM · Epic, Beta-Cluster-Infrastructure
• bd808 added a parent task for T436483: [tofu] Output openstack_compute_instance_v2 instances from service module: T394316: Use infrastructure as code techniques to rebuild the Beta Cluster.
Aug 31 2026, 1:57 AM · User-bd808, Beta-Cluster-Infrastructure
• bd808 added a subtask for T394316: Use infrastructure as code techniques to rebuild the Beta Cluster: T436484: [tofu] Add support for service name DNS records in the service module.
Aug 31 2026, 1:56 AM · Epic, Beta-Cluster-Infrastructure
• bd808 added a parent task for T436484: [tofu] Add support for service name DNS records in the service module: T394316: Use infrastructure as code techniques to rebuild the Beta Cluster.
Aug 31 2026, 1:56 AM · User-bd808, Beta-Cluster-Infrastructure
• bd808 renamed T423970: [tofu-cloudvps] Document importing legacy cloudvps_puppet_prefix objects from [tofu-cloudvps] Add support for importing legacy cloudvps_puppet_prefix objects to [tofu-cloudvps] Document importing legacy cloudvps_puppet_prefix objects.
Aug 31 2026, 1:55 AM · Documentation, tools-infrastructure-team, cloud-services-team, Cloud-VPS

Aug 30 2026

• bd808 added a comment to T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal.

New hosts:

  • deployment-deploy06.deployment-prep.eqiad1.wikimedia.cloud
  • deployment-mediawiki15.deployment-prep.eqiad1.wikimedia.cloud
  • deployment-mediawiki16.deployment-prep.eqiad1.wikimedia.cloud
  • deployment-jobrunner06.deployment-prep.eqiad1.wikimedia.cloud
  • deployment-mwmaint04.deployment-prep.eqiad1.wikimedia.cloud
Aug 30 2026, 11:40 PM · Patch-For-Review, Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure, MediaWiki-Engineering
• bd808 created T436484: [tofu] Add support for service name DNS records in the service module.
Aug 30 2026, 10:54 PM · User-bd808, Beta-Cluster-Infrastructure
• bd808 created T436483: [tofu] Output openstack_compute_instance_v2 instances from service module.
Aug 30 2026, 10:37 PM · User-bd808, Beta-Cluster-Infrastructure

Aug 29 2026

• bd808 added a comment to T424107: Talk with Security/Product Safety and Integrity folks about Pretrain workflow/timing implications.

I have added this as a dependency of T436190: Inform relevant groups about implications of testwiki moving to pretrain. The initial Pretrain automated deployments will run at 02:00 UTC Tuesday through Thursday. The wmf/next image build step has been running in this time slot 7 days a week for many months now, but has not been treated as a critical event so if things blew up.

Aug 29 2026, 11:08 PM · Release-Engineering-Team (Priority Backlog 📥)
• bd808 closed T436415: Found non-revoked Puppet certificates for 2 deleted instances on deployment-puppetserver-1 as Resolved.
bd808@deployment-puppetserver-1.deployment-prep.eqiad1:~$ sudo /usr/local/sbin/clean-stale-puppet-certs
stray cert deployment-mediawikibd808-test-php85.deployment-prep.eqiad1.wikimedia.cloud
stray cert deployment-mediawikibd808-tofu-delete.deployment-prep.eqiad1.wikimedia.cloud
bd808@deployment-puppetserver-1.deployment-prep.eqiad1:~$ sudo /usr/local/sbin/clean-stale-puppet-certs --clean
Certificate for deployment-mediawikibd808-test-php85.deployment-prep.eqiad1.wikimedia.cloud has been revoked
Cleaned files related to deployment-mediawikibd808-test-php85.deployment-prep.eqiad1.wikimedia.cloud
Submitted 'deactivate node' for deployment-mediawikibd808-test-php85.deployment-prep.eqiad1.wikimedia.cloud with UUID 95b40a19-a295-4d22-a4cc-fa754d8e530c
Certificate for deployment-mediawikibd808-tofu-delete.deployment-prep.eqiad1.wikimedia.cloud has been revoked
Cleaned files related to deployment-mediawikibd808-tofu-delete.deployment-prep.eqiad1.wikimedia.cloud
Submitted 'deactivate node' for deployment-mediawikibd808-tofu-delete.deployment-prep.eqiad1.wikimedia.cloud with UUID cd75912d-949d-40fd-8405-7e1e5696f03e
Aug 29 2026, 10:06 PM · User-bd808, Beta-Cluster-Infrastructure
• bd808 closed T396936: Provision Kubernetes cluster and bastion using OpenTofu and Magnum as Resolved.

Cluster has existed for quite a while at this point. @dduvall did a lot of follow up work in T424061: Ensure zuul-executor can prepare workspaces and dispatch builds to keep up with OpenStack changes.

Aug 29 2026, 8:20 PM · Patch-For-Review, User-bd808, Continuous-Integration-Infrastructure (Zuul upgrade)
• bd808 closed T396936: Provision Kubernetes cluster and bastion using OpenTofu and Magnum, a subtask of T396247: Set up new project for Zuulv3+ pre-merge and non-image-build workloads, as Resolved.
Aug 29 2026, 8:20 PM · User-bd808, Continuous-Integration-Infrastructure (Zuul upgrade)
• bd808 updated subscribers of T410290: Update Magnum cluster config to use higher iops volume type and flavor.

@dduvall Did this functionally happen when you moved things to the CAPI backend in T424061: Ensure zuul-executor can prepare workspaces and dispatch builds?

Aug 29 2026, 8:18 PM · Continuous-Integration-Infrastructure (Zuul upgrade)
• bd808 closed T408577: Deploy interwiki handling configuration to Toolsbeta as Resolved.
Aug 29 2026, 8:06 PM · User-bd808, Tool-iw
• bd808 closed T408577: Deploy interwiki handling configuration to Toolsbeta, a subtask of T408571: Add functional test for tool-iw handling for new ingress-nginx releases, as Resolved.
Aug 29 2026, 8:06 PM · Tool-iw
• bd808 added a comment to T423970: [tofu-cloudvps] Document importing legacy cloudvps_puppet_prefix objects.

The problem that T436412: [tofu-cloudvps] cloudvps_puppet_prefix.hiera is not idempotent and should be discusses as "the second issue" is the use case that led me to submit this feature request to provide a work around.

Aug 29 2026, 5:03 AM · Documentation, tools-infrastructure-team, cloud-services-team, Cloud-VPS
Restricted Application added a project to T423970: [tofu-cloudvps] Document importing legacy cloudvps_puppet_prefix objects: tools-infrastructure-team.

Totally possible today. The necessary magic is knowing how to lookup an $ID value. The puppet-enc server can be queried from inside a Beta Cluster 'make shell' session:

bd808$ make shell
🖥️ Entering Docker container...
Identity added: /dev/fd/63 (betadevopsbot)
/srv/app/bin/start-socks-proxy.sh: connect: Connection refused
/srv/app/bin/start-socks-proxy.sh: line 11: /dev/tcp/127.0.0.1/1080: Connection refused
Starting SOCKS5 proxy at 127.0.0.1:1080...
Warning: Permanently added 'bastion.wmcloud.org' (ED25519) to the list of known hosts.
somebody@deployer:/srv/app$ curl -s -H "Accept: application/json" -H "X-Auth-Token: $(OS_DEBUG= openstack token issue -f yaml | yq .id)" "https://puppet-enc.cloudinfra.wmcloud.org/v1/deployment-prep/prefix?detailed" | jq '.prefixes[] | select(.prefix | startswith("deployment-mediawiki"))'
{
  "id": 14426,
  "prefix": "deployment-mediawiki"
}
{
  "id": 21178,
  "prefix": "deployment-mediawiki13.deployment-prep.eqiad1.wikimedia.cloud"
}
{
  "id": 21177,
  "prefix": "deployment-mediawiki14.deployment-prep.eqiad1.wikimedia.cloud"
}
{
  "id": 23620,
  "prefix": "deployment-mediawiki15.deployment-prep.eqiad1.wikimedia.cloud"
}
{
  "id": 23619,
  "prefix": "deployment-mediawiki16.deployment-prep.eqiad1.wikimedia.cloud"
}
Aug 29 2026, 4:59 AM · Documentation, tools-infrastructure-team, cloud-services-team, Cloud-VPS
• bd808 updated subscribers of T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal.

To get things back on track in the tofu state I:

  • Used Horizon to edit the hiera for deployment-mediawiki15 & deployment-mediawiki16 and remove the profile::mediawiki::php::absented_php_versions: [] empty array from each.
  • Imported the cleaned hiera settings into the tofu state:
    • tofu import 'module.mediawiki.cloudvps_puppet_prefix.vm["15"]' 23620
    • tofu import 'module.mediawiki.cloudvps_puppet_prefix.vm["16"]' 23619
  • Edited main.tf to also remove the profile::mediawiki::php::absented_php_versions: [] empty arrays.
  • Ran make tofu-apply to verify that the main.tf, tofu state, and system state all matched.
  • Submitted MR16 to make git state match tofu state.
Aug 29 2026, 4:43 AM · Patch-For-Review, Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure, MediaWiki-Engineering
• bd808 added a comment to T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal.

In a make shell session:

somebody@deployer:/srv/app$ curl -s -H "Accept: application/json" -H "X-Auth-Token: $(OS_DEBUG= openstack token issue -f yaml | yq .id)" "https://puppet-enc.cloudinfra.wmcloud.org/v1/deployment-prep/prefix?detailed" | jq '.prefixes[] | select(.prefix | startswith("deployment-mediawiki"))'
{
  "id": 14426,
  "prefix": "deployment-mediawiki"
}
{
  "id": 21178,
  "prefix": "deployment-mediawiki13.deployment-prep.eqiad1.wikimedia.cloud"
}
{
  "id": 21177,
  "prefix": "deployment-mediawiki14.deployment-prep.eqiad1.wikimedia.cloud"
}
{
  "id": 23620,
  "prefix": "deployment-mediawiki15.deployment-prep.eqiad1.wikimedia.cloud"
}
{
  "id": 23619,
  "prefix": "deployment-mediawiki16.deployment-prep.eqiad1.wikimedia.cloud"
}
somebody@deployer:/srv/app$ curl -s -H "Accept: application/json" -H "X-Auth-Token: $(OS_DEBUG= openstack token issue -f yaml | yq .id)" "https://puppet-enc.cloudinfra.wmcloud.org/v1/deployment-prep/prefix/id/23620" | jq
{
  "hiera": {
    "profile::mediawiki::php::absented_php_versions": [],
    "profile::mediawiki::php::php_versions": [
      "8.5"
    ],
    "profile::mediawiki::webserver::default_php_version": "8.5"
  },
  "id": 23620,
  "prefix": "deployment-mediawiki15.deployment-prep.eqiad1.wikimedia.cloud",
  "roles": []
}

And this made me realize the error that is getting thrown is because of the empty arrays (T436412#12267798).

Aug 29 2026, 4:15 AM · Patch-For-Review, Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure, MediaWiki-Engineering
• bd808 added a comment to T436412: [tofu-cloudvps] cloudvps_puppet_prefix.hiera is not idempotent and should be.

I think what is happening in the https://gitlab.wikimedia.org/cloudvps-repos/deployment-prep/tofu-provisioning/-/jobs/943247 case is that my implementation of gitlab.wikimedia.org/repos/cloud/cloud-vps/tofu-cloudvps/internal/provider.ctyTypeForValue cannot handle an empty slice.

// Compute a cty.Type for an arbitrary value.
func ctyTypeForValue(value any) (cty.Type, error) {
	val := reflect.ValueOf(value)
	kind := val.Kind()
	switch kind {
	case reflect.Invalid:
		// Value is nil and the type is unknown.
		// Let's pretend it should be typed as a string
		return cty.String, nil
	case reflect.Bool:
		return cty.Bool, nil
	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
		return cty.Number, nil
	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
		return cty.Number, nil
	case reflect.Float32, reflect.Float64:
		return cty.Number, nil
	case reflect.Slice:
		// Assume that arrays are homogeneous
		listElmType, err := ctyTypeForValue(value.([]any)[0])
		if err != nil {
			return cty.NilType, fmt.Errorf("Failed to derive list element type: %w", err)
		}
		return cty.List(listElmType), nil
	case reflect.Map:
		// Assume that maps are string keyed
		return ctyTypeForMap(value.(map[string]any))
	case reflect.String:
		return cty.String, nil
	default:
		return cty.NilType, fmt.Errorf("Unexpected type %v%w", val.Kind(), ErrCtyTypeForValue)
	}
}

When value is an empty Slice, it calls ctyTypeForValue(value.([]any)[0]) which then will raise runtime error: index out of range [0] with length 0.

Aug 29 2026, 4:10 AM · Cloud-VPS (Debian Bullseye Deprecation), tools-infrastructure-team
• bd808 added a comment to T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal.

The tofu automation is currently stalled by T436412: [tofu-cloudvps] cloudvps_puppet_prefix.hiera is not idempotent and should be. My short term plan for getting unstuck is to use https://puppet-enc.cloudinfra.wmcloud.org/v1/deployment-prep/prefix?detailed to get the data needed to manually add the enc data that was not updated as hoped in the tofu state graph with tofu import.

Aug 29 2026, 1:00 AM · Patch-For-Review, Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure, MediaWiki-Engineering
• bd808 changed the status of T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal from Open to In Progress.

Marking as in progress and high priority, but not claiming ownership as this work may not be completed before my sabbatical starts on September 1. I'm going to give it a fair shot though. :)

Aug 29 2026, 12:56 AM · Patch-For-Review, Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure, MediaWiki-Engineering
• bd808 changed the status of T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal, a subtask of T401839: Migrate deployment-prep away from Debian Bullseye to Bookworm/Trixie, from Open to In Progress.
Aug 29 2026, 12:56 AM · Epic, Release-Engineering-Team (Priority Backlog 📥), Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure
• bd808 changed the status of T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal, a subtask of T413223: Migrate Wikimedia production from PHP 8.3 to PHP 8.5, from Open to In Progress.
Aug 29 2026, 12:56 AM · User-brennen, ServiceOps, ServiceOps-Upgrades-Hardware, MediaWiki-Engineering
• bd808 triaged T436189: Inform SREs and deployers of upcoming deployment and traffic routing to pretrain as High priority.
Aug 29 2026, 12:20 AM · ServiceOps, MW-on-K8s, ServiceOps-MediaWiki, Release-Engineering-Team (Priority Backlog 📥)
• bd808 updated the task description for T436189: Inform SREs and deployers of upcoming deployment and traffic routing to pretrain.
Aug 29 2026, 12:01 AM · ServiceOps, MW-on-K8s, ServiceOps-MediaWiki, Release-Engineering-Team (Priority Backlog 📥)

Aug 28 2026

• bd808 raised the priority of T435419: Configure logstash error checks for automated supervision of Pretrain deployments from Medium to High.
Aug 28 2026, 11:38 PM · SRE Observability, Patch-For-Review, Release-Engineering-Team
• bd808 added a comment to T435419: Configure logstash error checks for automated supervision of Pretrain deployments.

I think the work left here is putting the thresholds @dancy computed above into the config. Is that a patch you can prepare @dancy?

Aug 28 2026, 11:38 PM · SRE Observability, Patch-For-Review, Release-Engineering-Team
• bd808 added a comment to T436412: [tofu-cloudvps] cloudvps_puppet_prefix.hiera is not idempotent and should be.

If the "oops there is already a prefix here" step failed with an error message that gave the upstream prefix's internal id it would then be possible to use tofu import to update the state graph and get things back on track.

Aug 28 2026, 10:28 PM · Cloud-VPS (Debian Bullseye Deprecation), tools-infrastructure-team
• bd808 created P96274 tofu hiera go boom.
Aug 28 2026, 9:40 PM
• bd808 added a subtask for T436190: Inform relevant groups about implications of testwiki moving to pretrain: T424107: Talk with Security/Product Safety and Integrity folks about Pretrain workflow/timing implications.
Aug 28 2026, 9:02 PM · ServiceOps, Release-Engineering-Team (Priority Backlog 📥), MW-on-K8s, ServiceOps-MediaWiki
• bd808 added a parent task for T424107: Talk with Security/Product Safety and Integrity folks about Pretrain workflow/timing implications: T436190: Inform relevant groups about implications of testwiki moving to pretrain.
Aug 28 2026, 9:02 PM · Release-Engineering-Team (Priority Backlog 📥)
• bd808 added a comment to T405045: Define a policy for automated testing against test wikis in the Pretrain environment.

Some of this discussion has started already.

Aug 28 2026, 8:58 PM · Release-Engineering-Team (Priority Backlog 📥)
• bd808 added a comment to T436323: Automatically approve GitLab accounts for users with editinterface in any wiki.

group that grants editinterface (e.g. sysops and interface admins). If it is, the account should be automatically approved.

Aug 28 2026, 3:54 PM · Tool-gitlab-account-approval
• bd808 updated subscribers of T436187: Update deployment documentation to factor in pretrain deployment windows.

Next week's Deployment calendar should include Pretrain windows Monday-Thursday. I decided it would be better to list Monday even if we are not using it yet as we expect to use it once we have some confidence in the ability to update the pretrain container without updating other containers unnecessarily.

Aug 28 2026, 1:01 AM · User-bd808, Release-Engineering-Team (Doing 😎), MW-on-K8s, ServiceOps-MediaWiki
• bd808 created T436314: `toolforge jobs dump` produces `filelog: 'yes'` which `toolforge jobs load` says is deprecated syntax.
Aug 28 2026, 12:46 AM · tools-platform-team, Toolforge
• bd808 added a comment to T435869: Deploy RecentPageStats extension to Beta Cluster.
  1. Security Review: I've updated the description of T435890: Application Security Review for RecentPageStats extension to use the standard security template.
Aug 28 2026, 12:01 AM · MediaWiki-extensions-RecentPageStats, Wikimedia-extension-review-queue, Beta-Cluster-Infrastructure

Aug 27 2026

• bd808 updated subscribers of T433998: Planning for a plan to migrate Beta Cluster again.

Traffic will work on upgrading deployment-cache-(text|upload)08 if that's fine and we would like to coordinate about that. Is this task the right place to do that or is something else preferred?

Aug 27 2026, 11:47 PM · User-bd808, Release-Engineering-Team (Doing 😎), Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure
• bd808 closed T435665: Setup local and CI linters and tests as Resolved.
Aug 27 2026, 11:27 PM · User-bd808, Tool-wheres-my-code-running
• bd808 added a comment to T399485: Find a way for pywikibot GitHub Actions to avoid IP range blocks of Microsoft Azure hosted runners.

With T426484: Add proxy support to GitHub actions implemented is the general problem solved for your needs now @Xqt?

Aug 27 2026, 10:36 PM · Pywikibot, Pywikibot-tests, Beta-Cluster-Infrastructure
• bd808 added a comment to T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal.

To prove to myself that the PHP changes are working as intended I built a test instance using tofu.

module "mediawiki" {
  source = "./modules/service"
Aug 27 2026, 9:04 PM · Patch-For-Review, Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure, MediaWiki-Engineering
• bd808 added a member for acl*Batch-Editors: Mahveotm.
Aug 27 2026, 8:54 PM
• bd808 added a comment to T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal.

I seem to have fixed the opcache.ini problem with https://gerrit.wikimedia.org/r/c/operations/puppet/+/1328728/3..5/modules/php/manifests/default_extensions.pp

bd808@deployment-deploy06:~$ php --version
PHP 8.5.9 (cli) (built: Aug  6 2026 12:42:42) (NTS)
Copyright (c) The PHP Group
Built by Debian
Zend Engine v4.5.9, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.9, Copyright (c), by Zend Technologies

I will try building another instance with PHP 8.5 enabled to see if there are more weird things that were just incidentally fixed as I poked around figuring out what was wrong.

Aug 27 2026, 5:20 PM · Patch-For-Review, Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure, MediaWiki-Engineering
• bd808 added a comment to T405045: Define a policy for automated testing against test wikis in the Pretrain environment.

@CCiufo-WMF This is basically the "what's next after the Pretrain MVP is rolled out" step that I was talking about recently.

Aug 27 2026, 4:55 PM · Release-Engineering-Team (Priority Backlog 📥)
• bd808 added a comment to T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal.

Nearly there.

bd808@deployment-deploy06:~$ php --version
Warning: Failed loading Zend extension 'opcache.so' (tried: /usr/lib/php/20250925/opcache.so (/usr/lib/php/20250925/opcache.so: cannot open shared object file: No such file or directory), /usr/lib/php/20250925/opcache.so.so (/usr/lib/php/20250925/opcache.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 8.5.9 (cli) (built: Aug  6 2026 12:42:42) (NTS)
Copyright (c) The PHP Group
Built by Debian
Zend Engine v4.5.9, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.9, Copyright (c), by Zend Technologies

Puppet is still making a /etc/php/8.5/mods-available/opcache.ini and linking in th various conf.d places.

Aug 27 2026, 2:51 PM · Patch-For-Review, Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure, MediaWiki-Engineering
• bd808 changed the status of T436187: Update deployment documentation to factor in pretrain deployment windows, a subtask of T436178: Deploy multiversion images into pretrain scope Tu-Th at 02:00 UTC, from Open to In Progress.
Aug 27 2026, 1:16 AM · ServiceOps, Release-Engineering-Team (Doing 😎), Patch-For-Review, MW-on-K8s, ServiceOps-MediaWiki
• bd808 changed the status of T436187: Update deployment documentation to factor in pretrain deployment windows from Open to In Progress.
Aug 27 2026, 1:16 AM · User-bd808, Release-Engineering-Team (Doing 😎), MW-on-K8s, ServiceOps-MediaWiki
• bd808 triaged T436178: Deploy multiversion images into pretrain scope Tu-Th at 02:00 UTC as High priority.
Aug 27 2026, 12:02 AM · ServiceOps, Release-Engineering-Team (Doing 😎), Patch-For-Review, MW-on-K8s, ServiceOps-MediaWiki
• bd808 changed the status of T436178: Deploy multiversion images into pretrain scope Tu-Th at 02:00 UTC from Open to In Progress.

I'm not going to claim this task because it is very unlikely to finish before my sabbatical starts, but I was at least able to put up a patch to kickstart any debate about how we should actually setup the timer's command.

Aug 27 2026, 12:02 AM · ServiceOps, Release-Engineering-Team (Doing 😎), Patch-For-Review, MW-on-K8s, ServiceOps-MediaWiki
• bd808 changed the status of T436178: Deploy multiversion images into pretrain scope Tu-Th at 02:00 UTC, a subtask of T427659: [FY26-27 ST5.1.1] Pretrain MVP deployment environment, from Open to In Progress.
Aug 27 2026, 12:02 AM · MW-on-K8s, ServiceOps-MediaWiki, Epic, ServiceOps
• bd808 changed the status of T436178: Deploy multiversion images into pretrain scope Tu-Th at 02:00 UTC, a subtask of T427968: [FY26-27 ST5.1.2] Automated supervision, from Open to In Progress.
Aug 27 2026, 12:02 AM · User-bd808, Release-Engineering-Team (Doing 😎)

Aug 26 2026

• bd808 renamed T280393: Name new CDN servers deployment-cp-(text|upload)0x instead of deployment-cache-(text|upload)0x from Rename deployment-cache-(text|upload)0x to deployment-cp-(text|upload)0x to Name new CDN servers deployment-cp-(text|upload)0x instead of deployment-cache-(text|upload)0x.
Aug 26 2026, 11:56 PM · SRE, Traffic, Beta-Cluster-Infrastructure
• bd808 updated the task description for T436187: Update deployment documentation to factor in pretrain deployment windows.
Aug 26 2026, 11:10 PM · User-bd808, Release-Engineering-Team (Doing 😎), MW-on-K8s, ServiceOps-MediaWiki
• bd808 added a comment to T436187: Update deployment documentation to factor in pretrain deployment windows.

jouncebot is the main bot I can think of involved in things about deployments. It will "just work" once [[wikitech:Deployments]] has the window data.

Aug 26 2026, 11:10 PM · User-bd808, Release-Engineering-Team (Doing 😎), MW-on-K8s, ServiceOps-MediaWiki
• bd808 added a comment to T436178: Deploy multiversion images into pretrain scope Tu-Th at 02:00 UTC.

Actually enabling this deployment should be considered blocked on communications out to SREs and deployer that the unsupervised deployment step is being enabled. Those communications should include updating the the automation for https://wikitech.wikimedia.org/wiki/Deployments so that the deployment window is documented. It would be perfectly fine for that update to document it as M-Th even though we are not enabling for Monday in this first increment.

Aug 26 2026, 9:42 PM · ServiceOps, Release-Engineering-Team (Doing 😎), Patch-For-Review, MW-on-K8s, ServiceOps-MediaWiki
• bd808 added a parent task for T436178: Deploy multiversion images into pretrain scope Tu-Th at 02:00 UTC: T427968: [FY26-27 ST5.1.2] Automated supervision.
Aug 26 2026, 9:34 PM · ServiceOps, Release-Engineering-Team (Doing 😎), Patch-For-Review, MW-on-K8s, ServiceOps-MediaWiki
• bd808 added a subtask for T427968: [FY26-27 ST5.1.2] Automated supervision: T436178: Deploy multiversion images into pretrain scope Tu-Th at 02:00 UTC.
Aug 26 2026, 9:34 PM · User-bd808, Release-Engineering-Team (Doing 😎)
• bd808 created T436178: Deploy multiversion images into pretrain scope Tu-Th at 02:00 UTC.
Aug 26 2026, 9:33 PM · ServiceOps, Release-Engineering-Team (Doing 😎), Patch-For-Review, MW-on-K8s, ServiceOps-MediaWiki
• bd808 triaged T436024: Puppet agent failure detected on instance deployment-cache-upload08 in project deployment-prep as High priority.
bd808@deployment-cache-upload08.deployment-prep.eqiad1:~$ sudo -i run-puppet-agent
Info: Using environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for deployment-cache-upload08.deployment-prep.eqiad1.wikimedia.cloud
Info: Applying configuration version '(5f3f5a9d2d) gitpuppet - P:mediawiki::php: add 8.5'
Error: /Stage[main]/Profile::Cache::Haproxy/Acme_chief::Cert[unified]/File[/etc/acmecerts/unified]: Failed to generate additional resources using 'eval_generate': certificate verify failed [unable to get local issuer certificate for CN=deployment-acme-chief07.deployment-prep.eqiad1.wikimedia.cloud]
Error: /Stage[main]/Profile::Cache::Haproxy/Acme_chief::Cert[unified]/File[/etc/acmecerts/unified]: Could not evaluate: Could not retrieve file metadata for puppet://deployment-acme-chief07.deployment-prep.eqiad1.wikimedia.cloud/acmedata/unified: certificate verify failed [unable to get local issuer certificate for CN=deployment-acme-chief07.deployment-prep.eqiad1.wikimedia.cloud]
Notice: /Stage[main]/Haproxy/Systemd::Service[haproxy]/Service[haproxy]: Dependency File[/etc/acmecerts/unified] has failures: true
Warning: /Stage[main]/Haproxy/Systemd::Service[haproxy]/Service[haproxy]: Skipping because of failed dependencies
Notice: Applied catalog in 10.99 seconds

This is fallout from the switch to the new acme-chief servers that @BCornwall built yesterday. Hopefully he has an idea of what needs to happen to fix it. We cannot modify the CDN edge blocking rules until we can run puppet on the deployment-cache-{text,upload} boxes, so I'm going to mark this as high priority.

Aug 26 2026, 8:27 PM · Beta-Cluster-Infrastructure
• bd808 added a comment to T421244: Replace deployment-deploy04 with a Bookworm instance with Java 21.

Booleans were coerced to strings somewhere???

Aug 26 2026, 7:26 PM · Patch-For-Review, User-bd808, Release-Engineering-Team, Beta-Cluster-Infrastructure
• bd808 moved T435665: Setup local and CI linters and tests from To Do to Needs Review/Feedback on the User-bd808 board.
Aug 26 2026, 7:21 PM · User-bd808, Tool-wheres-my-code-running
• bd808 changed the status of T435665: Setup local and CI linters and tests from Open to In Progress.
Aug 26 2026, 7:21 PM · User-bd808, Tool-wheres-my-code-running
• bd808 added a comment to T435665: Setup local and CI linters and tests.

This is {{done}} except for README.md updates that I forgot to make.

Aug 26 2026, 5:53 PM · User-bd808, Tool-wheres-my-code-running
• bd808 renamed T436135: Detect when a commit has been reverted by a later commit from Handle reverts to Detect when a commit has been reverted by a later commit.
Aug 26 2026, 5:52 PM · Release-Engineering-Team, Tool-wheres-my-code-running
• bd808 changed the subtype of T436135: Detect when a commit has been reverted by a later commit from "Task" to "Feature Request".
Aug 26 2026, 5:51 PM · Release-Engineering-Team, Tool-wheres-my-code-running
• bd808 added a comment to T436135: Detect when a commit has been reverted by a later commit.

The interesting thing about a revert is that the commit is deployed, but the revert commit is also which then nullifies the original patch.

Aug 26 2026, 5:51 PM · Release-Engineering-Team, Tool-wheres-my-code-running
• bd808 added a comment to T90594: Wikibugs testing task.

test

Aug 26 2026, 5:38 PM · Patch-For-Review, User-bd808, Wikibugs
• bd808 added a comment to T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal.

OPcache is apparently built-in for our php8.5 packages. That is going to be annoying to special case in Puppet.

Aug 26 2026, 3:55 PM · Patch-For-Review, Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure, MediaWiki-Engineering
• bd808 added a comment to T435393: Beta Cluster: Switch to PHP 8.5, includes writing Puppet changes to support PHP 8.5 on baremetal.
bd808@deployment-deploy06:~$ sudo -i run-puppet-agent
... so much stuff as the first run sets up the instance as a deployment server ...
Notice: Applied catalog in 1541.60 seconds
bd808@deployment-deploy06:~$ sudo -i run-puppet-agent
Info: Using environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for deployment-deploy06.deployment-prep.eqiad1.wikimedia.cloud
Info: Applying configuration version '(a5f42ddc6b) gitpuppet - P:mediawiki::php: add 8.5'
Notice: /Stage[main]/Profile::Wmcs::Instance/Exec[enable_sites_local]/returns: executed successfully (corrective)
Notice: /Stage[main]/Ferm/File[/etc/ferm]/mode: mode changed '2750' to '2751' (corrective)
Notice: /Stage[main]/Scap::Master/Exec[bootstrap_scap_master]/returns: executed successfully (corrective)
Notice: /Stage[main]/Scap::Master/File[/usr/bin/scap]/ensure: created
Notice: /Stage[main]/Httpd/Service[apache-htcacheclean]/ensure: ensure changed 'running' to 'stopped' (corrective)
Notice: /Stage[main]/Beta::Autoupdater/File[/srv/mediawiki-staging/docroot/wwwportal/portal-master]/ensure: created
Notice: /Stage[main]/Scap::Dsh/Scap::Dsh::Group[scap_targets]/File[/etc/dsh/group/scap_targets]/content:
--- /etc/dsh/group/scap_targets 2026-08-25 23:49:02.157628333 +0000
+++ /tmp/puppet-file20260825-63481-3us91d       2026-08-25 23:53:14.525029301 +0000
@@ -5,6 +5,7 @@
 # Either directly in the declaration of the resource
 # or via hiera scap::dsh::groups::scap_targets
 deployment-deploy04.deployment-prep.eqiad1.wikimedia.cloud
+deployment-deploy06.deployment-prep.eqiad1.wikimedia.cloud
 deployment-echostore02.deployment-prep.eqiad1.wikimedia.cloud
 deployment-jobrunner05.deployment-prep.eqiad1.wikimedia.cloud
 deployment-mediawiki13.deployment-prep.eqiad1.wikimedia.cloud
Aug 26 2026, 12:07 AM · Patch-For-Review, Cloud-VPS (Debian Bullseye Deprecation), Beta-Cluster-Infrastructure, MediaWiki-Engineering

Aug 25 2026

• bd808 assigned T436020: Failed to update Puppet repository /srv/git/labs/private on instance deployment-puppetserver-1 in project deployment-prep to BCornwall.

I think this was Brett working through things on deployment-acme-chief{07,08}. Hopefully he can confirm.

Aug 25 2026, 11:51 PM · Beta-Cluster-Infrastructure