Loic Dachary
98e0617651
erasure-code: separate profile from pool creation
...
Instead of being hard coded, the erasure code profile is read from yaml
as:
erasure_code_profile:
name: teuthologyprofile
k: 2
m: 1
ruleset-failure-domain: osd
Which translates into
ceph osd erasure-code-profile set teuthologyprofile \
k=2 m=1 ruleset-failure-domain=osd
The semantic of k/m etc. depends on the erasure code plugin, but it is
common to use k as the dividing factor for each object and m as the
number of coding chunks.
Using a different set of parameters or a different plugin can
be done without modifying the teuthology code:
erasure_code_profile:
name: LRCprofile
plugin: LRC
mapping: __DD__DD
layers: [[ "_cDD_cDD", "" ], [ "cDDD____", "" ], [ "____cDDD", ""]]
For backward compatibility, the default erasure code profile is set to
k: 2
m: 1
ruleset-failure-domain: osd
which matches the previously hardcoded default of the corresponding
functions.
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-06-30 22:43:57 +02:00
Zack Cerza
84635d8b27
Merge pull request #233 from ceph/wip-background
...
run something in the background
2014-06-30 14:38:08 -06:00
Sage Weil
7e388c9f20
background_exec: run something in the background
...
This is a contextmanager task that will run some command in the background
for the duration of any subsequent tasks, and kill it in the cleanup
phase.
Signed-off-by: Sage Weil <sage@inktank.com>
2014-06-30 13:35:53 -07:00
Sage Weil
1cd8076543
daemon-helper: optional kill an entire process group
...
Signed-off-by: Sage Weil <sage@inktank.com>
2014-06-30 13:35:53 -07:00
Zack Cerza
5a61f449d1
Split up repo helper into separate functions
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-30 10:10:31 -06:00
John Spray
641a2943a7
task: update 'newfs' users to 'fs new'
...
Signed-off-by: John Spray <john.spray@redhat.com>
2014-06-30 10:40:18 +01:00
John Spray
8be756a065
task/ceph: Invoke newfs for CephFS as needed
...
New ceph versions will no longer create the
CephFS pools and will not enable the filesystem
by default. This change adds an explicit step
to the cluster initialization to create the
filesystem if it doesn't already exist.
Signed-off-by: John Spray <john.spray@inktank.com>
2014-06-30 10:40:18 +01:00
Zack Cerza
6b94807595
Use corrected tube_name
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 14:42:18 -06:00
Zack Cerza
8583306769
Return corrected tube_name
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 14:41:58 -06:00
Zack Cerza
491999beef
Use teuthology.beanstalk
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 14:34:39 -06:00
Zack Cerza
55b65d62f0
Document checkout_repo()
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:21:53 -06:00
Zack Cerza
25a40677cc
Drop a "fix" for a bug that probably never existed
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:18:05 -06:00
Zack Cerza
a4c3a02547
Add a note about teuthology scheduling
...
Specifically, that we always schedule using the master branch.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:14:07 -06:00
Zack Cerza
f5bed55d47
Improve missing branch detection and logging
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:14:07 -06:00
Zack Cerza
abd359086c
Add unit tests for repo_utils
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:14:07 -06:00
Zack Cerza
807d6fd715
Use 'ceph-qa-suite.git' for the repo name
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:14:07 -06:00
Zack Cerza
b16c48a8f8
Also handle teuthology repo checkouts
...
Our shell script did this also.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:14:07 -06:00
Zack Cerza
88d26e4ae4
Handle ceph-qa-suite checkouts
...
Previously we had an internally-maintained shell script that did this.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:14:06 -06:00
Zack Cerza
6e3e6693d1
Generalize error message
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:14:06 -06:00
Zack Cerza
484693c2e9
Fix linter errors
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:14:06 -06:00
Zack Cerza
93fd6b899f
Move repo checkout code to new module repo_utils
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:14:06 -06:00
Zack Cerza
5e3c13de60
Use a more informative variable name for dest_path
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-27 10:14:06 -06:00
Zack Cerza
2e18fddb6f
Only delete jobs that match the pattern
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:24 -06:00
Zack Cerza
e7323da58b
Swap order of job_id and run_name when deleting
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:24 -06:00
Zack Cerza
f4321b0519
Skip the kernel stanza if the branch passed is '-'
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:24 -06:00
Zack Cerza
ba1eae988e
Add more docstrings
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:24 -06:00
Zack Cerza
e1597a036f
No need to explicitly return None here
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:24 -06:00
Zack Cerza
667a223f03
Update unit tests to reflect renamed function
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:24 -06:00
Zack Cerza
7082a3dff0
Add a few more docstrings and a debug statement
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:23 -06:00
Zack Cerza
743edd6b70
Fix a couple linter errors
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:23 -06:00
Zack Cerza
173c7b84f6
Fix bug where the base yaml wasn't being merged
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:23 -06:00
Zack Cerza
fd13a18c83
With dry_run, quote any individual args
...
So that individual commands can be copied and pasted
in order to execute them individually.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:23 -06:00
Zack Cerza
b6cb3f8cb7
Add lots of unit tests for teuthology.suite
...
More to come...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:23 -06:00
Zack Cerza
91c7385988
Raise ScheduleFailError even if not sending email
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:23 -06:00
Zack Cerza
356ab7e06d
Do everything that schedule_suite.sh does
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:23 -06:00
Zack Cerza
15317083f9
Add default results_email
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:23 -06:00
Zack Cerza
89b38dd347
Don't schedule an email job if email isn't set
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:23 -06:00
Zack Cerza
26fdef0a75
Split prepare_and_schedule() out of main()
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:23 -06:00
Zack Cerza
1be15edbcb
Use the return value of schedule_suite()
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:23 -06:00
Zack Cerza
19d73071d1
Don't reread the entire yaml file...
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:22 -06:00
Zack Cerza
d92f538549
Remove unused functions
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:22 -06:00
Zack Cerza
0aabafd65f
'and' is a thing
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:22 -06:00
Zack Cerza
675f087b28
Take machine_type instead of worker
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:22 -06:00
Zack Cerza
d14c44f4e2
Add functions for querying gitbuilder repos
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:22 -06:00
Zack Cerza
4fed92c039
Silence connection pool logging
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:22 -06:00
Zack Cerza
43505b2ace
Only allow scheduling one suite per call.
...
Also remove all traces of the extra and confusing term 'collection'
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:22 -06:00
Zack Cerza
f5af797ce3
Port to docopt
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:22 -06:00
Zack Cerza
1ccbff8dbf
Refactor collection scheduling out of main()
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-25 12:54:22 -06:00
Zack Cerza
3134a32018
If archive_base is None, use config's
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-24 11:07:02 -06:00
Zack Cerza
5cd50a42be
Allow killing jobs by passing a 'jobspec'.
...
See teuthology-kill --help
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-20 11:39:47 -04:00
Zack Cerza
fc772d7354
Add a couple tests for teuthology.schedule
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-19 14:11:56 -04:00
Zack Cerza
f69f2dffa9
Automatically watch 'multi' tube if tube_name
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-10 14:40:37 -05:00
Zack Cerza
78dbc36931
Refactor teuthology.schedule...
...
... to separate the assembling of the job config from the scheduling of
the job. Also port its argument parsing to docopt.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-09 18:31:01 -05:00
Zack Cerza
78610b03e3
Remote 'delete' and 'show' features
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-09 18:31:01 -05:00
Zack Cerza
b2f0ddad50
Remove unused import
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-09 18:30:37 -05:00
Zack Cerza
a405c228fc
Merge pull request #268 from ceph/wip-5400
...
Support installing ceph kernels from gitbuilder on rpm machines.
2014-06-09 16:41:10 -05:00
Sandon Van Ness
3d1df3aa63
Better variable names.
...
As suggested by review.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-06-09 13:43:45 -07:00
Zack Cerza
dbf984e9d8
Disable "fix" for corrupt repo detection
...
It's causing more problems than it's solving at this point
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-09 11:46:19 -05:00
Zack Cerza
2e5c697f1d
Use correct cwd
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-09 09:22:21 -05:00
Zack Cerza
e217488f9a
Merge pull request #269 from ceph/wip-radosfix
...
rados: Add hit_set_list missing from possible op weights
2014-06-07 09:48:44 -05:00
Zack Cerza
b7c1e35114
Update to reflect relocated get_jobs()
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-07 09:45:50 -05:00
David Zafman
875e2d240d
rados: Add hit_set_list missing from possible op weights
...
For the future help keep in sync with test/osd/TestRados.cc by listing
in order of op_types in that code.
Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-06-06 15:30:05 -07:00
Zack Cerza
2a7de82498
Move teuthology-ls's implementation to ls.py
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-06 16:15:15 -05:00
Zack Cerza
87e7ff0e2d
Fix corrupt repo detection
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-06 12:01:33 -05:00
Sandon Van Ness
825db5057f
Added requested comment.
...
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-06-05 12:07:47 -07:00
Sandon Van Ness
242d9de4e2
Remove unused variables and functions.
...
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-06-05 12:04:49 -07:00
Zack Cerza
cadcbf3914
Remove unused import
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-04 16:29:11 -05:00
Sandon Van Ness
ed3ec397ba
Support installing ceph kernels from gitbuilder on rpm machines.
...
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-06-03 18:36:40 -07:00
Josh Durgin
3ae54ead8a
Merge pull request #267 from ceph/wip-runxfstests
...
wip-runxfstests
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-06-03 15:56:44 -07:00
Zack Cerza
0f04af0799
Add a timeout for unmounting
...
Ten minutes seems like it might be longer than necessary, but I doubt
it's too short.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-03 12:39:38 -05:00
Alfredo Deza
60e6788ddf
Merge pull request #265 from ceph/wip-orchestra
...
Refactor teuthology.orchestra.run
2014-06-03 09:12:21 -04:00
Zack Cerza
af73e3080c
Remove some duplicate code.
...
Well, not exactly duplicate, but functionally compatible. No sense in
maintaining two "walk the filesystem to assemble job information"
utilities.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-02 19:01:09 -05:00
Zack Cerza
ae0d26ae71
Try a different approach to zombie prevention
...
The previous method I had committed had the unfortunate side-effect of
preventing teuthology job processes from giving their returncode to the
worker process. This method shouldn't do that.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-06-02 09:23:27 -05:00
Yehuda Sadeh
3968f6f744
radosgw-admin: adjust bucket link interface
...
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2014-06-02 09:23:27 -05:00
Ilya Dryomov
86c60f7de0
rbd: change test_script to run_xfstests_krbd.sh
...
Invoke run_xfstests.sh through a wrapper, which supplies an exclusion
list, in order to skip tests we don't want to run.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-05-31 15:16:52 +04:00
Ilya Dryomov
2551c528a2
rbd: recognize 'randomize' parameter
...
randomize (default: false) randomizes xfstests test order.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-05-31 15:11:38 +04:00
Zack Cerza
205c455fc1
Give daemons a five-minute timeout for stopping
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-30 16:39:16 -05:00
Zack Cerza
7035c17ec9
Add RemoteProcess.__repr__()
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-30 16:36:03 -05:00
Zack Cerza
eac2c2abbb
Update users of the teuthology.orchestra.run APIs
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-30 16:05:23 -05:00
Zack Cerza
b386f5e5df
Refactor teuthology.orchestra.run
...
RemoteProcess behaves more like subprocess.Popen, with some important
differences.
A summary of the API changes:
* RemoteProcess.exitstatus is either an int or None; it is never a callable
nor a gevent.AsyncResult.
* New method: RemoteProcess.execute()
* New method: RemoteProcess.poll()
* New method: RemoteProcess.wait()
* New attribute: RemoteProcess.returncode - alias to exitstatus
* New property: RemoteProcess.finished - added because returncode can be None
if the connection was interrupted
* run.execute() is removed.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-30 16:05:23 -05:00
Zack Cerza
59ee17dc19
Avoid piles of zombies
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-30 09:59:36 -05:00
Zack Cerza
0fcfaee726
Add comment explaining 'preexec_fn=os.setpgrp'
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-30 09:56:27 -05:00
Zack Cerza
b26ba60565
Check for broken repos before updating
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-29 13:23:23 -05:00
Zack Cerza
abc722c8be
More verbose logging for daemon restarts
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-29 00:37:27 -05:00
Zack Cerza
2363a17caa
Bump log level to info
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-28 23:40:48 -05:00
Zack Cerza
c4783543e3
Don't block on teuthology-results processes
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-28 14:56:59 -05:00
Zack Cerza
a4a9a1f22f
Correct logging when running teuthology-results
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-28 11:43:20 -05:00
Zack Cerza
baeeddbe76
Merge pull request #263 from qakapil/patch-two
...
updated the get_system_type function
2014-05-28 09:34:47 -05:00
ksharma
0b97eba364
updated the get_system_type function
...
updated the get_system_type function
to add the rpm condition for SUSE.
Signed-off-by: ksharma@suse.com
2014-05-28 16:31:56 +02:00
John Spray
6f8015135c
tasks/mds_journal_migration: create.
...
This is for testing the changes to CephFS
journal format, especially the migration
of journals from old to new format.
This is a teuthology task rather than being
a workunit script, because it involves
manipulating services and config during the
procedure.
Signed-off-by: John Spray <john.spray@inktank.com>
2014-05-28 14:39:41 +01:00
John Spray
554f8c81e0
task/ceph: separate ceph.conf into function
...
This is so that other tasks can modify ceph.conf
as needed.
Signed-off-by: John Spray <john.spray@inktank.com>
2014-05-28 14:39:41 +01:00
John Spray
79dfe2cbef
tasks: Use '_' instead of '-' in names
...
Python modules are not allowed to contain hyphens
in the name. Using hyphens only works here because
we're using low level __import__.
Change run_tasks to replace '-' with '_' when reading
configs, and rename the task modules to have valid
python module names.
Aside from general hygiene, the motivation to do this
is to allow one task to build on code in another
task by importing it.
Signed-off-by: John Spray <john.spray@inktank.com>
2014-05-28 14:39:41 +01:00
Zack Cerza
d3c230071a
Don't crash when an invalid branch is passed
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-22 12:26:50 -05:00
Zack Cerza
a6aebe2bbc
Set results_server by default
...
So that queued jobs get pushed to paddles
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-22 08:49:26 -05:00
Zack Cerza
3b382b7011
Process queued jobs synchronously
...
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-21 16:18:00 -05:00
Zack Cerza
08ace5465e
Add exception hook to teuthology-worker
...
Workers processes are dying occasionally, and this should cause the
exceptions to be logged.
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-05-21 11:34:11 -05:00
Zack Cerza
d58d2c152e
Merge pull request #258 from ceph/wip-fix-format-samba
...
Fixed formatting and added a better variable for time out
2014-05-19 18:33:22 -05:00
Yuri Weinstein
c8881bb7fa
Fixed broken quotations
...
Signed-off-by: Yuri Weinstein <yuri.weinstein@inktank.com>
2014-05-19 16:18:48 -07:00
Yuri Weinstein
6e893ad219
Fixed formatting and added a better variable for time out
...
Signed-off-by: Yuri Weinstein <yuri.weinstein@inktank.com>
2014-05-19 16:03:30 -07:00
Samuel Just
216e5c9a80
task/: add populate_rbd_pool for quickly spinning up a pool with rbd stuff
...
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-05-19 15:04:54 -07:00