This document tries to outline steps that need to be performed whenever a certain LandingTeam infrastructure action needs to be performed.

Standard Procedures

Investigating failed system-image imports

Sometimes images fail to get published (on system-image) and one of the reasons for this can be that the rootfs built fine but system-image failed on importing the image. The following is a list of steps that can be performed to try and figure out what the cause of the failure was.

Procedure

Investigating failed cdimage builds

Sometimes images fail to get published (on system-image) and one of the reasons for this can be that the rootfs build on cdimage has failed. The following is a list of steps that can be performed to try and figure out what the cause of the failure was.

Procedure

Copy rc-proposed images to the rc channel

When the Final Freeze for an ubuntu-touch OTA is put in effect, the latest rc-proposed image is being copied to the rc channel for candidate QA testing. This is a very simple procedure involving only the copy-image system-image command.

Procedure

Prepare image snapshot

Sometimes we need to prepare snapshots of overlay package states for certain releases, either to perform hotfixes or whenever we already moved forward with the development of the next release. The following procedures show how to perform the snapshotting.

Procedure

Notes

This process is a bit awkward right now, needs to get tweaked up a bit.

Image re-spin from snapshot

When final freeze for an OTA is in effect, we snapshot the state of the overlay and proceed with the development of the next update. Sometimes a re-spin is required with new fixes and the current rc-proposed images no longer can be used (as they might be tainted with new changes already). When that happens, a manual image re-spin from the snapshot is required.

Procedure

Re-run a recent failed cdimage rootfs publish

Every ubuntu-touch image rootfs is first built in launchpad livefs by the cdimage infrastructure. Sometimes it happens that even though the rootfs builds themselves succeed, cdimage fails to publish them due to internal network errors. Sadly in such a case a manual intervention is needed.

Procedure

Emergency Procedures

Security Vulnerability

In case of security vulnerabilities, first thing that needs to happen is the assessment of severity. Some questions need to be answered: how serious the issue is? How easy is it to exploit it? What are the chances of someone knowing about the vulnerability? Once answers to those are known, a decision needs to be made if an emergency procedure is required. It doesn't make sense to release a security hotfix for an issue that is not a direct threat to our users or is hard to exploit.

That being said, any security vulnerability should be treated with highest priority.

Procedure

Fix preparation

Emergency update preparation

Emergency update release

Future ideas

Vulnerabilities that get detected internally and for which a quick countermeasure cannot be deployed should probably be prepared, built and published privately. Right now we can create private bugs, private branches and build the package in a private security PPA - the only thing is that we cannot build new images (rootfs) from private PPAs. This means that there still is that one moment where we need to binary-copy the private package to a public PPA for image build time. That's, of course, only a short period of time, but still allows someone to inspect the source package contents to figure out the vulnerability and exploit it before the fix is made available to all users.

An action item for the future would be enabling cdimage to build a rootfs out of a private snapshot PPA in cases of emergencies like these.

Faulty Image Update

In very rare cases, even if an update gets tested by QA, a stable OTA can include unnoticed critical issues that require us to back-out an update. This will usually happen during the phased upgrade stage, where only a small percentage of users should be affected. It is required to react swiftly and stop phasing making sure no more users will get the faulty update and then, if possible, back out the update.

Procedures

LandingTeam/Procedures (last edited 2016-10-13 14:04:36 by sil2100)