Page MenuHomePhabricator

Deploy wmfmariadbpy 0.8
Closed, DeclinedPublic

Description

A new release has been created: https://gerrit.wikimedia.org/g/operations/software/wmfmariadbpy/+/refs/tags/v0.8
Packages have been built, but not yet uploaded to apt.wm.o.

This is a very minor release, with changes confined to db-switchover.

debdeploy spec file:

comment: https://phabricator.wikimedia.org/T299406
fixes:
  bullseye: 0.8+deb11u1
  buster: 0.8+deb10u1
  stretch: 0.8+deb9u1
libraries: []
source: wmfmariadbpy
transitions: {}
update_type: tool

Prep:

  • Upload 0.8 debs to apt.wm.o
  • Log that packages have been updated: !log uploaded wmfmariadbpy 0.8 to apt.wm.o
  • Log that deployment is starting: !log Deploying wmfmariadbpy 0.8 T299406
  • Update apt cache on all relevant hosts: sudo cumin -b 20 C:wmfmariadbpy 'apt-get update'

cumin1001:

  • sudo debdeploy deploy -u SPECFILE -Q 'cumin1001*'
  • Check that mysql.py and db-replication-tree work correctly.

random db server (e.g. db2121)

  • sudo debdeploy deploy -u SPECFILE -Q 'db2121*'
  • Check that sudo -u nagios db-check-health succeeds

everything else:

  • sudo debdeploy deploy -u SPECFILE -Q 'C:wmfmariadbpy'

Related Objects

StatusSubtypeAssignedTask
ResolvedNone
DeclinedKormat

Event Timeline

Kormat changed the task status from Open to In Progress.Jan 18 2022, 2:26 PM
Kormat triaged this task as Medium priority.
Kormat updated the task description. (Show Details)
Kormat updated the task description. (Show Details)

Testing db-check-health fails with:

kormat@db2121:~(0:0)$ sudo -u nagios db-check-health
Traceback (most recent call last):
  File "/usr/bin/db-check-health", line 11, in <module>
    load_entry_point('wmfmariadbpy==0.8', 'console_scripts', 'db-check-health')()
  File "/usr/lib/python3/dist-packages/wmfmariadbpy/cli_common/check_health.py", line 467, in main
    status = get_status(options)
  File "/usr/lib/python3/dist-packages/wmfmariadbpy/cli_common/check_health.py", line 229, in get_status
    debug=options.debug,
  File "/usr/lib/python3/dist-packages/wmfmariadbpy/WMFMariaDB.py", line 34, in __init__
    user, password, socket, ssl = dbutil.get_credentials(host, port, database)
  File "/usr/lib/python3/dist-packages/wmfmariadbpy/dbutil.py", line 112, in get_credentials
    mysql_sock = get_socket_from_port(port)
  File "/usr/lib/python3/dist-packages/wmfmariadbpy/dbutil.py", line 79, in get_socket_from_port
    section = get_section_from_port(port)
  File "/usr/lib/python3/dist-packages/wmfmariadbpy/dbutil.py", line 60, in get_section_from_port
    port2sec, _ = read_section_ports_list()
  File "/usr/lib/python3/dist-packages/wmfmariadbpy/dbutil.py", line 35, in read_section_ports_list
    assert path is not None
AssertionError

Found the bug in the code. Will cut a 0.8.1 release to fix.

I've manually rolled back to 0.7.2 on the two affected servers (cumin1001, db2121).