Draft: Oasis link from local to central
Relates to #820 (closed) and #886 (closed)
So far I set up the following structure with stub methods/classes:
-
SubmitInstallationInfoToCentral
is currently the class to frequently send data from local to central (it is used in the FastAPI middlewaresubmit_installation_info
) - The module (/ FastAPI router)
federation.py
contains the REST/POST where the local Nomad installation sends the data to / central Nomad receives the data. - The
InstallationInfo
class specifies the content and format that is sent from local to central. - in
test_federation.py
there are two tests and conftest.py (at same level) includes fixtures to set up the testing for federation
To clarify (for myself to keep track, but also happy to get comments/hints on these issues):
-
Could there be a race condition on the "last_timestamp" inSubmitInstallationInfoToCentral
? -
Is there a flag to distinguish between the local and central OASIS? This way I would only provide the landscape/POST on the central oasis. (not yet, for now also provide the federation API on local installations) -
How to get all of the data to submit? oasis id [OK], oasis url [OK], oasis maintainer [OK], nomad version [OK], and a few "telemetry" data [OPEN] -
How to use mongodb (to be used within federation.py
) to store the data at central Nomad? -
RuntimeError('This event loop is already running')
still appears when not using thenest_asyncio
package (the import is limited totest_federation.py
only though)
Edited by Daniel Lehmberg