CIDuty/How To/Update Python dependencies

From MozillaWiki
< CIDuty‎ | How To
Jump to: navigation, search

Introduction

Use this page if you want to update Python dependencies.

The action list is as follows:

  1. Check the puppet repo for patch made by pyup bot
  2. Check the dependencies and how they affect the systems
  3. Check if there are any releases on the go also check with the release team.
  4. If you have the Ok, start the update
  5. Monitoring the update on puppet mail and papertrail
  6. In case of failure - rollback
  7. Weekly admin task
  8. Questions and Answers

Check the puppet repo for patch made by pyup bot

Go to https://github.com/mozilla-releng/build-puppet and click on Pull requests and look for "Scheduled weekly dependency update for week X" ( where X is the current week )

Repo.png

Check the dependencies and how they affect the systems

If you don't know what it does, you can click on it name and find out also on most of them you can also check the change log. For example : ptyprocess 0.6.0

Dep 1.png
Change log.png

Also to check how are the files changed : Go to Files change tab to see what will be changed and how :

Ewpo change.png

Check if there are any releases on the go also check with the release team

The update action shouldn't be done during a release. Always ask the release duty team before running the update

Running the update

After checking all the dependencies and if there are no releases, you can start the update, by merging the pyup update into master


Monitoring the update on puppet mail and papertrail

In order to monitor the updates you should subscribe to puppet mail : Releng Puppet Mail

You should also check and monitor using papertrail : Papertrail Ex of search : Balrog scriptworker

In case of failure - Rollback

In case of any failure it is needed to create a patch that reverts the changes. For this is needed to be created a ticket.

In case of update to Signing Servers

Please note if there's signingserver changes so someone from the short list (https://github.com/mozilla-releng/build-puppet/blob/master/manifests/moco-config.pp#L239) will need to restart those instances within a few hours of this being merged.

Weekly admin task

Every Monday, the admin who is on duty needs to check the build puppet, for the dependencies . If there is a "Scheduled weekly dependency update for week X" then he will need to update them following the action list


Questions and Answers

Q : What do we need to do before update ?

A : We need to check all the dependencies that will be updated, to figure out what could be affected in case of any surprises.

Q : How do we do the update ?

A : We need to merge pyup-bot patch to the master.

Q: When it is recommended to run the update ?

A : This should be done, when there are no releases and also it should be wise to ask the release duty team before starting any action.

Q : Where and what do we need to monitor when we triggered the update ?

A : The monitoring should be done the Puppet mail and also on papertrail

Q : Who are affected when an update or more goes wrong ?

A : Possibly, anyone!