Although this is mostly for devel and debug purposes at the moment,
it might be useful to be able to flush the data whenever the user needs it.
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit
6677a6838493d5c6c6600edcf02d17a95f36b965)
def start_client(self) -> None:
raise NotImplementedError()
+
+ def flush(self) -> None:
+ raise NotImplementedError()
log.logger.error(f"Error detected, logging out from redfish api.\n{e}")
self.client.logout()
raise
+
+ def flush(self) -> None:
+ log.logger.info("Acquiring lock to flush data.")
+ self.lock.acquire()
+ log.logger.info("Lock acquired, flushing data.")
+ self._system = {}
+ self.previous_data = {}
+ log.logger.info("Data flushed.")
+ self.data_ready = False
+ log.logger.info("Data marked as not ready.")
+ self.lock.release()
+ log.logger.info("Lock released.")
return 'node-proxy config reloaded'
+class Flush:
+ exposed = True
+
+ def __init__(self, backend: BaseSystem) -> None:
+ self.backend = backend
+
+ def POST(self) -> str:
+ self.backend.flush()
+ return 'node-proxy data flushed'
+
class API:
exposed = True