Merge lp:~ev/tanuki-agent/red-pen into lp:tanuki-agent

Proposed by Evan
Status: Work in progress
Proposed branch: lp:~ev/tanuki-agent/red-pen
Merge into: lp:tanuki-agent
Diff against target: 101 lines (+31/-14)
1 file modified
docs/tutorial-products.md (+31/-14)
To merge this branch: bzr merge lp:~ev/tanuki-agent/red-pen
Reviewer Review Type Date Requested Status
Tanuki Squad Pending
Review via email: mp+281259@code.launchpad.net

Commit message

🎄🎁🎅❄️

To post a comment you must log in.
lp:~ev/tanuki-agent/red-pen updated
169. By Evan

Rework a few sentences.

Unmerged revisions

169. By Evan

Rework a few sentences.

168. By Evan

Ubuntu Core, not The Ubuntu Core.

167. By Evan

Merge with trunk.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'docs/tutorial-products.md'
2--- docs/tutorial-products.md 2015-12-22 20:06:06 +0000
3+++ docs/tutorial-products.md 2015-12-22 22:29:41 +0000
4@@ -4,9 +4,9 @@
5 Ubuntu Product Integration is a system for automated integration
6 testing of products built upon Ubuntu Core.
7
8-The system is designed to facilitate Product testing for both Gold
9+It is designed to facilitate Product testing for both Gold
10 Master image releases and ongoing update testing, allowing Product
11-owners to control updates to devices in the field. The system will
12+owners to control updates to devices in the field. It will
13 monitor the components of your product and dispatch tests when new updates
14 are present, prior to those updates being made available to end users.
15
16@@ -20,7 +20,8 @@
17
18 - **[What you will need:](#what-you-will-need)** A description of everything needed to complete the tutorial.
19 - **[Lab setup:](#lab-setup)** Create and configure your own laboratory.
20-- **[Gold Master Candidate Testing:](#gold-master-candidate-testing)** Testing of Product images composed from the stable channel, to support releasing Gold Master Images.
21+- **[Gold Master candidate testing:](#gold-master-candidate-testing)**
22+ Testing of Product images composed from the stable channel, to support releasing Gold Master images.
23 - **[Product update testing:](#product-update-testing)** Testing of software updates prior to releasing them to customers.
24 - **[First-boot update testing:](#first-boot-update-testing)** First-boot update testing.
25
26@@ -387,10 +388,17 @@
27
28 ### First test run
29
30-This test will be what is called a Gold Master (GM) Candidate test. It is triggered by a change to any of the component snaps in the monitored ```base``` channel defined in the Test Specification (stable in this case). The server will generate a Test Opportunity that instructs the provisioning kit script to compose a new GM candidate image from the Product's snaps, using the current revisions published in the base channel, provision that image, and then run tests against it. Later chapters of the tutorial will discuss additional testing scenarios.
31+This test will be what is called a Gold Master (GM) candidate test. It is
32+triggered by a change to any of the component snaps in the monitored ```base```
33+channel defined in the Test Specification (i.e. "stable"). The server will
34+generate a Test Opportunity that instructs the provisioning kit script to
35+compose a new GM candidate image from the Product's snaps, using the current
36+revisions published in the base channel, provision that image, and then run
37+tests against it. Later chapters of the tutorial will discuss additional
38+testing scenarios.
39
40 When we first defined our Test Specification, the system generated a
41-new Test Opportunity to test the initial Gold Master Candidate image,
42+new Test Opportunity to test the initial Gold Master candidate image,
43 since that combination of snaps in the ```base``` channel had not yet been tested.
44
45 Further GM tests will be automatically generated each time a component snap is updated in the ```base``` channel and are not optional.
46@@ -491,7 +499,7 @@
47 Logs containing the output and errors of the provisioning kit's scripts are always stored in ```logs/```.
48 Saving those logs and any artifacts the provisioning kit creates is the responsibility of your test command.
49
50-The example provisioning kit will create a tarball with the test opportunity, the test result
51+The example provisioning kit will create a tarball with the Test Opportunity, the test result
52 and all the provisioning kit logs, using this code:
53
54 ARTIFACTS = [
55@@ -533,7 +541,7 @@
56 testing of Gold Master candidate images, it's time to think about the
57 lifecycle of your product once it is delivered to a customer.
58
59-The Ubuntu Core is designed to provide transactional updates for
60+Ubuntu Core is designed to provide transactional updates for
61 both system components and applications. A major advantage of using
62 the Product Integration system is to enable testing of those updates
63 prior to releasing them into the wild.
64@@ -623,21 +631,30 @@
65
66 ## First-boot tests
67
68-When you promote images, as said above, the system will generate new Gold Master candidate tests, creating Product Base Images that are the base for when testing Updates.
69-
70-Update tests will be created always using the latest Product Base Image, but if you release images you'll need the Update tests to also be created using those released images. This is handled automatically by the system, all you need is to mark the Product Base Image as released, and the Update tests will be generated using not only the latest Product Base Image, but also all those that were ever released (until you deactivate them).
71-
72-This way you can list all the Product Base Images for a given product.
73+When you promote images, new Test Opportunities are generated for the candidate
74+Gold Master. This creates additional product base images, which are then used
75+for testing updates.
76+
77+The update tests will always be created using the latest base image for the
78+product. If you release images, you will also need to test the upgrade path
79+from those images in the field. This is handled automatically. All you need is
80+to mark the Product Base Image as released, and the update tests will be
81+generated using not only the latest base image, but also all those that were
82+ever released (until you deactivate them).
83+
84+You can list all the Product Base Images for a given product with the following
85+command:
86
87 ./api_example.py -X GET config.ini https://spi.canonical.com/products/$PRODUCT_ID/baseimages
88
89-To mark any of those as released, just do:
90+To mark any of those as released, simply run:
91
92 ./api_example.py -X PUT config.ini https://spi.canonical.com/products/$PRODUCT_ID/baseimages/<baseimage_id> --data '{
93 "released": true
94 }'
95
96-After this step, that Product Base Image will be used in the Update tests. The moment you decide that any Product Base Image shouldn't be used for Update tests, you can deactivate it, by doing:
97+After this step, that Product Base Image will be used in the update tests. You
98+can deactivate a Product Base Image from being used in update tests by running:
99
100 ./api_example.py -X PUT config.ini https://spi.canonical.com/products/$PRODUCT_ID/baseimages/<baseimage_id> --data '{
101 "active": false

Subscribers

People subscribed via source and target branches

to all changes: