Skip to content

DM-53494: Add code needed to run submit processes as jobs.#83

Draft
MichelleGower wants to merge 8 commits into
mainfrom
tickets/DM-53494
Draft

DM-53494: Add code needed to run submit processes as jobs.#83
MichelleGower wants to merge 8 commits into
mainfrom
tickets/DM-53494

Conversation

@MichelleGower

Copy link
Copy Markdown
Contributor

Note: Limited to same cluster with shared filesystems. Includes handling of lazy subdags.

Checklist

  • ran Jenkins
  • added a release note for user-visible changes to doc/changes

@codecov

codecov Bot commented Feb 20, 2026

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
253 1 252 0
View the top 1 failed test(s) by shortest run time
tests/test_prepare_utils.py::GatherLabelValuesTestCase::testNoOverwriteSpecified
Stack Traces | 0.002s run time
constraint = 'SlotType != "Dynamic" && regexp(".*worker.*", Machine)'
coll = <htcondor.htcondor.Collector object at 0x7f759d15a110>

    def condor_status(constraint=None, coll=None):
        """Get information about HTCondor pool.
    
        Parameters
        ----------
        constraint : `str`, optional
            Constraints to be passed to the query.
        coll : `htcondor.Collector`, optional
            Object representing HTCondor collector daemon.
    
        Returns
        -------
        pool_info : `dict` [`str`, `dict` [`str`, `~typing.Any`]]
            Mapping between HTCondor slot names and slot information (classAds).
        """
        if coll is None:
            coll = htcondor.Collector()
        try:
>           pool_ads = coll.query(constraint=constraint)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.../bps/htcondor/lssthtc.py:1427: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

args = (<htcondor.htcondor.Collector object at 0x7f759d15a110>,)
kwargs = {'constraint': 'SlotType != "Dynamic" && regexp(".*worker.*", Machine)'}
acquired = True, is_cm = False

    @wraps(func)
    def wrapper(*args, **kwargs):
        acquired = False
        is_cm = False
        try:
            acquired = LOCK.acquire()
    
>           rv = func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^
E           htcondor.HTCondorLocateError: Unable to determine collector host.

.../hostedtoolcache/Python/3.13.13.../x64/lib/python3.13.../site-packages/htcondor/_lock.py:70: HTCondorLocateError

The above exception was the direct cause of the following exception:

self = <test_prepare_utils.GatherLabelValuesTestCase testMethod=testNoOverwriteSpecified>

    def testNoOverwriteSpecified(self):
        label = "notthere"
        config = BpsConfig(
            {"site": {"site1": {}}},
            search_order=BPS_SEARCH_ORDER,
            defaults={},
            wms_service_class_fqn="lsst.ctrl.bps.htcondor.HTCondorService",
        )
>       results = prepare_utils._gather_label_values(config, label, "nosite")
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/test_prepare_utils.py:353: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.../bps/htcondor/prepare_utils.py:927: in _gather_label_values
    pool_info = condor_status(constraint=constraint)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

constraint = 'SlotType != "Dynamic" && regexp(".*worker.*", Machine)'
coll = <htcondor.htcondor.Collector object at 0x7f759d15a110>

    def condor_status(constraint=None, coll=None):
        """Get information about HTCondor pool.
    
        Parameters
        ----------
        constraint : `str`, optional
            Constraints to be passed to the query.
        coll : `htcondor.Collector`, optional
            Object representing HTCondor collector daemon.
    
        Returns
        -------
        pool_info : `dict` [`str`, `dict` [`str`, `~typing.Any`]]
            Mapping between HTCondor slot names and slot information (classAds).
        """
        if coll is None:
            coll = htcondor.Collector()
        try:
            pool_ads = coll.query(constraint=constraint)
        except OSError as ex:
>           raise RuntimeError(f"Problem querying the Collector.  (Constraint='{constraint}')") from ex
E           RuntimeError: Problem querying the Collector.  (Constraint='SlotType != "Dynamic" && regexp(".*worker.*", Machine)')

.../bps/htcondor/lssthtc.py:1429: RuntimeError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant