Resource Management with Puhuri
Puhuri is an HPC resource management platform that could also be used to manage Quantum Computer systems.
We need to synchronize MSS’s resource management with that in Puhuri
The Puhuri Entity Layout
Flows
More information about flows can be found in the puhuri Tergite flows tutorial
Assumptions
- When creating components in the puhuri UI, the ‘measurement unit’s set on the component are of the following possible values: ’second’, ‘hour’, ‘minute’, ‘day’, ‘week’, ‘half_month’, and ‘month’.
How to Start the Puhuri Sync
- Ensure that the
is_enabled = true
in the[puhuri]
table in yourmss-config.toml
file - Ensure all other variables in the
[puhuri]
table in yourmss-config.toml
file are appropriately set e.g.
[puhuri]
# the URI to the Puhuri WALDUR server instance
# Please contact the Puhuri team to get this.
waldur_api_uri = "<the URI to the Puhuri Waldur server>"
# The access token to be used in the Waldur client [https://docs.waldur.com/user-guide/] to connect to Puhuri
# Please contact the Puhuri team on how to get this from the UI
waldur_client_token = "<API token for a puhuri user who has 'service provider manager' role for our offering on puhuri>"
# The unique ID for the service provider associated with this app in the Waldur Puhuri server
# Please contact the Puhuri team on how to get this from the UI
provider_uuid = "<the unique ID for the service provider associated with this app in Puhuri>"
# the interval in seconds at which puhuri is polled. default is 900 (15 minutes)
poll_interval = "<some value>"
- If you wish to start only the puhuri synchronization script without the REST API, run in your virtual environment:
python -m api.scripts.puhuri_sync --ignore-if-disabled
- In order to run both the REST API and this puhuri synchronization script, run in your virtual environment:
python -m api.scripts.puhuri_sync --ignore-if-disabled & \
uvicorn --host 0.0.0.0 --port 8000 api.rest:app --proxy-headers