1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
<deployment version='1.0'>
<notifications>
<email role="author" />
</notifications>
<parallel>
<instance id="omega"> <!-- Eats extra system and staging tests -->
<upgrade policy='canary' revision-target='latest' revision-change='when-failing' rollout='separate' />
<test />
<staging />
</instance>
<steps>
<parallel>
<instance id="alpha-1"> <!-- Runs half the system and staging tests -->
<upgrade policy='conservative' revision-target='next' revision-change='when-failing' rollout='separate' />
<test />
<staging />
<!--block-change revision="false" days="sun,mon,tue,thu,fri,sat" hours="0-23" time-zone="UTC"/-->
</instance>
<instance id="alpha-2"> <!-- Runs half the system and staging tests -->
<upgrade policy='conservative' revision-target='next' revision-change='when-failing' rollout='separate' />
<test />
<staging />
<!--block-change revision="false" days="sun,mon,tue,thu,fri,sat" hours="0-23" time-zone="UTC"/-->
</instance>
<instance id="alpha-3"> <!-- Runs one third of the system tests, and the stress tests -->
<upgrade policy='conservative' revision-target='next' revision-change='when-failing' rollout='separate' />
<test />
<staging />
<!--block-change revision="false" days="sun,mon,tue,thu,fri,sat" hours="0-23" time-zone="UTC"/-->
<prod>
<region>us-west-1</region>
</prod>
</instance>
</parallel>
<instance id="beta">
<!-- Consider allowing risk based rollout with when-failing ... -->
<upgrade policy='conservative' revision-target='next' revision-change='when-clear' rollout='separate' min-risk='3' max-risk='12' max-idle-hours='8' />
<!--block-change revision="false" days="sun,mon,tue,thu,fri,sat" hours="0-23" time-zone="UTC"/-->
<prod>
<region>us-west-1</region>
<delay hours='1' />
<test>us-west-1</test>
</prod>
</instance>
<parallel>
<instance id="prod5">
<upgrade policy='conservative' revision-target='next' revision-change='when-clear' rollout='separate' min-risk='6' max-risk='12' max-idle-hours='32' />
<!--block-change version="false" days="thu,fri,sat" hours="0-23" time-zone="UTC"/-->
<!--block-change revision="false" days="sun,mon,tue,wed,fri,sat" hours="0-23" time-zone="UTC"/-->
<prod>
<region>us-west-1</region>
<delay hours='8' />
<test>us-west-1</test>
</prod>
</instance>
</parallel>
<parallel>
<instance id="prod15">
<upgrade policy='conservative' revision-target='next' revision-change='when-clear' rollout='separate' min-risk='6' max-risk='12' max-idle-hours='32' />
<!--block-change version="false" days="thu,fri,sat" hours="0-23" time-zone="UTC"/-->
<!--block-change revision="false" days="sun,mon,tue,wed,fri,sat" hours="0-23" time-zone="UTC"/-->
<prod>
<parallel>
<region>us-central-1</region>
<region>eu-west-1</region>
<region>aws-us-east-1a</region>
</parallel>
<delay hours='8' />
<test>us-central-1</test>
</prod>
</instance>
<instance id="prod25">
<upgrade policy='conservative' revision-target='next' revision-change='when-clear' rollout='separate' min-risk='6' max-risk='12' max-idle-hours='32' />
<!--block-change version="false" days="thu,fri,sat" hours="0-23" time-zone="UTC"/-->
<!--block-change revision="false" days="sun,mon,tue,wed,fri,sat" hours="0-23" time-zone="UTC"/-->
<prod>
<parallel>
<region>us-west-1</region>
<region>us-east-3</region>
<region>ap-northeast-1</region>
</parallel>
<delay hours='8' />
<test>us-west-1</test>
</prod>
</instance>
</parallel>
<parallel>
<instance id="prod50">
<upgrade policy='conservative' revision-target='next' revision-change='when-clear' rollout='separate' min-risk='6' max-risk='12' max-idle-hours='32' />
<!--block-change version="false" days="thu,fri,sat" hours="0-23" time-zone="UTC"/-->
<!--block-change revision="false" days="sun,mon,tue,wed,fri,sat" hours="0-23" time-zone="UTC"/-->
<prod>
<parallel>
<region>us-central-1</region>
<region>eu-west-1</region>
<region>aws-us-east-1a</region>
</parallel>
</prod>
</instance>
<instance id="prod100">
<upgrade policy='conservative' revision-target='next' revision-change='when-clear' rollout='separate' min-risk='6' max-risk='12' max-idle-hours='32' />
<!--block-change version="false" days="thu,fri,sat" hours="0-23" time-zone="UTC"/-->
<!--block-change revision="false" days="sun,mon,tue,wed,fri,sat" hours="0-23" time-zone="UTC"/-->
<prod>
<parallel>
<region>us-west-1</region>
<region>us-east-3</region>
<region>ap-northeast-1</region>
</parallel>
</prod>
</instance>
</parallel>
</steps>
</parallel>
</deployment>
|