url(r'^cluster/sync_object/(?P<sync_type>[a-zA-Z0-9-_]+)$',
rest.app.views.v2.SyncObject.as_view({'get': 'retrieve'}),
name='cluster-sync-object'),
- url(r'^server/(?P<fqdn>[a-zA-Z0-9-\.]+)/debug_job',
- rest.app.views.v2.DebugJob.as_view({'post': 'create'}),
- name='server-debug-job'),
url(r'^cluster/server$',
rest.app.views.v2.ServerViewSet.as_view({'get': 'list'}),
return Response([s.str for s in SYNC_OBJECT_TYPES])
-class DebugJob(RPCViewSet, RequestReturner):
- """
-For debugging and automated testing only.
- """
- def create(self, request, fqdn):
- cmd = request.DATA['cmd']
- args = request.DATA['args']
-
- # Avoid this debug interface being an arbitrary execution mechanism.
- if not cmd.startswith("ceph.selftest"):
- raise PermissionDenied("Command '%s' is not a self test command".format(cmd))
-
- return self._return_request(self.client.debug_job(fqdn, cmd, args))
-
-
class ServerViewSet(RPCViewSet):
"""
Servers that we've learned about via the daemon metadata reported by