Skip to content

Conversation

@anpicci
Copy link

@anpicci anpicci commented Jan 29, 2025

I have slightly modified the scripts in order to properly handle the CMSSW sandboxes that require el9 architecture

rgoldouz and others added 3 commits September 26, 2022 03:54
biglib directory is added to the sandbox
adapting wrapper.sh to lobster-python3 version

fixing wrapper.sh and task.py in lobster/core/data

removing leftovers and improving compatibility to el9 sandboxes

removing leftovers and improving compatibility to el9 sandboxes

documentation

improving handling of python3
@anpicci anpicci force-pushed the lobster-python3-run3 branch from 1191f8f to ca98d08 Compare January 30, 2025 11:08
@btovar
Copy link

btovar commented Jan 30, 2025

@anpicci Note that with this branch we are trying to move away from parrot. The images from runos should have given you cvmfs, isn't that the case?

@anpicci
Copy link
Author

anpicci commented Feb 17, 2025

@btovar yes, it still relies on parrot

@bryates
Copy link

bryates commented Aug 28, 2025

@anpicci @btovar what's the status of this branch? I'm looking to run some Run 3 stuff now.

@anpicci
Copy link
Author

anpicci commented Sep 3, 2025

@bryates , this branch is what I use for running the skimmed samples for run3

@Andrew42
Copy link
Collaborator

Andrew42 commented Oct 3, 2025

@anpicci running with your changes I came across a crash caused by a byte-string getting introduced to data which then gets serialized into a json output file. Specifically, I had to change this line to

checksum = stdout.split()[-2].decode('utf-8')

@Andrew42
Copy link
Collaborator

Andrew42 commented Oct 5, 2025

In addition to the byte-string bug, I also had to modify task.py LL71-73 to exclude this check for CMSSW_12_4_X. The XrdAdaptor::XrdStatisticsService module appears to not exist in this CMSSW release. I simply removed/commented the process.add_(xrdstats) to keep it from being added to the CMS executable.

Without this change the lobster task will make it through set up, but crash once it attempts to do the cmsRun executable of the form:

>>> executing 'cmsRun -j report.xml test_LHE_cfg_mod.py' @ Fri Oct  3 17:04:24 2025 
>> using /tmp/tmpmgxbm8kh to store command output
>> cmd: ----- Begin Fatal Exception 03-Oct-2025 17:04:28 EDT-----------------------
>> cmd: An exception of category 'PluginNotFound' occurred while
>> cmd: [0] Constructing the EventProcessor
>> cmd: Exception Message:
>> cmd: Unable to find plugin 'XrdAdaptor::XrdStatisticsService' in category 'CMS EDM Framework Service'. Please check spelling of name.
>> cmd: ----- End Fatal Exception -------------------------------------------------

Removing the module did not seem to cause any other issues for the task, though likely results in some missing monitoring metrics.

@Andrew42
Copy link
Collaborator

Andrew42 commented Oct 6, 2025

@anpicci is this change missing an 'and'?

@Andrew42
Copy link
Collaborator

Andrew42 commented Oct 7, 2025

@anpicci another thing that I needed to change was the ndcctools version that gets installed in the conda environment.

Right now the yaml file has it pinned to 7.11.1, however, in order to use the --runos al8-wq-7.15.9 option for the WQ factory, @btovar said that I should use 7.15.9 or newer. The version of ndcctools I updated to in my working environment was 7.15.11, so we can either use that or pin it to 7.15.9.

from lobster.core.source import TaskProvider

import work_queue as wq
print('\n\n\nUsing WQ version:', wq.__version__, '\n\n\n')
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ywan2 this was helpful for debugging, but I don't know if we need it in the official release. I guess it doesn't hurt. What do you think @Andrew42 @anpicci?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that we should keep any "mandatory" print statements to a minimum. I believe this would only ever get printed once when the user does a lobster process path/to/lobster_config.py, so probably not very disruptive, but maybe there should be a better way to log/convey this information to the user.


# package bin, etc
subdirs = ['bin', 'cfipython', 'external', 'lib', 'python']
subdirs = ['bin', 'cfipython', 'external', 'lib', 'python', 'biglib']
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is biglib used for? We did our full Run 3 production without it.

anpicci and others added 3 commits December 10, 2025 04:06
…ery, python selection, and safer plotting (#25)

* Handle empty pie data and filter infinities in plots

* Prefer local siteconf for AAA and export `CMS_LOCAL_SITE` in wrapper (#24)

* biglib directory is added to the sandbox

* add wq print statement

* do not consider vscode open ssh sessions as a danger; manipulation of task.py arguments for the skimming scripts

* modifications to make lobster working both with py2- and py3-compatible CMSSWs

* Export CMS_LOCAL_SITE for shipped siteconf

---------

Co-authored-by: reza goldouzian <reza.goldouzian@cern.ch>
Co-authored-by: Kevin Lannon <klannon@nd.edu>
Co-authored-by: Yuyi Wan <ywan2@nd.edu>

* removing print statements

* original lobster conda environment

---------

Co-authored-by: reza goldouzian <reza.goldouzian@cern.ch>
Co-authored-by: Kevin Lannon <klannon@nd.edu>
Co-authored-by: Yuyi Wan <ywan2@nd.edu>
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.

7 participants