def _request(self, method, obj_type, *args, **kwargs): """ Create and submit UserRequest for an apply, create, update or delete. """ # nosleep during preparation phase (may touch ClusterMonitor/ServerMonitor state) request = None with nosleep_mgr(): request_factory = self.get_request_factory(obj_type) if self._favorite_mon is None: raise ClusterUnavailable( "Ceph cluster is currently unavailable for commands") request = getattr(request_factory, method)(*args, **kwargs) if request: # sleeps permitted during terminal phase of submitting, because we're # doing I/O to the salt master to kick off self._requests.submit(request, self._favorite_mon) return {'request_id': request.id} else: return None
def _request(self, method, obj_type, *args, **kwargs): """ Create and submit UserRequest for an apply, create, update or delete. """ # nosleep during preparation phase (may touch ClusterMonitor/ServerMonitor state) with nosleep_mgr(): request_factory = self.get_request_factory(obj_type) if self._favorite_mon is None: raise ClusterUnavailable("Ceph cluster is currently unavailable for commands") request = getattr(request_factory, method)(*args, **kwargs) if request: # sleeps permitted during terminal phase of submitting, because we're # doing I/O to the salt master to kick off self._requests.submit(request, self._favorite_mon) return { 'request_id': request.id } else: return None