summaryrefslogtreecommitdiff
path: root/src/talks/glean/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/talks/glean/index.html')
-rw-r--r--src/talks/glean/index.html209
1 files changed, 209 insertions, 0 deletions
diff --git a/src/talks/glean/index.html b/src/talks/glean/index.html
new file mode 100644
index 0000000..bbf943a
--- /dev/null
+++ b/src/talks/glean/index.html
@@ -0,0 +1,209 @@
1<!doctype html>
2<html lang="en">
3
4 <head>
5 <meta charset="utf-8">
6
7 <title>glean: a minimal non-cloud-init cloud-init</title>
8
9 <meta name="apple-mobile-web-app-capable" content="yes" />
10 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
11
12 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
13
14 <link rel="stylesheet" href="/css/reveal.css">
15 <link rel="stylesheet" href="/css/theme/openstack.css" id="theme">
16
17 <!-- For syntax highlighting -->
18 <link rel="stylesheet" href="/lib/css/zenburn.css">
19
20 <!-- If the query includes 'print-pdf', include the PDF print sheet -->
21 <script>
22 if( window.location.search.match( /print-pdf/gi ) ) {
23 var link = document.createElement( 'link' );
24 link.rel = 'stylesheet';
25 link.type = 'text/css';
26 link.href = '/css/print/pdf.css';
27 document.getElementsByTagName( 'head' )[0].appendChild( link );
28 }
29 </script>
30
31 </head>
32 <body>
33
34 <div class="background"></div>
35
36 <div class="reveal">
37 <div class="slides">
38
39 <section data-state="cover">
40 <h1><span xmlns:dct="http://purl.org/dc/terms/"
41 href="http://purl.org/dc/dcmitype/InteractiveResource"
42 property="dct:title"
43 rel="dct:type">
44 glean: a minimal non-cloud-init cloud-init
45 </span></h1>
46 <h3 xmlns:cc="http://creativecommons.org/ns#"
47 property="cc:attributionName">Monty Taylor</h3>
48 <h4><a xmlns:cc="http://creativecommons.org/ns#"
49 rel="cc:attributionURL"
50 href='http://inaugust.com/talks/os-client-config.html'>http://inaugust.com/talks/glean.html</a> </h4>
51 <h3> twitter: @e_monty </h3>
52 </section>
53
54 <section>
55 <h1>When you boot a VM, it needs boot time data or bootstrapping</h1>
56 </section>
57
58 <section>
59 <h1>I use ansible for orchestration</h1>
60 </section>
61
62 <section>
63 <h1>I don't need boot time fancy,
64 I <em>JUST</em> need ssh bootstrap</h1>
65 <p class='fragment'>Ok. And maybe network</p>
66 </section>
67
68 <section>
69 <h1>Things I must consume at boot</h1>
70 <ul>
71 <li class='fragment'>
72 Network Configuration
73 </li>
74 <li class='fragment'>
75 <em>maybe</em> SSH Keys
76 </li>
77 </ul>
78 </section>
79
80 <section class="slide level2">
81 <h1>Network information should be easy</h1>
82 <p>There is this thing called DHCP</p>
83 <p>Dynamic Host Configuration Protocol</p>
84 </section>
85
86 <section class="slide level2">
87 <img src="/images/worstcat-lettuce.jpg" />
88 </section>
89
90 <section class="slide level2">
91 <h1>Some providers don't support DHCP - because bong</h1>
92 </section>
93
94 <section class="slide level2">
95 <h1>cloud-init</h1>
96 <p>Handles many cases, but not all</p>
97 <p>Has lots of dependencies that conflict with gate depends</p>
98 <p>'frozen' pending 2.0 rewrite</p>
99 </section>
100
101 <section class="slide level2">
102 <h1>glean</h1>
103 <h3>http://git.openstack.org/cgit/openstack-infra/glean</h3>
104 <ul>
105 <p>No dependencies</p>
106 <p>Handles future static network config in config drive</p>
107 <p>Optionally also reads ssh keys from config drive</p>
108 <p>Nothing else</p>
109 </ul>
110 </section>
111
112 <section>
113 <h1>network_info.json</h1>
114 <p>Hopefully added in liberty</p>
115 <pre>
116services:
117- type: dns
118 address: 72.3.128.241
119- type: dns
120 address: 72.3.128.240
121networks:
122- network_id: 00000000-0000-0000-0000-000000000000
123 type: ipv4
124 netmask: 255.255.255.0
125 link: tapfafb5c05-a6
126 routes:
127 - netmask: 0.0.0.0
128 network: 0.0.0.0
129 gateway: 23.253.229.1
130 ip_address: 23.253.229.154
131 id: network0
132- network_id: 11111111-1111-1111-1111-111111111111
133 type: ipv4
134 netmask: 255.255.224.0
135 link: tape501e1cd-10
136 routes:
137 - netmask: 255.240.0.0
138 network: 10.176.0.0
139 gateway: 10.208.160.1
140 - netmask: 255.240.0.0
141 network: 10.208.0.0
142 gateway: 10.208.160.1
143 ip_address: 10.208.169.118
144 id: network1
145links:
146- ethernet_mac_address: BC:76:4E:01:62:86
147 mtu: 1500
148 type: null
149 id: tapfafb5c05-a6
150 vif_id: fafb5c05-a661-48ae-9810-46601c7e22d1
151- ethernet_mac_address: BC:76:4E:05:7B:06
152 mtu: 1500
153 type: null
154 id: tape501e1cd-10
155 vif_id: e501e1cd-10d0-4e63-b0c2-6542989ccbb2
156 </pre>
157 </section>
158
159 <section class="slide level2">
160 <h1>Integrated with diskimage-builder</h1>
161 <pre>
162disk-image-create -o debian.qcow2 debian-minimal vm simple-init
163 </pre>
164 </section>
165
166 <section class="slide level2">
167 <h1>You know what has less depends than minimal python?</h1>
168 </section>
169
170 <section class="slide level2">
171 <h1>Rust</h1>
172 </section>
173
174 <section class="slide level2">
175 <h1>glean.rs</h1>
176 <h3>https://gitlab.com/mordred/glean.rs</h3>
177 </section>
178
179 <section>
180 <h1> Thank you! </h1>
181 <h4> <a href='http://inaugust.com/talks/glean.html'>http://inaugust.com/talks/glean.html</a> </h4>
182 <h3> twitter: @e_monty </h3>
183 </section>
184
185 </div>
186
187 <div class="footer">
188 <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">
189 <img alt="Creative Commons License"
190 style="border-width:0"
191 src="https://i.creativecommons.org/l/by/4.0/88x31.png" />
192 </a><br />
193 Licensed under a
194 <a rel="license"
195 href="http://creativecommons.org/licenses/by/4.0/">
196 Creative Commons Attribution 4.0 International License
197 </a>.
198 <br />
199 Source code available at <a href='http://git.inaugust.com/cgit/inaugust.com'>http://git.inaugust.com/cgit/inaugust.com</a>
200 </div>
201 </div>
202
203 <script src="/lib/js/head.min.js"></script>
204 <script src="/js/reveal.js"></script>
205
206 <script src="/js/this.js"></script>
207
208</body>
209</html>