Page MenuHomePhabricator

WMCS: migrate python2 scripts to python3
Open, MediumPublic

Description

In the WMCS team we use/have several python2 scripts that need to migrate to python3. This task is to track this work.

Things to take into account:

  • a given script may be more commonly used than others. If we use the script a lot we must ensure we don't leave it in a broken state.
  • I'm sure certain scripts may require almost no changes, because they already have py3 support or because is rather simple
  • some scripts may have module dependencies that may require changes in the dependency chain we install via puppet

This wikitech page contains many of the scripts we have (but we have even more!) with a brief description in some cases:
https://wikitech.wikimedia.org/wiki/Portal:Cloud_VPS/Admin/Maintenance#Admin/Maintenance_scripts
We can use this moment to generate some additional documentation bits for those lacking any.

  • wmcs-cold-migrate
  • wmcs-cold-nova-migrate
  • wmcs-live-migrate
  • wmcs-region-migrate
  • wmcs-region-migrate-security-groups
  • wmcs-region-migrate-quotas
  • wmcs-novastats-imagestats
  • wmcs-novastats-alltrusty
  • wmcs-novastats-flavorreport
  • wmcs-novastats-puppetleaks
  • wmcs-novastats-capacity
  • wmcs-novastats-imagestats
  • wmcs-novastats-dnsleaks
  • wmcs-novastats-proxyleaks
  • wmcs-makedomain
  • wmcs-wikireplica-dns
  • wmcs-spreadcheck

Event Timeline

aborrero triaged this task as Medium priority.Aug 6 2019, 11:35 AM
aborrero moved this task from Inbox to Soon! on the cloud-services-team (Kanban) board.

Change 565456 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] mwopenstackclients: add python3 version

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

Change 565458 had a related patch set uploaded (by Andrew Bogott; owner: Andrew Bogott):
[operations/puppet@production] wmcs-dns-floating-ip-updater.py: move to python3

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

Change 565456 merged by Andrew Bogott:
[operations/puppet@production] mwopenstackclients: add python3 version

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

There are 4 versions of the wmcs-makedomain script (I just picked one at random):

./modules/openstack/files/pike/admin_scripts/wmcs-makedomain.py
./modules/openstack/files/ocata/admin_scripts/wmcs-makedomain.py
./modules/openstack/files/newton/admin_scripts/wmcs-makedomain.py
./modules/openstack/files/mitaka/admin_scripts/wmcs-makedomain.py

Which one needs porting, or is it all of them?

We are on Pike now. I might argue that ignoring the others is not the worst idea.

Change 565793 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[operations/puppet@production] openstack: Add Python 3 support to wmcs-cold-migrate

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

Change 565794 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[operations/puppet@production] openstack: Add Python 3 support to wmcs-cold-nova-migrate

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

Change 565795 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[operations/puppet@production] openstack: Add Python 3 support to wmcs-live-migrate

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

Change 565796 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[operations/puppet@production] openstack: Add Python 3 support to wmcs-makedomain

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

Change 565797 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[operations/puppet@production] openstack: Add Python 3 support to wmcs-region-migrate-quotas

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

Change 565798 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[operations/puppet@production] openstack: Add Python 3 support to wmcs-region-migrate-security-groups

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

Change 565799 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[operations/puppet@production] openstack: Add Python 3 support to wmcs-region-migrate

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

As a first step, I added Python 3 support to all of the pike admin_scripts except wmcs-novastats/, wmcs-logstat.py (is this still used? it looks broken), and wmcs-wikitech-grep (which I want to rebase against mwgrep probably) without dropping Python 2 support.

Change 565458 merged by Andrew Bogott:
[operations/puppet@production] wmcs-dns-floating-ip-updater.py: move to python3

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

Change 565793 merged by Andrew Bogott:
[operations/puppet@production] openstack: Add Python 3 support to wmcs-cold-migrate

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

Change 565794 merged by Andrew Bogott:
[operations/puppet@production] openstack: Add Python 3 support to wmcs-cold-nova-migrate

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

Change 565795 merged by Andrew Bogott:
[operations/puppet@production] openstack: Add Python 3 support to wmcs-live-migrate

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

Change 565796 merged by Andrew Bogott:
[operations/puppet@production] openstack: Add Python 3 support to wmcs-makedomain

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

Change 565797 merged by Andrew Bogott:
[operations/puppet@production] openstack: Add Python 3 support to wmcs-region-migrate-quotas

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

Change 565798 merged by Andrew Bogott:
[operations/puppet@production] openstack: Add Python 3 support to wmcs-region-migrate-security-groups

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

Change 565799 merged by Andrew Bogott:
[operations/puppet@production] openstack: Add Python 3 support to wmcs-region-migrate

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