Commit Graph

1545 Commits

Author SHA1 Message Date
Sage Weil
f3db12f025 schedule: strip out targets
If the user feeds in a yaml with targets, the worker will launch the job
but fail with

2013-09-03T11:18:34.333 CRITICAL:root:AssertionError: You cannot specify targets in a config file when using the --lock option

Just strip them out before scheduling.  This eases my personal workflow
where I have a test I'm running manually against some prelocked machines
but also want to schedule it.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-03 12:05:38 -07:00
Zack Cerza
f36f16a669 Logs and Sentry links are public now. 2013-09-03 13:46:31 -05:00
Sage Weil
4ba3d52018 Revert "Use install -d for /var/log/ceph."
This reverts commit 8f29b3f9f1.

Reviewed-by: Warren Usui <warren.usui@inktank.com>
2013-09-03 11:09:39 -07:00
Sage Weil
3d64322cdb Revert "get_scratch_devices(): catch CommandFailedError, log "dev in use""
This reverts commit 416508de9c.

NameError: global name 'CommandFailedError' is not defined
2013-08-30 23:22:24 -07:00
tamil
35b9beab06 s/ceph-debug/ceph-debuginfo for rpms
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
2013-08-30 17:35:15 -07:00
Dan Mick
416508de9c get_scratch_devices(): catch CommandFailedError, log "dev in use"
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-30 15:42:53 -07:00
Sage Weil
dcbf50b86c nuke: get pid, owner from info.yaml (if present)
Fall back to the old files if info.yaml is missing.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-30 10:02:27 -07:00
Alfredo Deza
e0d42c820e Merge pull request #63 from ceph/wip-logger
Never use 'except:' without specifying an Exception.
2013-08-30 09:15:45 -07:00
Zack Cerza
3981a8f1af Never use 'except:' without specifying an Exception. 2013-08-30 11:10:05 -05:00
Alfredo Deza
fbd7fe466a Merge pull request #62 from ceph/wip-logger
Add hung job description to email
2013-08-30 07:50:30 -07:00
Sage Weil
f342baeb22 run: do not import at top level
This makes a run with --lock hang when connecting, for some
reason.  E.g.,

 $ teuthology -v a.yaml --lock
 ...
 INFO:teuthology.task.internal:Opening connections...
 DEBUG:teuthology.task.internal:connecting to ubuntu@plana06.front.sepia.ceph.com
 <hangs>

No clue what is going on here, but this fixes it!

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-29 20:27:40 -07:00
Zack Cerza
24991c4ae0 Add hung job description to email 2013-08-29 17:08:51 -05:00
Zack Cerza
44401f9a0e Workers: only log child's stderr, not stdout 2013-08-29 16:12:36 -05:00
Zack Cerza
40f1d4fc58 Don't print colon if there's no exception message. Also, remove testing
exception.
2013-08-29 15:05:33 -05:00
Zack Cerza
83a5ab19b0 Pretty-up write_initial_metadata; s/run/name/ 2013-08-29 15:05:33 -05:00
Zack Cerza
9550b49921 Add exception hook 2013-08-29 15:04:50 -05:00
Sage Weil
f6430df250 run: write info.yaml on job start
Include basic metadata bout the job.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-29 15:04:50 -05:00
Zack Cerza
a0e86c05bd Move logging setup out of main() 2013-08-29 15:03:30 -05:00
Sage Weil
27eea4ad5e test 2013-08-29 15:03:30 -05:00
Sage Weil
649bddf71b run: set up archive dir and logger output sooner
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-29 15:03:30 -05:00
Alfredo Deza
ed575251db Merge pull request #58 from ceph/queue
Don't assume anything about the base path here.
2013-08-29 06:07:44 -07:00
Sage Weil
4fbec83490 suite: return [] for build_matrix base case
This gives us an empty list instead of a crash on an empty dir
or bad symlink

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 21:53:41 -07:00
Alfredo Deza
d3f1369812 Merge pull request #60 from ceph/sentry
Add run name to first line of email.
2013-08-28 18:52:29 -07:00
Zack Cerza
df73f503a3 Add run name to first line of email. 2013-08-28 15:41:14 -05:00
Sage Weil
7ce6696249 suite: build_matrix as a list of filenames, not file content
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 13:25:36 -07:00
Sage Weil
7163e89b83 suite: allow individual files to be scheduled
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 13:25:36 -07:00
Sage Weil
b829543388 suite: generalize collection expansion
Previous, a collection was a directory like this:

 mycollection/
 mycollection/facet1/
 mycollection/facet1/1a.yaml
 mycollection/facet1/1b.yaml
 mycollection/facet2/
 mycollection/facet2/2a.yaml
 mycollection/facet3/
 mycollection/facet3/3a.yaml
 mycollection/facet3/3b.yaml

and this would expand to

 1a + 2a + 3a
 1a + 2a + 3b
 1b + 2a + 3a
 1b + 2a + 3b

The fixed directory depth and requirement for a subdir even
when there is only 1 item is annoying.  Instead, allow an
arbitrary directory structure, with the following rules:

 - a .yaml file is a taken as-is (duh); other files still
   ignored
 - a directory is normally just a way to organize files.  We
   recursively descend and build a list of what we fine.
 - a directory with a '%' file in it is special:
     - take the product of every item in the dir (much like
       we did before)
 - a directory with a '+' file in it is special:
     - concatenate everything in the dir into one job

