:py:mod:`buildtest.executors.lsf` ================================= .. py:module:: buildtest.executors.lsf .. autoapi-nested-parse:: This module implements the LSFExecutor class responsible for submitting jobs to LSF Scheduler. This class is called in class BuildExecutor when initializing the executors. Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: buildtest.executors.lsf.LSFExecutor Attributes ~~~~~~~~~~ .. autoapisummary:: buildtest.executors.lsf.logger .. py:data:: logger .. py:class:: LSFExecutor(name, settings, site_configs, account=None, maxpendtime=None, timeout=None) Bases: :py:obj:`buildtest.executors.base.BaseExecutor` The LSFExecutor class is responsible for submitting jobs to LSF Scheduler. The LSFExecutor performs the following steps - **load**: load lsf configuration from buildtest configuration file - **dispatch**: dispatch job to scheduler and acquire job ID - **poll**: wait for LSF jobs to finish - **gather**: Once job is complete, gather job data Initiate a base executor, meaning we provide a name (also held by the BuildExecutor base that holds it) and the loaded dictionary of config opts to parse. :param name: name of executor :type name: str :param setting: setting for a given executor defined in configuration file :type setting: dict :param site_configs: Instance of SiteConfiguration class :type site_configs: buildtest.config.SiteConfiguration :param timeout: Test timeout in number of seconds :type timeout: str, optional :param maxpendtime: Maximum Pending Time until job is cancelled. The default is 1 day (86400s) :type maxpendtime: int, optional :param account: Account to use for job submission :type account: str, optional :param maxpendtime: Maximum Pending Time until job is cancelled. The default is 1 day (86400s) :type maxpendtime: int, optional .. py:attribute:: type :value: 'lsf' .. py:method:: launcher_command(numprocs=None, numnodes=None) This command returns the launcher command and any options specified in configuration file. This is useful when generating the build script in the BuilderBase class .. py:method:: run(builder) This method is responsible for dispatching job to scheduler and extracting job ID by applying a ``re.search`` against output at onset of job submission. If job id is not retrieved due to job failure or unable to match regular expression we mark job incomplete by invoking :func:`buildtest.buildsystem.base.BuilderBase.incomplete`` method and return from method. If we have a valid job ID we invoke :class:`buildtest.executors.lsf.LSFJob` class given the job id to poll job and store this into ``builder.job`` attribute. :param builder: An instance object of BuilderBase type :type builder: buildtest.buildsystem.base.BuilderBase