summaryrefslogtreecommitdiff
path: root/src/talks/glean.hbs
diff options
context:
space:
mode:
Diffstat (limited to 'src/talks/glean.hbs')
-rw-r--r--src/talks/glean.hbs146
1 files changed, 146 insertions, 0 deletions
diff --git a/src/talks/glean.hbs b/src/talks/glean.hbs
new file mode 100644
index 0000000..4f9b40d
--- /dev/null
+++ b/src/talks/glean.hbs
@@ -0,0 +1,146 @@
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 </head>
9 <body>
10
11
12 <section>
13 <h1>When you boot a VM, it needs boot time data or bootstrapping</h1>
14 </section>
15
16 <section>
17 <h1>I use ansible for orchestration</h1>
18 </section>
19
20 <section>
21 <h1>I don't need boot time fancy,
22 I <em>JUST</em> need ssh bootstrap</h1>
23 <p class='fragment'>Ok. And maybe network</p>
24 </section>
25
26 <section>
27 <h1>Things I must consume at boot</h1>
28 <ul>
29 <li class='fragment'>
30 Network Configuration
31 </li>
32 <li class='fragment'>
33 <em>maybe</em> SSH Keys
34 </li>
35 </ul>
36 </section>
37
38 <section class="slide level2">
39 <h1>Network information should be easy</h1>
40 <p>There is this thing called DHCP</p>
41 <p>Dynamic Host Configuration Protocol</p>
42 </section>
43
44 <section class="slide level2">
45 <img src="/images/worstcat-lettuce.jpg" />
46 </section>
47
48 <section class="slide level2">
49 <h1>Some providers don't support DHCP - because bong</h1>
50 </section>
51
52 <section class="slide level2">
53 <h1>cloud-init</h1>
54 <p>Handles many cases, but not all</p>
55 <p>Has lots of dependencies that conflict with gate depends</p>
56 <p>'frozen' pending 2.0 rewrite</p>
57 </section>
58
59 <section class="slide level2">
60 <h1>glean</h1>
61 <h3>http://git.openstack.org/cgit/openstack-infra/glean</h3>
62 <ul>
63 <p>No dependencies</p>
64 <p>Handles future static network config in config drive</p>
65 <p>Optionally also reads ssh keys from config drive</p>
66 <p>Nothing else</p>
67 </ul>
68 </section>
69
70 <section>
71 <h1>network_info.json</h1>
72 <p>Hopefully added in liberty</p>
73 <pre>
74services:
75- type: dns
76 address: 72.3.128.241
77- type: dns
78 address: 72.3.128.240
79networks:
80- network_id: 00000000-0000-0000-0000-000000000000
81 type: ipv4
82 netmask: 255.255.255.0
83 link: tapfafb5c05-a6
84 routes:
85 - netmask: 0.0.0.0
86 network: 0.0.0.0
87 gateway: 23.253.229.1
88 ip_address: 23.253.229.154
89 id: network0
90- network_id: 11111111-1111-1111-1111-111111111111
91 type: ipv4
92 netmask: 255.255.224.0
93 link: tape501e1cd-10
94 routes:
95 - netmask: 255.240.0.0
96 network: 10.176.0.0
97 gateway: 10.208.160.1
98 - netmask: 255.240.0.0
99 network: 10.208.0.0
100 gateway: 10.208.160.1
101 ip_address: 10.208.169.118
102 id: network1
103links:
104- ethernet_mac_address: BC:76:4E:01:62:86
105 mtu: 1500
106 type: null
107 id: tapfafb5c05-a6
108 vif_id: fafb5c05-a661-48ae-9810-46601c7e22d1
109- ethernet_mac_address: BC:76:4E:05:7B:06
110 mtu: 1500
111 type: null
112 id: tape501e1cd-10
113 vif_id: e501e1cd-10d0-4e63-b0c2-6542989ccbb2
114 </pre>
115 </section>
116
117 <section class="slide level2">
118 <h1>Integrated with diskimage-builder</h1>
119 <pre>
120disk-image-create -o debian.qcow2 debian-minimal vm simple-init
121 </pre>
122 </section>
123
124 <section class="slide level2">
125 <h1>You know what has less depends than minimal python?</h1>
126 </section>
127
128 <section class="slide level2">
129 <h1>Rust</h1>
130 </section>
131
132 <section class="slide level2">
133 <h1>glean.rs</h1>
134 <h3>https://gitlab.com/mordred/glean.rs</h3>
135 </section>
136
137 <section>
138 <h1> Thank you! </h1>
139 <h4> <a href='http://inaugust.com/talks/glean.html'>http://inaugust.com/talks/glean.html</a> </h4>
140 <h3> twitter: @e_monty </h3>
141 </section>
142
143 </div>
144
145</body>
146</html>