ironic_python_agent.burnin module

ironic_python_agent.burnin.fio_disk(node)[source]

Burn-in the disks with fio

Run an fio randrw job for a configurable number of iterations or a given amount of time.

Parameters:

node – Ironic node object

Raises:

CommandExecutionError if the execution of fio fails.

ironic_python_agent.burnin.fio_network(node)[source]

Burn-in the network with fio

Run an fio network job for a pair of nodes for a configurable amount of time. The pair is either statically defined in driver_info via ‘agent_burnin_fio_network_config’ or the role and partner is found dynamically via a tooz backend.

The writer will wait for the reader to connect, then write to the network. Upon completion, the roles are swapped.

Parameters:

node – Ironic node object

Raises:

CommandExecutionError if the execution of fio fails.

Raises:

CleaningError if the configuration is incomplete.

ironic_python_agent.burnin.stress_ng_cpu(node)[source]

Burn-in the CPU with stress-ng

Run stress-ng on a configurable number of CPUs for a configurable amount of time. Without config use all CPUs and stress them for 24 hours.

Parameters:

node – Ironic node object

Raises:

CommandExecutionError if the execution of stress-ng fails.

ironic_python_agent.burnin.stress_ng_vm(node)[source]

Burn-in the memory with the vm stressor in stress-ng

Run stress-ng with a configurable number of workers on a configurable amount of the available memory for a configurable amount of time. Without config use as many workers as CPUs, 98% of the memory and stress it for 24 hours.

Parameters:

node – Ironic node object

Raises:

CommandExecutionError if the execution of stress-ng fails.