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