Note that this is equivalent to the previous structure if we
do:

 for facet in mycollection/* ; do touch $facet/% ; done

We can clean up slightly be taking any dir with only one yaml
file in it and replacing the dir with the bare .yaml.

Once this is done, we can reorganize directories however we
like.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 13:25:36 -07:00
Sage Weil
8314140dd6 suite: clean up imports
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 11:41:31 -07:00
Sage Weil
2dd889e4fd suite: make collection args (optionally) relative to a base dir
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 11:40:42 -07:00
Sage Weil
802fa51dae suite: make names a bit more friendly
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 11:40:41 -07:00
Sage Weil
8894ff6b9f suite: add --dry-run
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 11:40:41 -07:00
Zack Cerza
6175a133f4 Don't assume anything about the base path here. 2013-08-28 13:36:15 -05:00
Alfredo Deza
a472f5017a Merge pull request #54 from ceph/sentry
Add logs and Sentry events to suite emails
2013-08-28 09:38:20 -07:00
Zack Cerza
38a47ecef0 Don't return inside __init__ 2013-08-28 11:36:36 -05:00
Zack Cerza
53cea02a00 Add apology for non-public links 2013-08-28 11:15:27 -05:00
Zack Cerza
25defd40cc Indent wrapped exceptions. 2013-08-28 11:12:10 -05:00
Joe Buck
ffac4ad22d s3tests: extend for multi-region tests
Added code to the s3tests task to extract
multi-region info so that that data
can be added to the S3TEST_CONF file
used to run S3 tests.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-28 09:01:16 -07:00
Joe Buck
db518885c9 rgw: persist the region info
The rgw task deletes the region info
from the config structure. The s3tests
task needs this info, so we persist
it by sticking it in the ctx object.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewd-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-28 09:00:52 -07:00
Joe Buck
2877e2722b radosgw-agent: store radosgw_agent server/port
Persist the hostname and port number used
by the radosgw-agent http server.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-28 09:00:03 -07:00
Joe Buck
6c5a7af1b4 move multi_region_enabled() into util class
Moving a helper function into a more general
location so that it can be used by other
classes.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-28 08:59:15 -07:00
Sage Weil
951177b8e5 internal: whitelist btrfs lock imbalance bug 6097
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-27 21:41:39 -07:00
Samuel Just
c30310af5a ceph.conf.template: add osd_debug_pg_log_writeout = true
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-08-27 18:48:48 -07:00
Josh Durgin
232e3d32bc Fix undefined symbol errors
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-27 15:58:14 -07:00
Zack Cerza
6afb238aba Time is an integer, in seconds. 2013-08-27 17:26:46 -05:00
Zack Cerza
dfdac24f27 Make email formatting way, way nicer. 2013-08-27 17:22:27 -05:00
Zack Cerza
eb585d19a7 Move job listing logic to get_jobs() 2013-08-27 14:51:27 -05:00
Sage Weil
502714ba2e admin_socket: fix retry-on-error behavior
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-26 18:14:37 -07:00
Zack Cerza
81709ed13d Avoid double slashes in sentry event URL 2013-08-26 18:12:20 -05:00
Zack Cerza
a1a261a886 Add tags! Task name and owner to start. 2013-08-26 17:38:23 -05:00
Zack Cerza
0503803111 Add sentry events to suite email. 2013-08-26 17:21:48 -05:00
Zack Cerza
489c1660f2 Also leave a list of sentry events in the summary 2013-08-26 17:11:51 -05:00
Zack Cerza
4007173278 Add URL to Sentry event to traceback output. 2013-08-26 16:33:04 -05:00
Zack Cerza
6f00939053 Use os.path.join, not urlparse.urljoin 2013-08-26 16:17:31 -05:00
Zack Cerza
300374bb07 For failures, add http links to log directories. 2013-08-26 16:17:31 -05:00
Zack Cerza
fedc91c07f Add a catch-all __getattr__(); add comments 2013-08-26 16:17:31 -05:00
Zack Cerza
12cb686070 Rewrite email-generating code. 2013-08-26 16:17:31 -05:00
Zack Cerza
6c486ab067 Tweak logging 2013-08-26 16:17:31 -05:00
Sage Weil
77706c674c internal: remove (hopefully obsolete) kern.log checks
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-26 13:48:32 -07:00
Sage Weil
711a02449f internal: unbreak syslog BUG checks and gz
This broke back in ace4cb07b2

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-26 13:47:07 -07:00
Zack Cerza
ff1fcc7151 Merge pull request #51 from ceph/wip-queue
queue: only git fetch once per minute per branch
2013-08-26 10:14:16 -07:00
Sage Weil
5ec5e2c0e2 ceph_manager: wait for dump_ops_in_flight on osd revival
Wait for a command that implies a complete startup instead of
'version' (which does not).

Fixes: #5924
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-24 22:01:45 -07:00
Sage Weil
c861e2d70b queue: only git fetch once per minute per branch
This takes 1-2 seconds and makes launching jobs slow.  Only do it once
every 60 seconds per branch.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-23 15:43:35 -07:00
Sage Weil
973d5aff1c queue: only let one worker update the teuthology checkouts at a time
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-23 13:43:18 -07:00
Sandon Van Ness
c107adeb68 Fix for blank yaml.
As well as fix variabl variable naming.
2013-08-23 10:38:13 -07:00
Zack Cerza
7930f661a3 Update call to get_sentry_client() 2013-08-23 11:40:44 -05:00
Zack Cerza
609086366d Use teuthology.config 2013-08-23 11:40:22 -05:00
Zack Cerza
d8d2ef931c Add teuthology.config, the start of a better system 2013-08-23 11:39:02 -05:00
Sage Weil
9115663a74 Merge pull request #49 from ceph/sentry
Rewrite branch fetching.
2013-08-23 09:34:44 -07:00
Sage Weil
86caebbed7 nuke: clean up stray firmware.git locks
These get lost occasionally and cause all firmware.git updates to
fail when the kernel task runs.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-23 09:00:47 -07:00
Zack Cerza
eafd591ab1 Move git stuff to fetch_teuthology_branch() 2013-08-23 10:08:01 -05:00
Zack Cerza
307284c2ed Rewrite branch fetching. 2013-08-23 09:59:48 -05:00
Sage Weil
22fc733770 queue: fetch origin, not branch
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-22 22:20:26 -07:00
Sage Weil
f8f4c2d0e4 suite: only skip on non-vps if os-type is actually defined
If it's not defined, as it is (not) with most of the nightlies,
proceed!

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-22 22:18:55 -07:00
Sage Weil
c39ec60d48 queue: only bootstrap new checkouts
Until we figure out why bootstrap is getting stuck like this:

 9851 pts/7    S      0:03 /home/teuthworker/teuthology-master/virtualenv/bin/python ./teuthology-master/virtualenv/bin/teuthology-worker -v --archive-dir /var/lib/teuthworker/archive --tube plana --log-dir /var/lib/teuthworker/archive/worker_logs
 2075 pts/7    Z      0:00  \_ [git] <defunct>
 2112 pts/7    Z      0:00  \_ [git] <defunct>
 2138 pts/7    Z      0:00  \_ [bootstrap] <defunct>
 9852 pts/7    S      0:03 /home/teuthworker/teuthology-master/virtualenv/bin/python ./teuthology-master/virtualenv/bin/teuthology-worker -v --archive-dir /var/lib/teuthworker/archive --tube plana --log-dir /var/lib/teuthworker/archive/worker_logs
 2153 pts/7    Z      0:00  \_ [git] <defunct>
 2177 pts/7    Z      0:00  \_ [git] <defunct>
 2264 pts/7    Z      0:00  \_ [bootstrap] <defunct>
 9853 pts/7    S      0:03 /home/teuthworker/teuthology-master/virtualenv/bin/python ./teuthology-master/virtualenv/bin/teuthology-worker -v --archive-dir /var/lib/teuthworker/archive --tube plana --log-dir /var/lib/teuthworker/archive/worker_logs
 2141 pts/7    Z      0:00  \_ [git] <defunct>
 2276 pts/7    Z      0:00  \_ [git] <defunct>
 2305 pts/7    Z      0:00  \_ [bootstrap] <defunct>
 9854 pts/7    S      0:03 /home/teuthworker/teuthology-master/virtualenv/bin/python ./teuthology-master/virtualenv/bin/teuthology-worker -v --archive-dir /var/lib/teuthworker/archive --tube plana --log-dir /var/lib/teuthworker/archive/worker_logs
 7448 pts/7    Z      0:00  \_ [git] <defunct>
 7449 pts/7    Z      0:00  \_ [git] <defunct>
 7450 pts/7    Z      0:00  \_ [bootstrap] <defunct>
 7452 pts/7    Z      0:00  \_ [teuthology-resu] <defunct>
 9855 pts/7    S      0:01 /home/teuthworker/teuthology-master/virtualenv/bin/python ./teuthology-master/virtualenv/bin/teuthology-worker -v --archive-dir /var/lib/teuthworker/archive --tube plana --log-dir /var/lib/teuthworker/archive/worker_logs
 7712 pts/7    Z      0:00  \_ [git] <defunct>
 7713 pts/7    Z      0:00  \_ [git] <defunct>
 7714 pts/7    Z      0:00  \_ [bootstrap] <defunct>
 7716 pts/7    Z      0:00  \_ [teuthology-resu] <defunct>
 9856 pts/7    S      0:03 /home/teuthworker/teuthology-master/virtualenv/bin/python ./teuthology-master/virtualenv/bin/teuthology-worker -v --archive-dir /var/lib/teuthworker/archive --tube plana --log-dir /var/lib/teuthworker/archive/worker_logs
 2316 pts/7    Z      0:00  \_ [bootstrap] <defunct>
 9857 pts/7    S      0:03 /home/teuthworker/teuthology-master/virtualenv/bin/python ./teuthology-master/virtualenv/bin/teuthology-worker -v --archive-dir /var/lib/teuthworker/archive --tube plana --log-dir /var/lib/teuthworker/archive/worker_logs
 2340 pts/7    Z      0:00  \_ [bootstrap] <defunct>
 9858 pts/7    S      0:01 /home/teuthworker/teuthology-master/virtualenv/bin/python ./teuthology-master/virtualenv/bin/teuthology-worker -v --archive-dir /var/lib/teuthworker/archive --tube plana --log-dir /var/lib/teuthworker/archive/worker_logs
23188 pts/7    Z      0:00  \_ [bootstrap] <defunct>
 9859 pts/7    S      0:03 /home/teuthworker/teuthology-master/virtualenv/bin/python ./teuthology-master/virtualenv/bin/teuthology-worker -v --archive-dir /var/lib/teuthworker/archive --tube plana --log-dir /var/lib/teuthworker/archive/worker_logs

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-22 22:14:41 -07:00
Sandon Van Ness
dad8d1aa3a Do not run multiple tests (for distros) on baremetal.
Teuthology doesnt care about os_type for baremetal (ATM). This
change makes it so you can run tests that have been switched over
to run on multiple distros (on vms) on baremetal as well as all
non-ubuntu tests will be skiped (to avoid running the same test
multiple times on baremetal.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-08-22 19:36:46 -07:00
Sandon Van Ness
2ea841cdd3 Allow exclude_arch and exclude_os_type in qa-suite yamls
Adding the option:

exclude_arch:

or

exclude_os_type:

in the ceph-qa-suite yaml allows tests to be skipped for certain
types of hardware or distros.

Example:

exclude_arch: armv7l

This will make said test not run on arm machines.

exclude_os_type: rhel

Would make multi-distro tests skip a specific test on RHEL.
2013-08-22 19:36:37 -07:00
Zack Cerza
98160c5c99 Fix SyntaxError 2013-08-22 18:31:18 -05:00
Sage Weil
f93b26b983 Merge pull request #47 from ceph/sentry
Make the worker obtain the correct teuthology branch
2013-08-22 16:09:14 -07:00
Zack Cerza
a9df6c2a6a Worker shouldn't attempt to rebuild an existing virtualenv 2013-08-22 18:02:22 -05:00
Zack Cerza
c773060914 Use the ceph.com git mirror. 2013-08-22 15:51:39 -05:00
Zack Cerza
73de8b7734 Use fetch and reset --hard, not checkout and pull 2013-08-22 15:30:31 -05:00
Zack Cerza
c6293a4ee4 Make the worker obtain the correct teuthology branch 2013-08-22 14:47:18 -05:00
Zack Cerza
0e872533f2 Fix upgrading edge-ish case 2013-08-22 09:49:53 -05:00
Sage Weil
de270b080b install: use get() in _get_config_value_for_remote
Fixes: #6080
Signed-off-by: Sage Weil <sage@inktank.com>
Tested-by: Tamil Muthamizhan <tamil.muthamizhan@inktank.com>
2013-08-21 16:45:46 -07:00
Alfredo Deza
ab16813ea9 Merge pull request #44 from ceph/sentry
Add initial support for sentry
2013-08-21 14:28:37 -07:00
Joe Buck
520a9384c5 radosgw-admin: use check_status for task success
Alter the code to use the 'check_status=True'
option in rgwadmin() rather than following the
call with 'assert not err'. Should make the
tests a bit more clear and result in a more
useful error (throw the call stack rather than
just 'assert new err failed').

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-21 12:38:53 -07:00
Joe Buck
ff2a209f8d radosgw-admin: adding radosgw-admin tests
Adding tests for syncing buckets between
RGWs. Fulfills ticket #5605.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-21 12:38:44 -07:00
Zack Cerza
df8ae0415f Make client a global variable 2013-08-21 10:27:51 -05:00
Zack Cerza
0af6a8a6f2 Beginnings of support for Sentry. 2013-08-21 10:07:12 -05:00
Joe Buck
549bac3ede radosgw-admin: use dynamic ports for testing
The rgw.py task was extended to  dynamically
assign port numbers to radosgateways.
This patch extends the radosgw-admin task
to use those ports rather than making out-dated
assumptions of port numbering.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-20 21:21:17 -07:00
Zack Cerza
71a77f2908 Add get_test_user(), because hardcoding is bad 2013-08-20 16:25:25 -05:00
Alfredo Deza
0a8a1c98b0 Merge pull request #41 from ceph/wip-3791
Various usability and documentation fixes
2013-08-19 14:10:18 -07:00
Zack Cerza
5bd7f620b8 Add comment about portability to get_testdir_base() 2013-08-19 09:59:54 -05:00
Zack Cerza
657a070bd3 Merge pull request #37 from ceph/wip-fix5957-wusui
Display error message when locking a vpm fails due to downburst errors.
2013-08-19 07:03:02 -07:00
Joe Buck
558237e5f5 Detect multi-region test cases
Enable multi-region calls and tests only if
the configuration has specified a
radosgw-agent tastk.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-17 08:47:58 -07:00
Sage Weil
e625316d02 kernel: fix sha1
6f8910eca4 inadvertantly started
using the ceph sha1 for the kernel.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-16 22:34:26 -07:00
Joe Buck
bbf7c71183 radosgw-agent: adding debug logging
Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-16 19:26:41 -07:00
Joe Buck
8a47230d82 rename variables and log messages to be more clear
A few edits to make logging and variable names
more clear.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-16 19:26:33 -07:00
Joe Buck
7061e3c6dc rgw: fix domain root pool name assignment
Do not make the domain root pool the same
as the zone root pool. That causes sync issues.
Also, clarify a logging message.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-16 19:26:21 -07:00
Joe Buck
b883e338cd radosgw-admin: correct white space mistake
Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-16 19:26:09 -07:00
Warren Usui
a899b58095 Display error message when locking a vpm fails due to downburst errors.
When doing a lock-many, do not lock any of the vpms when downburst errors
occur.   Made error messages more accurate, and removed a destroy_if_vm call
because the destroy was alreadly called in unlock.  Changed some print
messages to be log.info displays.

Fix: 5957
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2013-08-16 16:23:09 -07:00
Warren Usui
694cd67048 Fix ARM releases to be quantal armv7l releases.
Made grub execution conditional and not done when ARM.
Use ctx parameter to change machine type to tala.
Fix kernel assignments when running ARM systems.

Fixes: #5000
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2013-08-16 15:44:54 -07:00
Warren Usui
47224f2da3 Revert "Fix ARM releases to be quantal armv7l releases."
This reverts commit aabfabc34c.
2013-08-16 15:01:01 -07:00
wusui
666b2a4834 Merge pull request #40 from ceph/wip-teutharm-wusui
Wip teutharm wusui
2013-08-16 14:47:59 -07:00
Warren Usui
aabfabc34c Fix ARM releases to be quantal armv7l releases.
Made grub execution conditional and not done when ARM.
Use ctx parameter to change machine type to tala.
Fix kernel assignments when running ARM systems.

Fixes: #5000
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2013-08-16 14:39:00 -07:00
Joe Buck
a39e7f1b09 Adding multi-region tests
Adding tests for ticket #5604 to test
user propagation via the radosgw-agent.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-16 10:38:12 -07:00
Zack Cerza
d74eefd9eb Use the json format for raw_cluster_status(). 2013-08-16 11:24:55 -05:00
Joe Buck
2c9ac3e0ee Detect multi-region test cases
Enable multi-region calls and tests only if
the configuration has specified a
radosgw-agent tastk.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-16 09:09:46 -07:00
Zack Cerza
6115d456f2 Do more than just sleep and raise an exception. 2013-08-16 10:17:18 -05:00
Sandon Van Ness
4a47eedce7 Fixing assumed typo.
Assuming this has to be a typo but its breaking the ceph-deploy
task.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-08-15 19:00:54 -07:00
Zack Cerza
17667301f3 Don't raise an exception if apt-key list fails 2013-08-15 12:42:47 -05:00
Zack Cerza
c17a18efdc Don't assume the ubuntu user when getting the test dir. 2013-08-15 10:58:45 -05:00
Zack Cerza
3afc7d9b41 If get_testdir_base() exists, might as well use it... 2013-08-15 10:17:32 -05:00
Zack Cerza
f41436abd5 Tweak regex to work for non-FQDN hostnames 2013-08-15 09:57:27 -05:00
Zack Cerza
5746efbbc2 Fix some instances where print is being used instead of log 2013-08-15 08:49:35 -05:00
Zack Cerza
ab2d2fad3c Default to log level INFO. 2013-08-15 08:29:09 -05:00
Zack Cerza
63b64e2969 Don't bail if ~/.teuthology.yaml doesn't exist. 2013-08-14 14:48:45 -05:00
Zack Cerza
ebf476d390 Obligatory automatic vim whitespace cleanup commit 2013-08-14 14:46:22 -05:00
Zack Cerza
f1c9125f27 Fix a case where _get_config_value_for_remote could return None mistakenly 2013-08-13 13:30:22 -05:00
Sage Weil
0f3d9eddd9 Merge remote-tracking branch 'gh/next' 2013-08-13 11:03:00 -07:00
Sage Weil
000efc658d samba: wait longer for smbd to start
sleep(1) is occasionally not long enough, it seems!
2013-08-13 11:02:40 -07:00
Zack Cerza
2797d8d82d Merge pull request #27 from dachary/wip-5946
do not check the jobid if check-locks is False
2013-08-13 10:46:30 -07:00
Loic Dachary
9d4104f45b do not check the jobid if check-locks is False
Because it relies on the lock server which is presumably not available
since check-locks was set to False. It matters when using teuthology
on a minimal installation.

http://tracker.ceph.com/issues/5946 fixes #5946

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-08-13 19:32:01 +02:00
Zack Cerza
13edfe6bdf Merge pull request #28 from alfredodeza/5887
Allow a user to define a ceph-deploy branch to use (instead of master)
2013-08-13 09:10:45 -07:00
Alfredo Deza
ac78bc9069 Merge pull request #24 from ceph/wip-5937
Don't hit an AttributeError if ctx.config['overrides'] is set to None
2013-08-13 08:57:18 -07:00
Alfredo Deza
643da65e83 remove fallback of the fallback. so silly
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
2013-08-13 11:56:37 -04:00
Zack Cerza
3aa995a62a Remove three characters just for Alfredo 2013-08-13 10:45:53 -05:00
Alfredo Deza
70cd884f42 safer fallback. Updates docstring
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
2013-08-13 11:42:22 -04:00
Joe Buck
d4c2576c34 radosgw-agent.py: refactor, enable overrides
Refactored the radosgw-agent.py code so that it
is structured more like existing teuthology
tasks.
Additionally, added code to enable:
using the override field in YAML files,
specifying which radosgw-agent github branch
to use checkout and for the YAML file to
specify one of the following: a full sync,
an incremental sync and the starting of the
test radosgw-agent server (previously the
server was always started by this task).

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-12 23:25:57 -07:00
Joe Buck
1d90d7bc83 rgw.py: fix example config
In the example config, the region root and
zone root where pointing to the same pool,
which is not a best practice. Updated the
example to show them pointing to different pools.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-12 23:25:43 -07:00
Joe Buck
9ee6452404 rgw.py: add a better error message
When pulling region info from the config
structure, if the region info isn't there,
log a more helpful message.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-12 23:25:33 -07:00
Joe Buck
e517cd4cfc s3readwrite.py: make user creation optional
Extend the s3readwrite.py task to enable the
creation and deletion of users for the s3readwrite
tests to be independently specified with the default
assumption to both being true.
This is needed for tests that will create a user and
data in one execution and read it in another.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-12 23:25:24 -07:00
Joe Buck
e3b9add3fb rgw.py: refactor configure
Extend the rados pool configuration options to
specify all pools (if desired).
Also, reordered zone and region configuration
so that they're configure (per client) in
this order: zone, region, set default region

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-12 23:25:16 -07:00
Joe Buck
18e80147f3 rgy.py: make log_(data|metadata) configurable
The log_data and log_metadata are made configurable
via the YAML file and default to false
(meaning neither data nor metadata operations are
logged).

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-12 23:25:06 -07:00
Yehuda Sadeh
3fb53189d0 agent name should also contain port number
otherwise multiple agents per machines will have the same id

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-08-12 23:24:13 -07:00
Yehuda Sadeh
4adc1da58a radosgw-admin: various multiregion related fixes and changes
Go to the master zone in the master region for radosgw-admin
operations. Trigger metadata sync. Other fixes.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-08-12 23:24:04 -07:00
Dan Mick
fa733e43d3 Change "Exception" to "RuntimeError" as advised by zackc
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-08-12 15:43:02 -07:00
Dan Mick
28e42197d8 tasks/ceph-deploy: allow configurations with no mds
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-08-12 14:55:14 -07:00
Zack Cerza
93b532f0bf Don't hit an AttributeError if ctx.config['overrides'] is set to None 2013-08-12 16:18:42 -05:00
Zack Cerza
cabb4142d1 Make this module pep8-clean. 2013-08-12 11:40:04 -05:00
Sage Weil
5aee4a8b6c Merge pull request #22 from ceph/rpm-upgrades
Fix rpm upgrades for nested branch configs
2013-08-10 11:35:05 -07:00
Zack Cerza
7c377cb77c Make _get_baseurlinfo_and_dist() provide the correct uri 2013-08-10 12:45:21 -05:00
Zack Cerza
251cbf7fd7 Merge pull request #21 from ceph/rpm-upgrades
Make install.upgrade work on RPM-based systems.
2013-08-09 16:26:39 -07:00
Zack Cerza
b78a6c779b Make install.upgrade work with CentOS/RHEL/Fedora. 2013-08-09 17:01:36 -05:00
Zack Cerza
2a7a61cd17 Add Remote.system_type property. Also, clean up whitespace. 2013-08-09 13:28:38 -05:00
Sage Weil
a0e74a9614 admin_socket: split command into multiple arguments
We were passing the command as a single string, but that does not work the
same way it used to.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-09 09:04:25 -07:00
Sage Weil
a739206666 ceph.conf: open osd classes on start
This is the default for master, but needs to be explicitly enabled for
cuttlefish.
2013-08-07 14:01:00 -07:00
Sage Weil
77b63f0425 Merge remote-tracking branch 'gh/next' 2013-08-07 09:03:51 -07:00
Alfredo Deza
6acee41c07 add a key for ceph-deploy-branch detection
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
2013-08-06 15:20:56 -07:00
Zack Cerza
7a14a93d91 Add a useful error message in case of an invalid hostname 2013-08-06 15:21:34 -05:00
Joe Buck
70f4eeb970 s3readwrite.py: enable overrides
Enable s3readwrite task to have the branch to
download specified and for overrides to be
incorporated into the config at run-time.
Code based on the s3tests.py task.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-06 12:15:37 -07:00
Sage Weil
18580c1d9c Merge remote-tracking branch 'gh/next' 2013-08-04 14:54:26 -07:00
Sage Weil
89347539ad samba: wait for smbd process to exit
I saw

2013-08-03T12:56:26.641 DEBUG:teuthology.orchestra.run:Running [10.214.131.28]: 'sudo killall -9 smbd'
2013-08-03T12:56:26.727 DEBUG:teuthology.orchestra.run:Running [10.214.131.28]: 'sudo lsof /home/ubuntu/cephtest/93695/mnt.0'
2013-08-03T12:56:26.830 INFO:teuthology.orchestra.run.out:[10.214.131.28]: COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
2013-08-03T12:56:26.830 INFO:teuthology.orchestra.run.out:[10.214.131.28]: smbd    12381 root  cwd    DIR    0,0        0    1 /home/ubuntu/cephtest/93695/mnt.0

which makes me think we just need to wait a moment before
attempting the umount?

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-04 14:54:20 -07:00
Joe Buck
4bd5b591d4 rgw.py: add None object check when parsing info
The rgw task was failing to check for a None object
when parsing user info in the case where there were
config options set for the client that did not include
user info (e.g. valgrind: ).
2013-08-03 17:16:52 -07:00
Sage Weil
98f35a5e49 rgw: do not ignore leaks
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-02 12:00:18 -07:00
Joe Buck
3accf1c68a rgw.py: adding a safety check
Correcting a bug where specifying
a rgw server for a client but not specifying
a system user would throw an exception.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 21:05:15 -07:00
Josh Durgin
9110c7d8ca rgw: add log settings to example config
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 19:12:05 -07:00
Josh Durgin
1787a72ef0 radosgw-agent: get verbose logs from the agent
This makes it a lot easier to debug.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 19:12:03 -07:00
Josh Durgin
1ec9c1b4b8 radosgw-agent: move zone extraction to helper
This will be useful for other tasks.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 19:12:02 -07:00
Josh Durgin
fdde365858 rgw: don't make domain_root pool the same as zone root
These are supposed to be separate pools.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 19:12:01 -07:00
Josh Durgin
d79a2db578 rgw: create system users with the --system flag
without this they have no special permissions

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 19:11:59 -07:00
Joe Buck
3eb62d2a36 rgy.py: make log_(data|metadata) configurable
The log_data and log_metadata are made configurable
via the YAML file and default to false
(meaning neither data nor metadata operations are
logged).

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 19:11:58 -07:00
Josh Durgin
ef68b98822 radosgw-agent: rename task to match tool name
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 17:33:36 -07:00
Josh Durgin
189e04fa88 rgw_sync_agent: fix a bunch of issues
- Read ceph.conf from stored copy that includes overrides
- Get system users and keys from cluster instead of reading other
  tasks' yaml, which may not be complete.
- Put zone info extraction from the cluster into utility functions,
  since it'll be useful for other tests later.
- Work with more than one agent on a single host
- Accept more than one client to run, like almost every other task
- Rename target to dest for consistency with radosgw-agent
- Don't make everything one large function

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 17:33:36 -07:00
Josh Durgin
ad6a9e537f rgw: ignore exit status when removing base apache dir
subdirs have already been removed, and this only needs to succeed once
per host.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 17:33:35 -07:00
Greg Farnum
f930f39b18 rgw_sync_agent: add new rgw_sync_agent task
This pulls access data out of the rgw task and off disk,
and then downloads, sets up, and runs an rgw sync agent
in test mode.

Signed-off-by: Greg Farnum <greg@inktank.com>
2013-08-01 17:33:35 -07:00
Sandon Van Ness
48357d666c Fix for #5836 (--lock-many with vms)
This makes --lock-many work when --machine-type vps is passed.
Before it wasn't handled correctly and guests were not created.
Now it creates and gives the back the user the list-targets for
said guests.

teuthology-lock --lock-many 4 --machine-type vps --os-type centos

This fixes issue #5836

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Reviewed-by: Alfredo Deza <alfredo@deza.pe>
2013-08-01 17:06:16 -07:00
Sandon Van Ness
88b7d02970 Fix for Debian wheezy (remove vda from block device list)
On debian wheezy its mount output uses device-by-label and makes
our normal method of checking if a device is mounted not work.
Since vm's will always be vda for their boot device we will just
remove it from devs if its in there so it doesn't attempt to zap
vda.

I also added a strip() to remove the last blank entry that was
always getting added to the devs list on all machines. Example:

devs=['/dev/sda', '/dev/sdb', '/dev/sdc', '/dev/sdd', '']

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Reviewed-by: Alfredo Deza <alfredo@deza.pe>
2013-08-01 12:33:11 -07:00
Joe Buck
1552a4b97a rgw.py: check for empty client config
Fixes a bug where an rgw client without
a system user specified would cause teuthology
to error out.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2013-08-01 10:28:26 -07:00
Joe Buck
7f76c1ced1 rgw.py: refactoring to separate user creation
By separating out the user creation from
generating the region/zone info, we can generate
users for RGW tests that run against the default
pools.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-31 16:02:42 -07:00
Joe Buck
8c8e9a1403 rgw.py: change --secret-key to --secret
A 'user create' call was being passed to radosgw-admin
with '--secret-key' instead of the valid '--secret'
which was causing a random secret to be generated,
which was causing subsequent tests to fail.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-07-31 14:18:20 -07:00
Josh Durgin
1f7127b243 s3/swift tests: call radosgw-admin as the right client
This allows the right region and zone info to be read from ceph.conf

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-31 13:32:58 -07:00
Josh Durgin
2f2108b3c0 rgw: fix dir creation and keyring
fastcgi_sock dir needs to exist before radosgw starts, and apache-execed radosgw needs an explicit keyring argument.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-31 12:47:48 -07:00
Sandon Van Ness
74b344e980 Reconnect after running chef task.
Just a simple change to reconnect to SSH after running
ceph-qa-chef to get around things like ulimit changes.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-07-30 17:26:59 -07:00
Sandon Van Ness
00c2ac5b2c Fix RHEL/centos ceph-deploy installs.
Use a hiphen as a diliminator instead of a dot.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-07-30 12:36:12 -07:00
Samuel Just
e1cd49bd45 ceph_manager: wait 20s before wait_for_clean in test_map_discontinuity
Fixes: #5806
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-07-30 10:47:22 -07:00
Warren Usui
bcf467c803 Remove now unnecessary try/except/raise that came about as a result of
the previous check-in.

Fixes: #5803
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2013-07-30 10:41:14 -07:00
Warren Usui
48a977e0f2 Always raise exception if yum install fails. This avoids later confusion when
packages are missing (the old code skipped 'Nothing to do' messages, but these
cases are still errors).

Fixes #5803
Signed-off-by: Warren Usui <warren.usui@inktank.com>
Reviewed by: Sandon Van Ness
2013-07-30 10:40:47 -07:00
Sandon Van Ness
b9c7445b1b More changes for creating vms manually with lock (no config)
Needed some more changes to allow for the case of creating vm's
manually with teuthology-lock instead of letting teuthology handle
it in internal.py with lock_machines(). Just some additional checks
to go to defaults when ctx.config is non-existent (causes an
attributeerror).

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Reviewed-by: Warren Usui <warren.usui@inktank.com>
2013-07-29 17:07:31 -07:00
Sandon Van Ness
d41b4e5ed6 Fixing teuthology-lock for os-type instead of vm-type.
Teuthology got updated to use --os-type and os_type in yaml
instead of --vm-type. I added this to teuthology but forgot
to update tuthology-lock as well for manually creating vms.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-07-29 16:34:20 -07:00
Sage Weil
99a79c6c1f rados_util: adjust-ulimits, not enable-coredump
This was responsible for the lost_unfound test breakage.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-29 14:10:05 -07:00
Samuel Just
8284e19226 ceph_manager: wait for all_up in test_map_discontinuity
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-07-29 13:45:24 -07:00
Samuel Just
e703942ce4 ceph_manager: allow-experimental-feature now causes an EINVAL
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-07-29 12:12:24 -07:00
Yehuda Sadeh
9dac3fe809 s3tests: clone correct branch
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-07-29 09:09:51 -07:00
Sage Weil
0158f0db9d adjust-ulimits: 16k open files
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-28 15:09:43 -07:00
Sage Weil
496c6773ac ceph_manager, dump_stuck: fix injectargs args
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-27 17:56:08 -07:00
Josh Durgin
73adf33346 radosgw-admin: fix typo in import
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-27 12:30:52 -07:00
Sage Weil
45ce9b0b54 valgrind: suppress curl, gnutlss, libfcgi leaks
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-27 07:49:11 -07:00
Sage Weil
a039d4ada7 ceph_manager: don't mark out an out osd on kill_osd(..., mark_out=True)
Fixes

2013-07-27T02:02:23.879 INFO:teuthology.task.thrashosds.thrasher:Recovered, killing an osd
2013-07-27T02:02:23.879 INFO:teuthology.task.thrashosds.thrasher:Killing osd 2, live_osds are [3, 4, 0, 1, 5, 2]
2013-07-27T02:02:24.547 INFO:teuthology.task.thrashosds.thrasher:Removing osd 2, in_osds are: [4, 0, 1, 5]
...
ValueError: list.remove(x): x not in list

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-27 07:48:55 -07:00
Sage Weil
404f6d245b rest-api: rename
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-26 18:21:21 -07:00
Warren Usui
3f0340f45f Add rest_api, a new task that starts up /usr/bin/ceph-rest-api running
as a daemon.

Fixes: 5613
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2013-07-26 18:20:16 -07:00
Sandon Van Ness
c01c200f15 Allow OS version over-ride (distro version)
Read os_version from yaml to over-ride teuthology defaults.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-07-26 16:15:19 -07:00
Josh Durgin
f2cddda154 rgw: correct socket option name
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-26 14:18:24 -07:00
Josh Durgin
699d0a3b27 rgw: add rgw log socket to daemonized radosgw too
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-26 14:15:28 -07:00
Josh Durgin
65172a0938 rgw: pass socket path directly to radosgw
Only radosgw needs this option, and each one will be different, so
remove it from the ceph.conf template.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-26 14:13:19 -07:00
Samuel Just
a355d9f570 ceph_manager: add test_map_discontinuity to thrasher
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-07-26 10:40:58 -07:00
Greg Farnum
a0b51b1f31 samba: run lsof and fuser after shutdown
The clients are pretty regularly reporting busy on unmount when
samba runs above them. This will hopefully give us some info about why.

Signed-off-by: Greg Farnum <greg@inktank.com>
2013-07-26 09:39:26 -07:00
Sandon Van Ness
f19bcfc9df Merge branch 'master' of github.com:ceph/teuthology 2013-07-25 19:50:39 -07:00
Sandon Van Ness
41cafb1a10 Merge remote-tracking branch 'origin/wip-sandon-vm'
Conflicts:
	teuthology/lock.py
	teuthology/misc.py
	teuthology/task/install.py
2013-07-25 19:50:02 -07:00
tamil
aeb3586bfb added test_mon_destroy option to ceph-deploy task
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
2013-07-25 17:12:52 -07:00
Sandon Van Ness
c2c8a080c7 Added --os-type argument to run.py
Because for some reason it was never there before?

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-07-25 15:33:11 -07:00
Sandon Van Ness
810cca1daf Added get_distro() to misc.py
Since getting the ostype is used multiple places I made a
function for it and modified the existing code to use
said function. I also added tests for the function.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-07-25 14:45:02 -07:00
Sandon Van Ness
57933b6f92 Fix priority so it only is added once.
Needed for baremetal so the sed doesn't keep adding
the priority line in the repos file.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-07-25 14:24:43 -07:00
Sage Weil
77ee5a0714 ceph_manager: try both new and old tell mon.* syntax
So we can test old code with new teuthology (e.g., upgrade testing)

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-25 13:54:20 -07:00
Sage Weil
1fcf8e3fbb ceph: make restart take both a list of daemons and other arguments
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Tamil Muthamizhan <tamil@inktank.com>
2013-07-24 13:26:24 -07:00
Joe Buck
3c9382a7fa teuth: rgw task example config update
Due to bug #5716, pools need to start with a '.' at present.
Updating the examples to follow this convention.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-24 13:00:18 -07:00
Joe Buck
4fb5781afb teuth: fix issue in cleanup code
The post-yield code in create_dirs needed to
be tweaked to correctly delete the {tdir}/apache
directory (if it exists) on each client.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-24 13:00:10 -07:00
Sage Weil
75136a8322 ceph: wait-for-osds-up option for restart
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-24 10:25:10 -07:00
Sage Weil
13aca3b7ad ceph: wait_for_osds_up
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-24 10:25:10 -07:00
Josh Durgin
8ad065dc9c rgw: add multi-region and zone support
Take client<->zone/region and the associated pools from ceph.conf, so
we don't have to invent a new format to specify it.

General region info is added to a new configuration section in the rgw
task. Each client is assumed to be a different zone, and a system user
is created with the key specified in the yaml, so it can be passed to
later task configuration as well. This isn't strictly necessary, but
avoids having to lookup this info in later tasks through something
like radosgw-admin.

Ports are allocated automatically because there's no obvious mapping
from host to client in the task configuration. Later tests can get the
endpoints desired by reading the region map.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-24 09:59:50 -07:00
Josh Durgin
721280b7f3 task_util: move rados command here
Six copies are replaced with one, with an added option to check status
automatically. This should probably be used in a few places where the
return code is ignored.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-24 09:59:50 -07:00
Josh Durgin
6d2434b48f rgw: move common rgwadmin function to a new utility file
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-24 09:59:50 -07:00
Joe Buck
88cab4712f teuth: reworked rgw to support regions / zones
Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-07-24 09:59:50 -07:00
Joe Buck
afd0d87eda teuthology: updating RGW task to support regions
Extending the rgw.py task to allow for regions and zones
to be specified in the YAML file.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-07-24 09:59:50 -07:00
Sandon Van Ness
e6a30d73a7 Re-create guest if it already exists
In some cases tests fail or nuke fails and the guest is
not properly destroyed. This will look to see if it gets
an error due to the guest already existing or its disks
existing and will re-create the guest.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-07-23 16:10:24 -07:00
Sandon Van Ness
55cc15fb24 Wait a little longer before recreating VMs
Just to allow for the create to still work incase the os
volume is fairly large (takes a while to resize) and in
case the host machine is bogged down due to disk I/O.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-07-23 15:52:32 -07:00
Sandon Van Ness
52a886c596 Use os_type instead of vm_type. Add os_version
Use os_type instead of vm_type for more generic naming
for when we start re-imaging bare metal. Also added a
os_version dictionary for default versions of distros
that we want over-riding what downburst defaults are.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-07-23 15:50:50 -07:00
Sage Weil
c1e0812b6a ceph: add wait_for_mon_quorum command
tasks:
...
- ceph.wait_for_mon_quorum: [a, b]
...

will block until the mon quorum consists of exactly [a, b].  This is
compared directly to the relevant field from 'ceph quorum_status'
which has the alphanumeric names only.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-23 15:38:29 -07:00
Sage Weil
68888862a1 sequential, parallel: allow entries to be references to top-level config
Often we want to build a test collection that substitutes different
sequences of tasks into a parallel/sequential construction.  However, the
yaml combination that happens when generating jobs is not smart enough to
substitute some fragment into a deeply-nested piece of yaml.

Instead, make these sequences top-level entries in the config dict, and
reference them.  For example:

tasks:
- install:
- ceph:
- parallel:
  - workload
  - upgrade-sequence
workload:
  workunit:
    - something
upgrade-sequence:
  install.restart: [osd.0, osd.1]

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-23 15:38:29 -07:00
Samuel Just
77cae4bf35 thrashosds: add delay option after recovery
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-07-22 16:30:57 -07:00
Joao Eduardo Luis
e84c54addd task: mon_clock_skew_check: grab max-skew value from ceph-mon's config
Instead of relying on hardcoded values, obtain the max-skew default from
'ceph-mon --show-config-value mon_clock_drift_allowed' to match the mon's
expectation.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-22 10:02:22 -07:00
Sage Weil
222b296019 admin_socket: loop until the socket command succeeds
Sometimes the thing we're talking to is slow to start, or to register the
command we are running.  Loop in that case, at least for a while.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-22 10:02:14 -07:00
Yehuda Sadeh
37a662442d apache.conf: load modules conditionally
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-07-20 11:30:24 -07:00
Sage Weil
494accb8e2 ceph-deploy: do not test mon destroy by default 2013-07-19 22:19:09 -07:00
Joao Eduardo Luis
06ad2d2cc9 task: mon_clock_skew_check: by default, use max skew from global config
If not defined, defaults to 0.05;  if 'max-skew' however is defined, it
must override whatever is on the config.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-07-19 21:54:34 -07:00
Joao Eduardo Luis
7ca59dfae1 task: mon_clock_skew_check: missing 'str'.format() key crashed the test
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-07-19 21:54:28 -07:00
Sage Weil
51c2963e53 mon_thrash: tolerate scrub command failure
We can get EBUSY if there is an election going on.
2013-07-19 21:53:33 -07:00
Josh Durgin
633a1881e4 Merge branch 'wip-centos-rgw' 2013-07-19 14:44:51 -07:00
Josh Durgin
f0123db7d9 rgw: turn off continue print on centos
Also note that a ceph.conf setting is needed for that too

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-19 14:42:38 -07:00
Josh Durgin
29e7db26eb install: remove ceph-release rpm file after it's used
No need for it anymore, it's just taking up space

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-19 14:36:18 -07:00
Sage Weil
d874b57ef2 sleep: new task 2013-07-19 11:26:58 -07:00
Alfredo Deza
5263a6f758 failed dict.get evaluates to None 2013-07-19 09:01:28 -04:00
Alfredo Deza
65f49beb35 safer get by falling back to a dictionary 2013-07-19 08:59:53 -04:00
Sandon Van Ness
a2efc17305 Merge branch 'wip-machine-based-workers' 2013-07-18 19:37:25 -07:00
Sage Weil
4db5b930af ceph: do not ignore osd leaks
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-18 18:05:25 -07:00
Sage Weil
0985f8c386 nuke: killall ceph-disk, too
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-18 12:31:11 -07:00
Sandon Van Ness
5f9a1d8a0f Worker processes by machine type instead of teuthology branch.
teuthology-suite and schedulewill now take --worker instead of
--branch. The branch is set by setting teuthology_branch in the
yaml used to schedule the job.

The teuthology branches are assumed to be in ~/teuthology-$branch
of whatever user is running the workers.
2013-07-18 12:04:08 -07:00
Sage Weil
2173d33d89 ceph-deploy: support overrides
Something like

overrides:
  ceph-deploy:
    foo: bar

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-18 11:21:20 -07:00
Sage Weil
a395d55e0a Merge remote-tracking branch 'gh/next' 2013-07-17 21:33:50 -07:00
Sage Weil
99c40128e4 lock: filter machine type for --list, --list-targets
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-17 20:54:16 -07:00
Sage Weil
608d8a201a lock: make --summary list all machines by default
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-17 20:54:15 -07:00
Sage Weil
1d16a9ba7f lock: drop machine-type default, but require for lock-many
Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-17 20:54:08 -07:00
Samuel Just
9e91395a2e ceph.conf.template: enable osd debug verify stray on activate
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-07-17 18:14:58 -07:00
Yehuda Sadeh
c395687fd9 radosgw-admin: adapt task to recent changes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-07-17 14:05:26 -07:00
Sage Weil
b15513fc7c workunit: set CEPH_CLI_TEST_DUP_COMMAND
This will make the CLI do every mon command twice and make sure they both
succeed.  This catches problems with mon command idempotency faster than
waiting for random failures trigger.
2013-07-16 17:16:08 -07:00
tamil
51352677ab added conf section to ceph-deploy task
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
2013-07-16 17:14:33 -07:00
Warren Usui
e3d9084cd9 Created tasktest to test sequential and parallel tasks.
Added sequential task and parallel task.
Changed _run_one_task to run_one_task (now called by new tasks too).

Fix #4969
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2013-07-15 19:08:23 -07:00
tamil
47696d2b92 calling mon destroy command after mds create
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
2013-07-15 17:04:21 -07:00
Sage Weil
5d596a4679 ceph_manager: drop -t arg prefix for pg dump_stuck
This is no longer needed, and ugly to support.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-13 14:11:26 -07:00
Sandon Van Ness
b9b9dd130e Remove btrfs-tools and xfsprogs install step.
We already install btrfs-tools and xfsprogs with ceph-qa-chef
Doing it here was just causing problems on non-ubuntu
distros and I really see no point for it to have it now.
2013-07-12 20:56:07 -07:00