-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix8913 #8915
Fix8913 #8915
Conversation
Jenkins results:
|
at first sight I think that moving the status check is a mistake. We should talk about this, or you can point to a test w/o it. |
A test without the movement of the block continues to be stuck at "TestRunning": See |
if publication is not completed, TestRunning is the desired outcome. |
OK. Now I am lost in CMS/Atlas build system presentation. Will try to figure out when I have time. Given that current test is broken, feel free to merge. |
cicd/gitlab/st/statusTracking.py
Outdated
for job in task['jobs'].keys(): | ||
if '-' in job: | ||
jobsToPublish -= 1 | ||
# Remove probe jobs (job id of X-Y kind) from count |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I fail to see how this code gives different result to previous one. It should still give -4 for jobsToPublish. It is simply a bit/ easier to read.
BTW please let's stick to snakeCase convention.
cicd/gitlab/st/statusTracking.py
Outdated
if published_in_transfersdb == jobsToPublish and published_in_dbs == jobsToPublish: | ||
result = 'TestPassed' | ||
elif failedPublications: | ||
#result = 'TestFailed' | ||
needToResubmitPublication = True | ||
else: | ||
result = 'TestRunning' | ||
if task['status'] == 'COMPLETED': |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that this simply discards whatever publication count was done before and says "passed" if status is COMPLETED, regardless of publication.
Or am I lost indentations ?
I looked a bit more and I think that this PR is wrong. I suggest to disable publication check in the pipeline yaml file to make pipeline succeed and run the test scrip interactively making sure we cover all use cases. Failing probes, failing processing, failing publication .... |
I think i understand the problem now. Since we already subtract probe_jobs to get total_jobs in here, by having it again, we are effectively subtracting twice. You're right the movement of the task['status'] after the checkpublication block is wrong. All we need to do is just use simple total_jobs as jobstoPublish instead of double subtraction of probe_jobs. |
maybe there's a cleaner way to detect how many jobs should be checked ! Setting aside proble job only once. But I am now taken until tomorrow afternoon. Basically this is "code that was written w/o knowing that automatic splitting exists" which was then adapted "hack by hack based on the failure of the day" :-( |
Jenkins results:
|
@belforte Is it ok if I merge this for now? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK
yeah.. sorry for delay |
See Issue #8913
The check for task['status'] == Completed should happen after the checkpublication condition
Tested
{'TN': '250206_133625:crabint1_crab_20250206_143624', 'testResult': 'TestPassed', 'dbStatus': 'SUBMITTED', 'combinedStatus': 'COMPLETED', 'jobsPerStatus': {'finished': 1, 'probe': 5, 'rescheduled': 0}, 'publication (fail/tdb/DBS)': '0/0/0'}