tardis.adapters.batchsystems.htcondor module

class tardis.adapters.batchsystems.htcondor.HTCondorAdapter[source]

Bases: BatchSystemAdapter

HTCondorAdapter implements the TARDIS interface to dynamically integrate and manage opportunistic resources with the HTCondor Batch System.

async disintegrate_machine(drone_uuid: str) None[source]

HTCondor does not require any specific disintegration procedure.

Parameters:

drone_uuid (str) – Uuid of the worker node, for some sites corresponding to the host name of the drone.

Returns:

None

async drain_machine(drone_uuid: str) None[source]

Drain a machine in the HTCondor batch system, which means that no new jobs will be accepted

Parameters:

drone_uuid (str) – Uuid of the worker node, for some sites corresponding to the host name of the drone.

Returns:

None

async get_allocation(drone_uuid: str) float[source]

Get the allocation of a worker node in HTCondor, which is defined as maximum of the ratios of requested over total resources (CPU, Memory, Disk, etc.).

Parameters:

drone_uuid (str) – Uuid of the worker node, for some sites corresponding to the host name of the drone.

Returns:

The allocation of a worker node as described above.

Return type:

float

async get_machine_status(drone_uuid: str) MachineStatus[source]

Get the status of a worker node in HTCondor (Available, Draining, Drained, NotAvailable)

Parameters:

drone_uuid (str) – Uuid of the worker node, for some sites corresponding to the host name of the drone.

Returns:

The machine status in HTCondor (Available, Draining, Drained, NotAvailable)

Return type:

MachineStatus

async get_resource_ratios(drone_uuid: str) Iterable[float][source]

Get the ratio of requested over total resources (CPU, Memory, Disk, etc.) for a worker node in HTCondor according to the HTCondor expressions defined in the adapter configuration.

Parameters:

drone_uuid (str) – Uuid of the worker node, for some sites corresponding to the host name of the drone.

Returns:

Iterable of float containing the ratios

Return type:

Iterable[float]

async get_utilisation(drone_uuid: str) float[source]

Get the utilisation of a worker node in HTCondor, which is defined as minimum of the ratios of requested over total resources (CPU, Memory, Disk, etc.).

Parameters:

drone_uuid (str) – Uuid of the worker node, for some sites corresponding to the host name of the drone.

Returns:

The utilisation of a worker node as described above.

Return type:

float

async integrate_machine(drone_uuid: str) None[source]

HTCondor does not require any specific integration procedure

Parameters:

drone_uuid (str) – Uuid of the worker node, for some sites corresponding to the host name of the drone.

Returns:

None

property machine_meta_data_translation_mapping: AttributeDict

The machine meta data translation mapping is used to translate units of the machine meta data in TARDIS to values expected by the HTCondor batch system adapter.

Returns:

Machine meta data translation mapping

Return type:

AttributeDict

async tardis.adapters.batchsystems.htcondor.htcondor_status_updater(options: AttributeDict, attributes: AttributeDict, executor: Executor) dict[source]

Helper function to call condor_status -af asynchronously and to translate the output into a dictionary

Parameters:
  • options (AttributeDict) – Additional options for the condor_status call. For example {'pool': 'htcondor.example'} will be translated into condor_status -af ... -pool htcondor.example

  • attributes (AttributeDict) – Additional fields to add to output of the condor_status -af response.

Returns:

Dictionary containing the output of the condor_status command

Return type:

dict