]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2012/12/index.html
Nytt oppslag.
[homepage.git] / blog / archive / 2012 / 12 / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: entries from December 2012</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel="alternate" title="RSS Feed" href="12.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <!-- XML FEED -->
13 <div class="title">
14 <h1>
15 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <h3>Entries from December 2012.</h3>
23
24 <div class="entry">
25 <div class="title">
26 <a href="http://people.skolelinux.org/pere/blog/Scripting_the_Cerebrum_bofhd_user_administration_system_using_XML_RPC.html">Scripting the Cerebrum/bofhd user administration system using XML-RPC</a>
27 </div>
28 <div class="date">
29 6th December 2012
30 </div>
31 <div class="body">
32 <p>Where I work at the <a href="http://www.uio.no/">University of
33 Oslo</a>, we use the
34 <a href="http://sourceforge.net/projects/cerebrum/">Cerebrum user
35 administration system</a> to maintain users, groups, DNS, DHCP, etc.
36 I've known since the system was written that the server is providing
37 an <a href="http://en.wikipedia.org/wiki/XML-RPC">XML-RPC</a> API, but
38 I have never spent time to try to figure out how to use it, as we
39 always use the bofh command line client at work. Until today. I want
40 to script the updating of DNS and DHCP to make it easier to set up
41 virtual machines. Here are a few notes on how to use it with
42 Python.</p>
43
44 <p>I started by looking at the source of the Java
45 <a href="http://cerebrum.svn.sourceforge.net/viewvc/cerebrum/trunk/cerebrum/clients/jbofh/">bofh
46 client</a>, to figure out how it connected to the API server. I also
47 googled for python examples on how to use XML-RPC, and found
48 <a href="http://tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-python.html">a
49 simple example in</a> the XML-RPC howto.</p>
50
51 <p>This simple example code show how to connect, get the list of
52 commands (as a JSON dump), and how to get the information about the
53 user currently logged in:</p>
54
55 <blockquote><pre>
56 #!/usr/bin/env python
57 import getpass
58 import xmlrpclib
59 server_url = 'https://cerebrum-uio.uio.no:8000';
60 username = getpass.getuser()
61 password = getpass.getpass()
62 server = xmlrpclib.Server(server_url);
63 #print server.get_commands(sessionid)
64 sessionid = server.login(username, password)
65 print server.run_command(sessionid, "user_info", username)
66 result = server.logout(sessionid)
67 print result
68 </pre></blockquote>
69
70 <p>Armed with this knowledge I can now move forward and script the DNS
71 and DHCP updates I wanted to do.</p>
72
73 </div>
74 <div class="tags">
75
76
77 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin</a>.
78
79
80 </div>
81 </div>
82 <div class="padding"></div>
83
84 <p style="text-align: right;"><a href="12.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
85 <div id="sidebar">
86
87
88
89 <h2>Archive</h2>
90 <ul>
91
92 <li>2012
93 <ul>
94
95 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
96
97 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
98
99 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
100
101 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
102
103 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
104
105 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
106
107 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
108
109 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
110
111 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
112
113 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
114
115 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
116
117 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (1)</a></li>
118
119 </ul></li>
120
121 <li>2011
122 <ul>
123
124 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
125
126 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
127
128 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
129
130 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
131
132 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
133
134 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
135
136 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
137
138 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
139
140 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
141
142 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
143
144 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
145
146 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
147
148 </ul></li>
149
150 <li>2010
151 <ul>
152
153 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
154
155 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
156
157 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
158
159 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
160
161 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
162
163 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
164
165 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
166
167 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
168
169 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
170
171 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
172
173 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
174
175 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
176
177 </ul></li>
178
179 <li>2009
180 <ul>
181
182 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
183
184 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
185
186 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
187
188 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
189
190 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
191
192 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
193
194 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
195
196 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
197
198 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
199
200 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
201
202 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
203
204 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
205
206 </ul></li>
207
208 <li>2008
209 <ul>
210
211 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
212
213 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
214
215 </ul></li>
216
217 </ul>
218
219
220
221 <h2>Tags</h2>
222 <ul>
223
224 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
225
226 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
227
228 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
229
230 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (3)</a></li>
231
232 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (3)</a></li>
233
234 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (12)</a></li>
235
236 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
237
238 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (57)</a></li>
239
240 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (116)</a></li>
241
242 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (9)</a></li>
243
244 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (7)</a></li>
245
246 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
247
248 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (161)</a></li>
249
250 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (20)</a></li>
251
252 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
253
254 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (9)</a></li>
255
256 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (9)</a></li>
257
258 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (32)</a></li>
259
260 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (17)</a></li>
261
262 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
263
264 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (5)</a></li>
265
266 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
267
268 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
269
270 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (216)</a></li>
271
272 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (147)</a></li>
273
274 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (6)</a></li>
275
276 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
277
278 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (39)</a></li>
279
280 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (60)</a></li>
281
282 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
283
284 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
285
286 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
287
288 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (4)</a></li>
289
290 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
291
292 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
293
294 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
295
296 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (28)</a></li>
297
298 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
299
300 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
301
302 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (39)</a></li>
303
304 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
305
306 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (5)</a></li>
307
308 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (12)</a></li>
309
310 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
311
312 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (7)</a></li>
313
314 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (35)</a></li>
315
316 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
317
318 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (26)</a></li>
319
320 </ul>
321
322
323 </div>
324 <p style="text-align: right">
325 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.4</a>
326 </p>
327
328 </body>
329 </html>