Project

General

Profile

Actions

Feature #6343

closed

Merge all suite-scheduling tools into one

Added by Zack Cerza over 10 years ago. Updated almost 10 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
% Done:

0%

Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:

Description

I'm not positive how this will need to be implemented, but in its current state it's fragile and inflexible and too much shell script.

Actions #1

Updated by Zack Cerza about 10 years ago

  • Assignee deleted (Zack Cerza)
Actions #2

Updated by Zack Cerza about 10 years ago

  • Subject changed from Merge schedule_suite.sh functionality into main teuthology tree to Rewrite schedule_suite.sh in python
Actions #3

Updated by Zack Cerza almost 10 years ago

Yet another job that is more complicated than you'd think. Here is a dump of what needs to be done so far:

Everything schedule_suite.sh does needs to be implemented in python so it can be merged with teuthology-suite in teuthology/suite.py.

People apparently use teuthology-ls which is implemented in teuthology/suite.py so I'll probably have to re-implement that somehow.
[Edit: Just kidding, I moved it. https://github.com/ceph/teuthology/commit/2a7de82498602ba5317e2fe74d68efc3e3f5af40]

teuthology/suite.py is what generates the job configs based on the parameters it's passed, and based on the ceph-qa-suite repo. It calls teuthology-schedule automatically (but I'll need to make that optional for testing).

teuthology/schedule.py currently has a giant main() function that does one of three things: print a job, delete a job, schedule a job. Those should be split up.
Printing and deleting are already done by teuthology-queue in teuthology/beanstalk.py (don't let the name fool you; it was designed to be easily ported to use only paddles). Job scheduling can also be added there.

Actions #4

Updated by Zack Cerza almost 10 years ago

  • Assignee set to Zack Cerza
Actions #5

Updated by Zack Cerza almost 10 years ago

  • Status changed from New to In Progress
Actions #6

Updated by Zack Cerza almost 10 years ago

The teuthology-schedule work:
https://github.com/ceph/teuthology/pull/270

Actions #7

Updated by Zack Cerza almost 10 years ago

  • Subject changed from Rewrite schedule_suite.sh in python to Merge all suite-scheduling tools into one

Looking at schedule_suite.sh now. Need to remember to roll run-suites.sh and update.sh into this work.

Actions #8

Updated by Zack Cerza almost 10 years ago

Frankly I'm having some trouble figuring out where this should all go. I'll try to write down questions I come up with.

  • Does anything use the 'template' feature of schedule_suite.sh ?
  • Does anything ever pass multiple --collections to teuthology-suite ?
Actions #9

Updated by Sage Weil almost 10 years ago

Zack Cerza wrote:

Frankly I'm having some trouble figuring out where this should all go. I'll try to write down questions I come up with.

  • Does anything use the 'template' feature of schedule_suite.sh ?
  • Does anything ever pass multiple --collections to teuthology-suite ?

Not that I can find!

Actions #10

Updated by Zack Cerza almost 10 years ago

So I've been doing a lot of work merging the schedule_suite.sh functionality into teuthology-schedule / teuthology.schedule. My work is almost ready to merge and is located here:
https://github.com/ceph/teuthology/tree/wip-schedule-suite

Actions #11

Updated by Zack Cerza almost 10 years ago

I opened this PR:
https://github.com/ceph/teuthology/pull/273

I still need to consolidate what update.sh does somewhere into teuthology so that the cronjobs can call teuthology-suite directly. I didn't want to do quite all of that in one go.

Actions #12

Updated by Zack Cerza almost 10 years ago

  • Target version set to sprint8
Actions #13

Updated by Ian Colle almost 10 years ago

  • Target version changed from sprint8 to sprint9
Actions #14

Updated by Zack Cerza almost 10 years ago

Reusing the same branch, I have implemented the repo management stuff so we can almost get rid of those two shellscripts and change the cronjobs to call teuthology-suite directly. I need to get ceph-qa-suite.git put into the ceph.com mirror though - the one that's currently there is way old.

Actions #15

Updated by Zack Cerza almost 10 years ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF