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

Puhuri Layout

Puhuri Layout

Flows

More information about flows can be found in the puhuri Tergite flows tutorial

Selecting resource to report on

Selecting resource to report on

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 your mss-config.toml file
  • Ensure all other variables in the [puhuri] table in your mss-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
Back to top