@@ -109,6 +109,8 @@ def mds_dump(self, epoch = None, **kwargs):
109109
110110
111111 def mds_getmap (self , epoch = None , ** kwargs ):
112+ kwargs ['supported_body_types' ] = ['binary' ]
113+
112114 if epoch is not None :
113115 return self .get ('mds/getmap?epoch={0}' .format (epoch ), ** kwargs )
114116 else :
@@ -153,14 +155,22 @@ def osd_find(self, id, **kwargs):
153155 return self .get ('osd/find?id={0}' .format (id ), ** kwargs )
154156
155157
156- def osd_getcrushmap (self , ** kwargs ):
157- # Could not get this to work yet
158- raise exceptions .FunctionNotImplemented ()
158+ def osd_getcrushmap (self , epoch = None , ** kwargs ):
159+ kwargs ['supported_body_types' ] = ['binary' ]
160+
161+ if epoch is not None :
162+ return self .get ('osd/getcrushmap?epoch={0}' .format (epoch ), ** kwargs )
163+ else :
164+ return self .get ('osd/getcrushmap' , ** kwargs )
165+
159166
167+ def osd_getmap (self , epoch = None , ** kwargs ):
168+ kwargs ['supported_body_types' ] = ['binary' ]
160169
161- def osd_getmap (self , ** kwargs ):
162- # Could not get this to work yet
163- raise exceptions .FunctionNotImplemented ()
170+ if epoch is not None :
171+ return self .get ('osd/getmap?epoch={0}' .format (epoch ), ** kwargs )
172+ else :
173+ return self .get ('osd/getmap' , ** kwargs )
164174
165175
166176 def osd_getmaxosd (self , ** kwargs ):
@@ -181,8 +191,8 @@ def osd_lspools(self, auid = None, **kwargs):
181191 return self .get ('osd/lspools' , ** kwargs )
182192
183193
184- def osd_map (self , ** kwargs ):
185- raise exceptions . FunctionNotImplemented ( )
194+ def osd_map (self , pool , object , ** kwargs ):
195+ return self . get ( 'osd/map?pool={0}&object={1}' . format ( pool , object ), ** kwargs )
186196
187197
188198 def osd_perf (self , ** kwargs ):
@@ -222,13 +232,17 @@ def mon_dump(self, epoch = None, **kwargs):
222232 return self .get ('mon/dump' , ** kwargs )
223233
224234
225- def mon_getmap (self , ** kwargs ):
226- # Could not get this to work yet
227- raise exceptions .FunctionNotImplemented ()
235+ def mon_getmap (self , epoch = None , ** kwargs ):
236+ kwargs ['supported_body_types' ] = ['binary' ]
228237
238+ if epoch is not None :
239+ return self .get ('mon/getmap?epoch={0}' .format (epoch ), ** kwargs )
240+ else :
241+ return self .get ('mon/getmap' , ** kwargs )
229242
230243 def mon_stat (self , ** kwargs ):
231- # TODO: Seems broken ? Returns null.
244+ kwargs ['supported_body_types' ] = ['text' , 'xml' ]
245+
232246 return self .get ('mon/stat' , ** kwargs )
233247
234248
@@ -240,33 +254,43 @@ def mon_status(self, **kwargs):
240254 # pg GET calls
241255 ###
242256 def pg_debug (self , debugop , ** kwargs ):
243- return self . get ( 'pg/debug?debugop={0}' . format ( debugop ), kwargs )
257+ kwargs [ 'supported_body_types' ] = [ 'text' , 'xml' ]
244258
259+ return self .get ('pg/debug?debugop={0}' .format (debugop ), kwargs )
245260
246- def pg_dump (self , ** kwargs ):
247- raise exceptions .FunctionNotImplemented ()
248261
262+ def pg_dump (self , dumpcontents = None , ** kwargs ):
263+ if dumpcontents is not None :
264+ return self .get ('pg/dump?dumpcontents={0}' .format (dumpcontents ), ** kwargs )
265+ else :
266+ return self .get ('pg/dump' , ** kwargs )
249267
250- def pg_dump_json (self , ** kwargs ):
251- raise exceptions .FunctionNotImplemented ()
268+ def pg_dump_json (self , dumpcontents = None , ** kwargs ):
269+ if dumpcontents is not None :
270+ return self .get ('pg/dump_json?dumpcontents={0}' .format (dumpcontents ), ** kwargs )
271+ else :
272+ return self .get ('pg/dump_json' , ** kwargs )
252273
253274
254275 def pg_dump_pools_json (self , ** kwargs ):
255- raise exceptions . FunctionNotImplemented ( )
276+ return self . get ( 'pg/dump_pools_json' , ** kwargs )
256277
257278
258- def pg_dump_stuck (self , ** kwargs ):
259- raise exceptions .FunctionNotImplemented ()
279+ def pg_dump_stuck (self , stuckops = None , ** kwargs ):
280+ if stuckops is not None :
281+ return self .get ('pg/dump_stuck?stuckops={0}' .format (stuckops ), ** kwargs )
282+ else :
283+ return self .get ('pg/dump_stuck' , ** kwargs )
260284
261285
262286 def pg_getmap (self , ** kwargs ):
263- # Could not get this to work yet
264- raise exceptions .FunctionNotImplemented ()
287+ kwargs ['supported_body_types' ] = ['binary' ]
288+
289+ return self .get ('pg/getmap' , ** kwargs )
265290
266291
267- def pg_map (self , ** kwargs ):
268- # Could not get this to work yet
269- raise exceptions .FunctionNotImplemented ()
292+ def pg_map (self , pgid , ** kwargs ):
293+ return self .get ('pg/map?pgid={0}' .format (pgid ), ** kwargs )
270294
271295
272296 def pg_stat (self , ** kwargs ):
0 commit comments