diff options
| author | Monty Taylor <mordred@inaugust.com> | 2016-09-22 09:04:13 +0200 |
|---|---|---|
| committer | Monty Taylor <mordred@inaugust.com> | 2016-09-22 09:07:21 +0200 |
| commit | 6ea315fa4c40ca91895b093848941b616e45efeb (patch) | |
| tree | a9c1e338fa1b48f5befc9b6a8ffa5789ca797fb7 | |
| parent | e4ad154f540a73e5c80fffc21e238c8164342ca5 (diff) | |
Update who cares talk for OpenStack Days Nordic
| -rw-r--r-- | src/images/infra-zuul-architecture.png | bin | 0 -> 211036 bytes | |||
| -rw-r--r-- | src/talks/who-cares.hbs | 73 | ||||
| -rw-r--r-- | src/talks/zuulv3.hbs | 92 |
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> |
| 211 | clouds: | 211 | clouds: |
| 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> | ||
