Commit Graph

183 Commits

Author SHA1 Message Date
Warren Usui
8f29b3f9f1 Use install -d for /var/log/ceph.
Additional fix needed for #4946

Signed-off-by: Warren Usui <warren.usui@inktank.com>
2013-06-11 16:50:09 -07:00
Sage Weil
0911e5493b ceph: ignore ceph-osd leaks for now :( 2013-06-10 10:45:10 -07:00
Sage Weil
3ec763c420 ceph: fix valgrind grep output parsing
When you pass a single file to zgrep you don't get the filename prefix,
which confuses the split line a few lines down.
2013-06-04 09:07:53 -07:00
Sage Weil
bd7292b529 ceph: debug valgrind error
File "/var/lib/teuthworker/teuthology-master/teuthology/task/ceph.py", line 215, in valgrind_post
    (file, kind) = line.split(':')
ValueError: need more than 1 value to unpack
2013-06-03 09:57:17 -07:00
Sage Weil
4e18587930 ceph: fix valgrind log check
- logs are gzipped; use zgrep
- wait for the proc to exit before looking at stdout

Signed-off-by: Sage Weil <sage@inktank.com>
2013-05-22 13:22:21 -07:00
Samuel Just
b948406a07 ceph.py: set up ctx.disk_config outside of the loop
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-05-01 13:14:35 -07:00
Samuel Just
0382aa60e9 ceph.py: the journal component does not current work with restart
Removing for the time being.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-05-01 13:13:52 -07:00
Josh Durgin
52742fb072 fix some errors found by pyflakes
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-04-30 17:09:19 -07:00
Josh Durgin
935e8685e6 ceph: allow restarting radosgw
Only split once, since radosgw will have client.X after it.
Monitors and MDSs may have names with more .s as well.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-04-30 16:39:48 -07:00
Josh Durgin
4979df32c5 misc: move daemon stopping function to a generic place
This will be useful for other daemons, like radosgw, in the future.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-04-30 16:35:11 -07:00
Sage Weil
aeb1bbe414 do not archive on pass if 'archive-on-error: True'
Optional flag makes us suck down the archive (mostly, the logs, which
might be huge for some debugging tests) unless the test has failed.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-03-29 14:27:20 -07:00
Sage Weil
4d28a65798 stop ignoring osd leaks
Note that the mds is the only one left that we are ignoring.
2013-03-21 20:40:48 -07:00
tamil
8f27fa6194 moving client.keyring creation out of ceph task
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
2013-03-21 16:14:54 -07:00
tamil
8ff32eb630 stop and restart daemons as restart only starts.
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
2013-03-20 17:40:46 -07:00
Sam Lang
fabf36d2b6 task/ceph: Revert extra check for running status
Don't use exit status info to track daemon state.  We need to find
a better way to do this for the restart task.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2013-03-19 15:46:34 -05:00
Sam Lang
6fe1deadbf task/restart: Restart task for testing daemon kill
The ceph daemons support being killed at a specific code point
with a config option.  In some cases, we want to test a kill point
only once for a given daemon run (such as replay that only occurs
during daemon startup).  This task allows running a script or executable
and (when the script sends a command to the task) restarting it with
a temporary config that has the appropriate kill point set.  Once
the daemon asserts and gets restarted, the original config is used.

Adds a specific restart_with_args() method to the DaemonState in the
ceph task.

Right now this task follows the workunit task closely, but uses stdout/stdin
to specify when to restart a daemon.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2013-03-18 11:16:01 -05:00
tamil
aaf02ab05d added task for ceph.restart
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
2013-03-14 18:18:39 -07:00
Sam Lang
5ef2a04137 task/ceph: Recreate /var/run/ceph on powercycle
If a node is powecycled during testing, we need to
recreate /var/run/ceph once the node restarts.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2013-03-12 22:21:01 -05:00
Sage Weil
c6a427be55 ceph: sudo grep /var/log/ceph/ceph.log
Signed-off-by: Sage Weil <sage@inktank.com>
2013-03-10 17:08:55 -07:00
Joao Eduardo Luis
045a86680d task: ceph: create monitor data directories prior to --mkfs
The new monitor store does not create the data directory on --mkfs. We
must create it instead, much like what happens with the osds.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-02-22 01:04:06 +00:00
Sage Weil
17be13b2b4 ceph: fix log, /var/run/ceph stupid
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-21 15:08:14 -08:00
Josh Durgin
a862d8bf77 Fix unused vars, unused imports, and aliasing
Found by pyflakes

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-21 14:47:00 -08:00
Sage Weil
5c0a2f40de ceph: make /var/run/ceph writeable by non-root too
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-21 12:45:26 -08:00
Sage Weil
1d62baf107 ceph: fix /var/log/ceph chown/cmod typo
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-21 12:35:55 -08:00
Sage Weil
e1573ea181 ceph.conf: use default locations for admin socket; fix client log file
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-21 11:35:36 -08:00
Sage Weil
2574d87562 make /var/log/ceph writeable by non-root; make clients log to it
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-21 11:05:30 -08:00
Sage Weil
1a0e201d65 ceph: fix valgrind log check
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 16:43:04 -08:00
Sage Weil
3f7c9bcaa4 move the install to a separate task.
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 15:06:52 -08:00
Sage Weil
ed82d87566 fix a few archive/log stragglers
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:06 -08:00
Sage Weil
38b30c646f ceph: make gitbuilder host configurable
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:06 -08:00
Sage Weil
b1c9864a7a ceph: install -dbg packages, too
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:06 -08:00
Sage Weil
d8b6bf94ec ceph: create /var/run/ceph
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:05 -08:00
Sage Weil
88ebc27f16 ceph: store logs in normal location
We need to switch around how these are compressed and pulled, since they
aren't in the regular archive dir anymore.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:05 -08:00
Sage Weil
d1d36241b7 ceph: use default data, keyring locations
This required reordering the cluster setup so that we do the ceph-osd
--mkfs --mkkey prior to gathering keys and initializing the monitors.

Also, run daemons as root.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:05 -08:00
Sage Weil
7a61b237d6 ceph: don't uninstall librados, librbd
This forces uninstall of kvm too, which is expensive.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:05 -08:00
Sage Weil
bc9ecf7813 ceph: pass package version to apt-get install
This avoids problems when a different or newer version of the package is
already installed.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:05 -08:00
Sage Weil
4dc6c8b275 install radosgw
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:05 -08:00
Sage Weil
8b971611f2 ceph: simplify apt-key management
Run apt-key as root. No need to initialize ubuntu user's gpg.  Fix
whitespace.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:04 -08:00
Sage Weil
eadefec8ff ceph: put client keyrings in /etc/ceph/ceph.$name.keyring
And make it world readable, for ubuntu's sake.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:04 -08:00
Sage Weil
27fec2377f ceph: simpilfy package removal
apt-get doesn't have a nice way to tell if the package is not install and
we don't need to purge it.  Well, not one I found in 5 minutes.  Just
do a big purge and assume it works, or failed because there was nothing to
be done.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:04 -08:00
Sage Weil
a529bb725f ceph: install ceph-mds, ceph-common
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:04 -08:00
Sage Weil
5235fc18a0 ceph: fix purge
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-18 13:39:03 -08:00
Sander Pool
c525e1061b Install ceph debs and use installed debs
The ceph task installs ceph using the debian
packages now, and all invocations of binaries installed
in {tmpdir}/binary/usr/local/bin/ are replace with
the use of the binaries installed in standard locations
by the debs.

Author:    Sander Pool <sander.pool@inktank.com>
Signed-off-by: Sam Lang <sam.lang@inktank.com>
2013-02-18 13:39:03 -08:00
Sam Lang
9a9fe73ec3 task/ceph: Fix typo in previous commit
Signed-off-by: Sam Lang <sam.lang@inktank.com>
2013-02-01 14:07:10 -06:00
Sam Lang
4ebd90eb81 task/ceph: Initialize disk_config maps
The mount_options and fstype maps need to be
initialized properly for later.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2013-02-01 11:37:13 -06:00
Sam Lang
3806dc5e72 task/ceph: Fix device list
dict.items() returns a tuple, whereas we want
the values().

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2013-02-01 10:16:44 -06:00
Sam Lang
8f720454cb Assign devices to osds using the device wwn
Linux doesn't guarantee device names (/dev/sdb, etc.)
are always mapped to the same disk.  Instead of assigning
nominal devices to osds, we map devices by their wwn
(/dev/disk/by-id/wwn-*) to an osd (both data and journal).

Signed-off-by: Sam Lang <sam.lang@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-01-31 08:23:39 -06:00
Sam Lang
58111595d4 Support power cycling osds/nodes through ipmi
This patch defines a RemoteConsole class associated
with each Remote class instance, allowing
power cycling a target through ipmi.

Fixes/Implements #3782.
Signed-off-by: Sam Lang <sam.lang@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-01-31 08:23:37 -06:00
Sam Lang
ace4cb07b2 Replace /tmp/cephtest/ with configurable path
Teuthology uses /tmp/cephtest/ as the scratch test directory for
a run.  This patch replaces /tmp/cephtest/ everywhere with a
per-run directory: {basedir}/{rundir} where {basedir} is a directory
configured in .teuthology.yaml (/tmp/cephtest if not specified),
and {rundir} is the name of the run, as given in --name.  If no name
is specified, {user}-{timestamp} is used.

To get the old behavior (/tmp/cephtest), set test_path: /tmp/cephtest
in .teuthology.yaml.

This change was modivated by #3782, which requires a test dir that
survives across reboots, but also resolves #3767.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-01-31 08:23:31 -06:00
Sam Lang
53f22d9493 task/mds_thrasher: New task for thrashing the mds
Signed-off-by: Sam Lang <sam.lang@inktank.com>
2013-01-18 15:48:52 -06:00