Skip to content

rofl-scheduler: Log problematic resource type when there is no more capacity for offer #2451

@anzoman

Description

@anzoman

When deploying a new ROFL app, it can happen that the scheduler does not accept a new ROFL app instance due to a lack of capacity, like in the example below.

{"component":"rofl.rofl1...","id":"00000000000000df","level":"info","module":"runtime/scheduler/manager","msg":"evaluating instance","provisioner":"tdx-qemu","runtime_id":"000000000000000000000000000000000000000000000000f80306c9858e7279","runtime_name":"","status":"Created","transfer":false,"ts":"2026-03-21T22:02:00.353614477Z"}
{"component":"rofl.rofl1...","id":"00000000000000df","level":"info","module":"runtime/scheduler/manager","msg":"no more capacity for offer","offer":"0000000000000000","provisioner":"tdx-qemu","runtime_id":"000000000000000000000000000000000000000000000000f80306c9858e7279","runtime_name":"","transfer":false,"ts":"2026-03-21T22:02:00.388221739Z"}

The log line indicates we don't have enough local capacity for the chosen offer, but does not let the ROFL provider operator and the user know which resource is lacking - number of instances, vCPUs, memory, or storage.

We can extend the check in https://github.com/oasisprotocol/oasis-sdk/blob/rofl-scheduler/v0.6.3/rofl-scheduler/src/manager.rs#L611 to log more details of what exactly is lacking.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions