This will be an essential project to make our systems future safe against Python2 going away.
This is intended to be a tracking task, each file or set of files may be its own complicated project depending. Many may just work as-is also.
| status | comment | file |
| --- | --- | --- |
| erbport | | modules/beta/templates/wmf-beta-autoupdate.py.erb |
| erbport | | modules/profile/templates/hadoop/net-topology.py.erb |
| erbport | | modules/profile/templates/hive/client/beeline_wrapper.py.erb |
| nochange | does not pass python3 pep8 | modules/openstack/files/designate/designatemakedomain.py |
| nochange | passes python3 pep8 | modules/openstack/files/monitor/fullstack/check_nova_fullstack_leaks.py |
| nochange | does not pass python3 pep8 | modules/openstack/files/puppet/master/instance-info-dumper.py |
| nochange | does not pass python3 pep8 | modules/openstack/files/util/wmcs-updateproxies.py |
| nochange | does not pass python3 pep8 | modules/profile/files/toolforge/portgrabber_cli.py |
| nochange | does not pass python3 pep8 | modules/profile/files/toolforge/portreleaser.py |
| nochange | does not pass python3 pep8 | modules/prometheus/files/usr/local/bin/prometheus-gdnsd-stats.py |
| nochange | does not pass python3 pep8 | modules/puppetmaster/files/validatelabsfqdn.py |
| nochange | does not pass python3 pep8 | modules/swift/files/SwiftMedia/wmf/rewrite_integration_test.py |
| nochange | passes python3 pep8 | utils/vcl_ec2_nets.py |
| nochange/reviewed | passes python3 pep8 and reviewed but untested | modules/etcd/files/etcd-backup.py |
| nochange/reviewed | passes python3 pep8 and reviewed but untested | modules/graphite/files/archive-instances.py |
| nochange/reviewed | passes python3 pep8 and reviewed but untested | modules/mediawiki/files/mediawiki-firejail-convert.py |
| nochange/reviewed | passes python3 pep8 and reviewed but untested | modules/mediawiki/files/mediawiki-firejail-ffmpeg.py |
| nochange/reviewed | passes python3 pep8 and reviewed but untested | modules/mediawiki/files/mediawiki-firejail-ghostscript.py |
| nochange/untested | passes python3 pep8 | modules/cassandra/files/cassandra-ca-manager.py |
| nochange/untested | passes python3 pep8 | modules/cdh/files/hadoop/check_hdfs_active_namenode.py |
| nochange/untested | passes python3 pep8 | modules/ldap/files/scripts/add-ldap-group.py |
| nochange/untested | passes python3 pep8 | modules/letsencrypt/files/acme-setup.py |
| nochange/untested | passes python3 pep8 / already python3 compat | modules/letsencrypt/files/acme_tiny.py |
| patchout/remove | moritz has indicated that it probably will be removed | modules/base/files/monitoring/check-fresh-files-in-dir.py |
| patchout | | modules/beta/files/wmf-beta-update-databases.py |
| patchout | | modules/burrow/files/check_kafka_consumer_lag.py |
| patchout | | modules/confd/files/confd-lint-wrap.py |
| ported | | modules/interface/files/interface-rps.py |
| patchout | | modules/ircecho/files/ircecho.py |
| patchout | | modules/mw_rc_irc/files/udpmxircecho.py |
| ported | | modules/openldap/files/offboard-user.py |
| patchout | | modules/openstack/files/monitor/keystone/check_keystone_roles.py |
| patchout | | modules/openstack/files/monitor/wmcs-spreadcheck.py |
| patchout | | modules/openstack/files/util/wmcs-webproxy.py |
| patchout | | modules/phabricator/files/phab_epipe.py |
| removed | | modules/profile/files/labs/db/views/maintain-meta_p.py |
| patchout | | modules/profile/files/toolforge/proxylistener.py |
| patchout | | modules/pybal/files/check_pybal_ipvs_diff.py |
| patchout | | modules/pybal/files/pybal-eval-check.py |
| patchout | | modules/rabbitmq/files/rabbitmqadmin.py |
| ported | | modules/raid/files/check-raid.py |
| patchout | | modules/raid/files/get-raid-status-megacli.py |
| willnoport | owners are porting | modules/scap/files/mwgrep.py |
| patchout | | modules/sslcert/files/update-ocsp.py |
| patchout | | modules/sslcert/files/x509-bundle.py |
| patchout | | modules/swift/files/swift-account-stats.py |
| patchout | | modules/swift/files/swift-container-stats.py |
| patchout | | modules/swift/files/swift-dispersion-stats.py |
| patchout | | modules/swift/files/swift-drive-audit.py |
| ported | | modules/tcpircbot/files/tcpircbot.py |
| patchout | | modules/tlsproxy/files/utils/cipher_sim.py |
| patchout | | modules/varnish/files/cachestats.py |
| patchout | | modules/zuul/files/zuul-gearman.pya |
| ported | | modules/base/files/apt-upgrade-activity.py |
| ported | | modules/base/files/check_systemd_state.py |
| ported | | modules/base/files/firewall/check_conntrack.py |
| ported | | modules/base/files/phaste.py |
| ported | | modules/elasticsearch/files/es-tool.py |
| ported | | modules/icinga/files/check_legal_html.py |
| ported | | modules/icinga/files/check_ripe_atlas.py |
| ported | | modules/icinga/files/purge-nagios-resources.py |
| ported | | modules/icinga/files/raid_handler.py |
| ported | | modules/labstore/files/logcleanup.py |
| ported | | modules/ldap/files/rewrite-group-for-memberof.py |
| ported | | modules/nagios_common/files/check_commands/check_grafana_alert.py |
| ported | | modules/nagios_common/files/check_commands/check_graphite_freshness.py |
| ported | | modules/nagios_common/files/check_commands/check_graphite.py |
| ported | done by kunal | modules/openldap/files/cross-validate-accounts.py |
| ported | ported by Andrew Bogott | modules/openstack/files/nova/fullstack/nova_fullstack_test.py |
| ported | done by someone else | modules/openstack/files/util/wmcs-wikireplica-dns.py |
| ported | | modules/service/files/logstash_checker.py |
| ported | kunal ported this | modules/zuul/files/zuul-test-repo.py |
| ported/external | | modules/base/files/labs/puppet_alert.py |
| ported/external | brook did this | work modules/base/files/labs/notify_maintainers.py |
| removed | ported, later removed as unused | modules/admin/data/nda_audit.py |
| removed | ported, later rewritten by jbond in python3 | modules/diffscan/files/diffscan.py |
| removed | ported, later removed as replaced by cookbook | modules/drac/files/drac.py |
| removed | | modules/librenms/files/purge.py |
| removed | removed in f90ba7e7e6 | modules/openstack/files/monitor/keystone/check_keystone_projects.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-cold-migrate.py |
| removed | does not pass python3 pep8 | modules/openstack/files/queens/admin_scripts/wmcs-cold-nova-migrate.py |
| removed | does not pass python3 pep8 | modules/openstack/files/queens/admin_scripts/wmcs-live-migrate.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-logstat.py |
| removed | does not pass python3 pep8 | modules/openstack/files/queens/admin_scripts/wmcs-makedomain.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-novastats/wmcs-novastats-capacity.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-novastats/wmcs-novastats-dnsleaks.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-novastats/wmcs-novastats-flavorreport.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-novastats/wmcs-novastats-imagestats.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-novastats/wmcs-novastats-proxyleaks.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-novastats/wmcs-novastats-puppetleaks.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-region-migrate.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-region-migrate-quotas.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-region-migrate-security-groups.py |
| removed | | modules/openstack/files/queens/admin_scripts/wmcs-wikitech-grep.py |
| removed | | modules/openstack/files/rocky/admin_scripts/wmcs-cold-migrate.py |
| removed | does not pass python3 pep8 | modules/openstack/files/rocky/admin_scripts/wmcs-cold-nova-migrate.py |
| removed | does not pass python3 pep8 | modules/openstack/files/rocky/admin_scripts/wmcs-live-migrate.py |
| removed | | modules/openstack/files/rocky/admin_scripts/wmcs-logstat.py |
| removed | does not pass python3 pep8 | modules/openstack/files/rocky/admin_scripts/wmcs-makedomain.py |
| removed | | modules/openstack/files/rocky/admin_scripts/wmcs-novastats/wmcs-novastats-capacity.py |
| removed | | modules/openstack/files/rocky/admin_scripts/wmcs-novastats/wmcs-novastats-dnsleaks.py |
| removed | | modules/openstack/files/rocky/admin_scripts/wmcs-novastats/wmcs-novastats-imagestats.py |
| removed | | modules/openstack/files/rocky/admin_scripts/wmcs-novastats/wmcs-novastats-proxyleaks.py |
| removed | | modules/openstack/files/rocky/admin_scripts/wmcs-novastats/wmcs-novastats-puppetleaks.py |
| removed | | modules/openstack/files/rocky/admin_scripts/wmcs-region-migrate.py |
| removed | | modules/openstack/files/rocky/admin_scripts/wmcs-region-migrate-quotas.py |
| removed | | modules/openstack/files/rocky/admin_scripts/wmcs-region-migrate-security-groups.py |
| removed | | modules/openstack/files/rocky/admin_scripts/wmcs-wikitech-grep.py |
| removed | | modules/profile/files/toolforge/gridscripts/runninggridjobsmail.py |
| removed | | modules/profile/files/toolforge/gridscripts/runninggridtasks.py |
| removed | | modules/sentry/files/sentry-auth.py |
| removed | | modules/shinken/files/shinkengen.py |
| willnotport | targets jessie specifically | modules/graphite/files/graphite-auth.jessie.py |
| willnotport | targets stretch specifically | modules/graphite/files/graphite-auth.stretch.py |
| willnotport | targets jessie specifically | modules/graphite/files/graphite-index.jessie.py |
| willnotport | targets stretch specifically | modules/graphite/files/graphite-index.stretch.py |
| willnotport | port work done, deprecated since 2015 T114063 | modules/ldap/files/scripts/ldaplist.py |
| willnotport | port work done, deprecated since 2015 T114063 | modules/ldap/files/scripts/ldapsupportlib.py |
| willnotport | targets python2 specifically | modules/ldap/files/scripts/ssh-key-ldap-lookup-python2.py |