Usage Enforcement


Usage enforcement and lease constraints can be implemented by operators via custom usage enforcement filters.


Usage enforcement filters are called on lease_create, lease_update and on_end operations. The filters check whether or not lease values or allocation criteria pass admin defined thresholds. There is currently one filter provided out-of-the-box. The MaxLeaseDurationFilter restricts the duration of leases.


All filters are a subclass of the BaseFilter class located in blazar/enforcement/filter/ Custom filters must implement methods for check_create, check_update, and on_end. The MaxLeaseDurationFilter is a good example to follow. Filters are enabled in blazar.conf under the [enforcement] group. For example, enabling the MaxLeaseDurationFilter to limit lease durations to only one day would work as follows:

enabled_filters = MaxLeaseDurationFilter
max_lease_duration = 86400


This filter simply examines the lease start_date and end_date attributes and rejects the lease if its duration exceeds a threshold. It supports two configuration options:

  • max_lease_duration

  • max_lease_duration_exempt_project_ids

See the blazar.conf page for a description of these options.