summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames E. Blair <jeblair@redhat.com>2018-04-17 09:37:39 -0700
committerJames E. Blair <jeblair@redhat.com>2018-04-17 14:57:26 -0700
commit0a213fc51ab4bd574ffb54091a804700a081c3c6 (patch)
treeebc653d071eb45770e89ca020dc056ffbb5e82cc
parentd50e73ab2b57ad3a884959305fdce2a23322c5f7 (diff)
Add simulation video
Notes
Notes (review): Code-Review+2: Jeremy Stanley <fungi@yuggoth.org> Code-Review+2: James E. Blair <corvus@inaugust.com> Workflow+1: James E. Blair <corvus@inaugust.com> Verified+2: Zuul Submitted-by: Zuul Submitted-at: Tue, 24 Apr 2018 14:26:14 +0000 Reviewed-on: https://review.openstack.org/562001 Project: openstack-infra/zuul-website-media Branch: refs/heads/master
-rw-r--r--media/README.txt1
-rw-r--r--media/simulation-poster.pngbin0 -> 118457 bytes
-rw-r--r--media/simulation.mp4bin0 -> 3281589 bytes
-rw-r--r--media/simulation.vtt181
-rw-r--r--media/simulation.webmbin0 -> 2931260 bytes
5 files changed, 181 insertions, 1 deletions
diff --git a/media/README.txt b/media/README.txt
deleted file mode 100644
index 75ed9b6..0000000
--- a/media/README.txt
+++ /dev/null
@@ -1 +0,0 @@
1Placeholder.
diff --git a/media/simulation-poster.png b/media/simulation-poster.png
new file mode 100644
index 0000000..5598ff0
--- /dev/null
+++ b/media/simulation-poster.png
Binary files differ
diff --git a/media/simulation.mp4 b/media/simulation.mp4
new file mode 100644
index 0000000..121f629
--- /dev/null
+++ b/media/simulation.mp4
Binary files differ
diff --git a/media/simulation.vtt b/media/simulation.vtt
new file mode 100644
index 0000000..0daee66
--- /dev/null
+++ b/media/simulation.vtt
@@ -0,0 +1,181 @@
1WEBVTT
2
300:00:00.000 --> 00:00:05.843
4Zuul can be used to ensure that every commit
5merged into a project has passed tests
6
700:00:05.844 --> 00:00:09.442
8and the project continues to work
9with its dependencies.
10
1100:00:09.443 --> 00:00:14.402
12When a change or pull request is approved
13Zuul adds it to the gate pipeline.
14
1500:00:14.403 --> 00:00:18.242
16This pipeline holds changes to be merged
17into their respective projects
18
1900:00:18.243 --> 00:00:20.882
20in the order in which they are going to merge.
21
2200:00:20.883 --> 00:00:23.282
23This ordering can be determined explicitly
24
2500:00:23.283 --> 00:00:25.843
26if a user adds a "Depends-On" line
27to the commit message.
28
2900:00:25.844 --> 00:00:30.003
30In that case, Zuul will make sure that the
31dependency is enqueued first
32
3300:00:30.004 --> 00:00:32.551
34followed by the change that depends on it.
35
3600:00:32.552 --> 00:00:36.657
37Or as in this case the order might simply be
38determined by the order
39
4000:00:36.658 --> 00:00:39.616
41in which changes are approved
42by the project's developers.
43
4400:00:39.617 --> 00:00:41.290
45In the example shown here
46
4700:00:41.291 --> 00:00:44.174
48developers have approved
49two changes to Nova,
50
5100:00:44.177 --> 00:00:45.700
52one change to Keystone,
53
5400:00:45.701 --> 00:00:48.094
55followed by one more change to Nova.
56
5700:00:48.097 --> 00:00:50.896
58As soon as a change is enqueued
59into the gate pipeline
60
6100:00:50.897 --> 00:00:53.376
62Zuul starts running jobs for that change.
63
6400:00:53.377 --> 00:00:57.216
65Each item in the pipeline represents
66a future state of its project
67
6800:00:57.217 --> 00:01:01.616
69but also includes the future state
70of all the projects ahead of it in the queue.
71
7200:01:01.617 --> 00:01:05.136
73So in this case, the tests which are running
74on the second Nova change
75
7600:01:05.137 --> 00:01:08.816
77include the commit for that change
78as well as the first.
79
8000:01:08.817 --> 00:01:12.977
81Nova and Keystone are tested together
82in the integration test job
83
8400:01:12.978 --> 00:01:15.596
85so when that job runs on change #3
86
8700:01:15.597 --> 00:01:17.836
88it is testing not only the Keystone change
89
9000:01:17.837 --> 00:01:20.156
91but both Nova changes as well.
92
9300:01:20.157 --> 00:01:24.071
94Inside that test job,
95it is as if all the changes ahead of it
96
9700:01:24.072 --> 00:01:25.991
98in the queue have already merged.
99
10000:01:25.992 --> 00:01:30.631
101In this way, Zuul tests the changes as they
102would be merged into the git repository
103
10400:01:30.632 --> 00:01:32.711
105not simply as they were written.
106
10700:01:32.712 --> 00:01:35.351
108Zuul runs all of these tests in parallel
109
11000:01:35.352 --> 00:01:36.951
111but as soon as a job fails,
112
11300:01:36.952 --> 00:01:39.491
114the future that Zuul predicted
115is no longer valid --
116
11700:01:39.492 --> 00:01:42.051
118we know that change is not going to merge.
119
12000:01:42.052 --> 00:01:45.651
121All of the tests for changes behind it
122in the queue are outdated
123
12400:01:45.652 --> 00:01:48.611
125so Zuul cancels any running jobs
126for those changes.
127
12800:01:48.612 --> 00:01:52.051
129Here we can see that not only has
130change #4 failed
131
13200:01:52.052 --> 00:01:54.451
133but change #3 has as well.
134
13500:01:54.452 --> 00:01:57.651
136Because #3 failed and is no longer
137eligible to merge
138
13900:01:57.652 --> 00:02:01.171
140Zuul has invalidated the earlier
141test results for #4
142
14300:02:01.172 --> 00:02:06.371
144and has re-started jobs for #4 with only
145changes #1 and #2 included this time.
146
14700:02:06.372 --> 00:02:11.151
148Change #3 stays in the queue in case
149one of the changes ahead of it fails
150
15100:02:11.152 --> 00:02:14.512
152but unless that happens it will not be merged.
153
15400:02:14.513 --> 00:02:17.472
155As changes #1 and #2 complete their tests
156
15700:02:17.473 --> 00:02:20.592
158each of them is merged into
159the Nova repository.
160
16100:02:20.593 --> 00:02:21.794
162Once that is complete
163
16400:02:21.795 --> 00:02:26.914
165it is safe to report the Keystone change #3
166as having failed its tests
167
16800:02:26.915 --> 00:02:30.274
169Finally, the tests for Nova
170change #4 are passing now
171
17200:02:30.275 --> 00:02:33.714
173confirming that the earlier problem
174was due to the Keystone change
175
17600:02:33.715 --> 00:02:37.053
177Zuul merges the final Nova
178change into the repository
179
18000:02:37.054 --> 00:02:39.766
181once all tests are complete.
diff --git a/media/simulation.webm b/media/simulation.webm
new file mode 100644
index 0000000..2b505c3
--- /dev/null
+++ b/media/simulation.webm
Binary files differ