summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonty Taylor <mordred@inaugust.com>2016-09-22 09:04:13 +0200
committerMonty Taylor <mordred@inaugust.com>2016-09-22 09:07:21 +0200
commit6ea315fa4c40ca91895b093848941b616e45efeb (patch)
treea9c1e338fa1b48f5befc9b6a8ffa5789ca797fb7
parente4ad154f540a73e5c80fffc21e238c8164342ca5 (diff)
Update who cares talk for OpenStack Days Nordic
-rw-r--r--src/images/infra-zuul-architecture.pngbin0 -> 211036 bytes
-rw-r--r--src/talks/who-cares.hbs73
-rw-r--r--src/talks/zuulv3.hbs92
3 files changed, 40 insertions, 125 deletions
diff --git a/src/images/infra-zuul-architecture.png b/src/images/infra-zuul-architecture.png
new file mode 100644
index 0000000..d029582
--- /dev/null
+++ b/src/images/infra-zuul-architecture.png
Binary files differ
diff --git a/src/talks/who-cares.hbs b/src/talks/who-cares.hbs
index e236e4c..3ee0c2e 100644
--- a/src/talks/who-cares.hbs
+++ b/src/talks/who-cares.hbs
@@ -65,7 +65,7 @@
65 65
66 66
67 <p class='fragment'>10-20k VMs per-day</p> 67 <p class='fragment'>10-20k VMs per-day</p>
68 <p class='fragment'>10 Cloud Regions in 7 clouds</p> 68 <p class='fragment'>12 Cloud Regions in 8 clouds</p>
69 <p class='fragment'>Only using OpenStack APIs</p> 69 <p class='fragment'>Only using OpenStack APIs</p>
70 70
71 </section> 71 </section>
@@ -96,12 +96,12 @@
96 <h1>1.7 Million Test Jobs in the last 6 Months</h1> 96 <h1>1.7 Million Test Jobs in the last 6 Months</h1>
97 </section> 97 </section>
98 98
99 <section id="million-tests-in-a-month" class="slide level2" data-transition='zoom'> 99 <section id="kjph" class="slide level2" data-transition='zoom'>
100 <h1>15 Million Tests in a month</h1> 100 <h1>2 kjph</h1>
101 </section> 101 </section>
102 102
103 <section id="terabytes-of-log-data-in-six-months" class="slide level2" data-transition='zoom'> 103 <section id="kilo-jobs-per-hour" class="slide level2" data-transition='zoom'>
104 <h1>18 Terabytes of Log Data in six months</h1> 104 <h1>2 klo jobs per hour</h1>
105 </section> 105 </section>
106 106
107 <section id="our-vms-are-everywhere" class="slide level2"> 107 <section id="our-vms-are-everywhere" class="slide level2">
@@ -109,20 +109,19 @@
109 <h3>Public Clouds</h3> 109 <h3>Public Clouds</h3>
110 <ul> 110 <ul>
111 <li>Rackspace: Dallas, Chicago, DC</li> 111 <li>Rackspace: Dallas, Chicago, DC</li>
112 <li>Internap: New York</li> 112 <li>Internap: New Jersey, Montreal</li>
113 <li>OVH: Strassbourg, Gravelines</li> 113 <li>OVH: Strassbourg, Gravelines</li>
114 <li>Vexxhost: Montreal</li>
115 <li>OpenStack Innovation Center: San Antonio</li>
116 </ul> 114 </ul>
117 <h3>Private Clouds</h3> 115 <h3>Managed Private Clouds</h3>
118 <ul> 116 <ul>
117 <li>OpenStack Innovation Center: San Antonio</li>
119 <li>Blue Box: San Jose</li> 118 <li>Blue Box: San Jose</li>
120 <li>Red Hat: Phoenix</li> 119 <li>Red Hat TripleO: Phoenix</li>
121 </ul> 120 </ul>
122 </section> 121 </section>
123 122
124 <section id="we-also-have-servers" class="slide level2"> 123 <section id="we-also-have-servers" class="slide level2">
125 <h1>We also have servers</h1> 124 <h1>Private Cloud</h1>
126 <h2>Infra Cloud</h2> 125 <h2>Infra Cloud</h2>
127 <ul> 126 <ul>
128 <li>Hardware donated by HPE: Houston</li> 127 <li>Hardware donated by HPE: Houston</li>
@@ -132,8 +131,7 @@
132 </section> 131 </section>
133 132
134 <section id="architecture" class="slide level2"> 133 <section id="architecture" class="slide level2">
135 <h1>Architecture</h1> 134 <p><img src="/images/infra-zuul-architecture.png" alt="image" /></p>
136 <p><img src="/images/infra_architecture.jpg" alt="image" /></p>
137 </section> 135 </section>
138 136
139 <section class="slide level2"> 137 <section class="slide level2">
@@ -150,6 +148,7 @@
150 <img src="/images/gerrit-graph.png" /> 148 <img src="/images/gerrit-graph.png" />
151 </section> 149 </section>
152 150
151 <!--
153 <section class="slide level2"> 152 <section class="slide level2">
154 <h1>Fun Numbers</h1> 153 <h1>Fun Numbers</h1>
155 <ul> 154 <ul>
@@ -162,6 +161,7 @@
162 <section class="slide level2"> 161 <section class="slide level2">
163 <img src="/images/what-happens.png" /> 162 <img src="/images/what-happens.png" />
164 </section> 163 </section>
164 -->
165 165
166 <section class="slide level2"> 166 <section class="slide level2">
167 <h1>nodepool</h1> 167 <h1>nodepool</h1>
@@ -209,13 +209,18 @@
209 <p>~/.config/openstack/clouds.yaml</p> 209 <p>~/.config/openstack/clouds.yaml</p>
210 <pre> 210 <pre>
211clouds: 211clouds:
212 vexxhost: 212 citycloud:
213 profile: vexxhost 213 profile: vexxhost
214 auth: 214 auth:
215 project_name: d8af8a8f-a573-48e6-898a-af333b970a2d 215 username: mordred
216 username: 0b8c435b-cc4d-4e05-8a47-a2ada0539af1 216 password: XXXXXXXXXXXXXXXXXXXXX
217 password: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 217 project_id: 65222a4d09ea4c68934fa1028c77f394
218 region_name: ca-ymq-1 218 user_domain_id: d0919bd5e8d74e49adf0e145807ffc38
219 project_domain_id: d0919bd5e8d74e49adf0e145807ffc38
220 regions:
221 - Kna1
222 - Sto2
223 - Lon1
219 dreamcompute: 224 dreamcompute:
220 profile: dreamhost 225 profile: dreamhost
221 auth: 226 auth:
@@ -243,15 +248,15 @@ cloud.create_server('my-server', image='immage-name', auto_ip=True)
243 <p>Part of 2.0 release</p> 248 <p>Part of 2.0 release</p>
244 <pre> 249 <pre>
245- os_keypair: 250- os_keypair:
246 cloud: hp-mordred 251 cloud: citycloud
247 name: mordred 252 name: mordred
248 public_key_file: ~/.ssh/id_rsa.pub 253 public_key_file: ~/.ssh/id_rsa.pub
249- os_image: 254- os_image:
250 cloud: hp-mordred 255 cloud: citycloud
251 name: Monty Ubuntu 256 name: Monty Ubuntu
252 file: ubuntu.vhd 257 file: ubuntu.vhd
253- os_server: 258- os_server:
254 cloud: hp-mordred 259 cloud: citycloud
255 name: my-server 260 name: my-server
256 flavor_ram: 1024 261 flavor_ram: 1024
257 image: Monty Ubuntu 262 image: Monty Ubuntu
@@ -273,6 +278,7 @@ cloud.create_server('my-server', image='immage-name', auto_ip=True)
273 </pre> 278 </pre>
274 </section> 279 </section>
275 280
281 <!--
276 <section class="slide level2"> 282 <section class="slide level2">
277 <h1>Ansible Role Cloud Launcher</h1> 283 <h1>Ansible Role Cloud Launcher</h1>
278 <h2>http://git.openstack.org/cgit/openstack/ansible-role-cloud-launcher</h2> 284 <h2>http://git.openstack.org/cgit/openstack/ansible-role-cloud-launcher</h2>
@@ -303,6 +309,7 @@ clouds:
303 - ops 309 - ops
304 </pre> 310 </pre>
305 </section> 311 </section>
312 -->
306 313
307 <section class="slide level2"> 314 <section class="slide level2">
308 <h1>nodepool</h1> 315 <h1>nodepool</h1>
@@ -352,7 +359,7 @@ clouds:
352 <li>Put it near your users</li> 359 <li>Put it near your users</li>
353 <li>Don't put it in an NSA data center</li> 360 <li>Don't put it in an NSA data center</li>
354 <li>Locality Requirements</li> 361 <li>Locality Requirements</li>
355 <li class='fragment'>What if you have customers in China?</li> 362 <li class='fragment'>What if you have customers in Sweden?</li>
356 </ul> 363 </ul>
357 </section> 364 </section>
358 365
@@ -395,27 +402,27 @@ clouds:
395 </section> 402 </section>
396 403
397 <section class="slide level2"> 404 <section class="slide level2">
398 <h1>Chinese OpenStack</h1>
399 <p>UnitedStack</p>
400 <p>Huawei</p>
401 <p>UMCloud</p>
402 <p>EasyStack</p>
403 <p>99 Cloud</p>
404 </section>
405
406 <section class="slide level2">
407 <h1>European Public OpenStack</h1> 405 <h1>European Public OpenStack</h1>
408 <p>OVH: France</p>
409 <p>CityCloud: Sweden, UK</p> 406 <p>CityCloud: Sweden, UK</p>
410 <p>Elastx: Sweden</p>
411 <p>Datacentred: UK</p> 407 <p>Datacentred: UK</p>
408 <p>Elastx: Sweden</p>
412 <p>Enter Cloud Suite: Italy, Germany, Frankfurt</p> 409 <p>Enter Cloud Suite: Italy, Germany, Frankfurt</p>
413 <p>Internap: Netherlands, US</p> 410 <p>Internap: Netherlands, US</p>
411 <p>OVH: France</p>
414 <p>Ultimum: Czech Republic</p> 412 <p>Ultimum: Czech Republic</p>
415 <p>Zetta: Norway</p> 413 <p>Zetta: Norway</p>
416 </section> 414 </section>
417 415
418 <section class="slide level2"> 416 <section class="slide level2">
417 <h1>Chinese OpenStack</h1>
418 <p>UnitedStack</p>
419 <p>Huawei</p>
420 <p>UMCloud</p>
421 <p>EasyStack</p>
422 <p>99 Cloud</p>
423 </section>
424
425 <section class="slide level2">
419 <h1>OpenStack gives you the power to make the choices that 426 <h1>OpenStack gives you the power to make the choices that
420 are right for you and for your business</h1> 427 are right for you and for your business</h1>
421 </section> 428 </section>
diff --git a/src/talks/zuulv3.hbs b/src/talks/zuulv3.hbs
deleted file mode 100644
index 06d91e6..0000000
--- a/src/talks/zuulv3.hbs
+++ /dev/null
@@ -1,92 +0,0 @@
1<!doctype html>
2<html lang="en">
3
4 <head>
5 <meta charset="utf-8">
6
7 <title>Zuul v3</title>
8
9 </head>
10 <body>
11
12 <section id="zuul-v2-current-status" class="slide level2">
13 <h1>Zuul v2 Current Status</h1>
14 <ul>
15 <li>In production for OpenStack</li>
16 <li>Also in use by ~50 3rd-party CI systems for OpenStack</li>
17 <li>Also in use by Wikimedia, HPE and others</li>
18 <li>Receives events from and reports results to Gerrit</li>
19 <li>Multiple git repository relationship aware</li>
20 <li>Nodepool attaches single-use cloud slaves to Jenkins Master Pool</li>
21 <li>Triggers jobs on Jenkins Pool for executing job content</li>
22 <small>Jenkins serves no role except remote execution</small>
23 </ul>
24 </section>
25
26 <section class="slide level2">
27 <h1>What is Zuul v3</h1>
28 <ul>
29 <li>Replace Jenkins with Ansible</li>
30 <li>Change zuul/nodepool interaction to zuul requesting N resources from nodepool
31 <ul>
32 <li>Zuul requests N resources from nodepool</li>
33 <li>Zuul creates ansible inventory, passes to job executors</li>
34 <li>Job executor runs job content on build resources using ansible + inventory</li>
35 </ul>
36 </li>
37 <li>Add github PR integration in addition to gerrit</li>
38 <li>Add multi-tenancy for job configs and secrets</li>
39 <li>Add in-repo job configs - self testing CI config</li>
40 <li>Add reusable build resources (such as bare metal)</li>
41 <li>Add container build resources (docker, kubernetes)</li>
42 </ul>
43
44 </section>
45
46 <section id="zuul-v3-current-status" class="slide level2">
47 <h1>Zuul v3 Current Status</h1>
48 <ul>
49 <li>Zuul v3 Spec is approved - OpenStack CI will move to it</li>
50 <li>First phase of all the hard bits is done in the v3 branch</li>
51 <li>Nodepool v2 branching now as nodepool/shade integration has landed</li>
52 <li>Estimate 2 months of effort to be at initial feature complete for OpenStack</li>
53 </ul>
54 </section>
55
56 <section class="slide level2">
57 <h1>Zuul v3 Future need</h1>
58 <ul>
59 <li>Supporting expanded userbases outside of OpenStack adds importance to original wishlist features
60 <ul>
61 <li>Github Integration</li>
62 <li>Container Integration</li>
63 <li>Non-OpenStack Cloud (AWS, GCE, Azure)</li>
64 </ul>
65 </li>
66 <li>Github support for the v2 branch already written, not merged pending v3</li>
67 <li>Initial design for container integration done
68 <ul>
69 <li>Need a deeper detailed spec</li>
70 </ul>
71 </li>
72 <li>Non-OpenStack Cloud simple to implement in nodepool v2</li>
73 </ul>
74 </section>
75
76 <section class="slide level2">
77 <h1>Zuul v2.5</h1>
78 <ul>
79 <li>Waiting for Zuul v3 got costly</li>
80 <li>Zuul "2.5" is a release-valve to solve immedate problems
81 <ul>
82 <li>Jenkins replaced by Ansible</li>
83 <li>Ansible workers directly read Jenkins Job Builder templates</li>
84 <li>Accelerating review of github PR patches with view of landing in weeks</li>
85 </ul>
86 </li>
87 </ul>
88 </section>
89
90
91 </body>
92</html>