]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
12 years agoceph.in: allow args with -h to limit help to cmds that match partially 363/head
Dan Mick [Fri, 14 Jun 2013 00:40:02 +0000 (17:40 -0700)]
ceph.in: allow args with -h to limit help to cmds that match partially

Enables "ceph -h pg" to see just the pg commands

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoceph.in: better global description of tool
Dan Mick [Fri, 14 Jun 2013 00:38:50 +0000 (17:38 -0700)]
ceph.in: better global description of tool

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoceph.in: less verbosity on error
Dan Mick [Fri, 14 Jun 2013 00:38:26 +0000 (17:38 -0700)]
ceph.in: less verbosity on error

Only show 'did you mean?' when in verbose mode
Only show first ten closest matches on error

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoMerge pull request #356 from ceph/wip-leaks
Sage Weil [Thu, 13 Jun 2013 23:21:21 +0000 (16:21 -0700)]
Merge pull request #356 from ceph/wip-leaks

Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Thu, 13 Jun 2013 22:17:05 +0000 (15:17 -0700)]
Merge remote-tracking branch 'gh/next'

12 years agomon: fix idempotency of 'osd crush add'
Sage Weil [Thu, 13 Jun 2013 21:01:01 +0000 (14:01 -0700)]
mon: fix idempotency of 'osd crush add'

If we add an item that already exists in particular position, we should
update instead of inserting it; the CrushWrapper methods are not
idempotent.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agolibrados: do not wait for osdmap on start
Sage Weil [Thu, 13 Jun 2013 21:42:03 +0000 (14:42 -0700)]
librados: do not wait for osdmap on start

If we abort while waiting, we incorrect clean up (we switch the state value
incorrectly, and also fail to clean up the initialized objecter).

Intead, skip this wait.. it's useless!

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agodoc: Updated with glossary terms.
John Wilkins [Thu, 13 Jun 2013 21:09:35 +0000 (14:09 -0700)]
doc: Updated with glossary terms.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agomon/MonmapMonitor: remove unused label
Sage Weil [Thu, 13 Jun 2013 18:27:49 +0000 (11:27 -0700)]
mon/MonmapMonitor: remove unused label

mon/MonmapMonitor.cc: In member function 'bool MonmapMonitor::preprocess_command(MMonCommand*)':
mon/MonmapMonitor.cc:273:2: warning: label 'out' defined but not used [-Wunused-label]

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon/MonCap: bootstrap-* need to subscribe to osdmap, monmap
Sage Weil [Thu, 13 Jun 2013 18:27:23 +0000 (11:27 -0700)]
mon/MonCap: bootstrap-* need to subscribe to osdmap, monmap

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon/MonClient: mark_down during get_monmap_privately() shutdown 356/head
Sage Weil [Thu, 13 Jun 2013 14:39:02 +0000 (07:39 -0700)]
mon/MonClient: mark_down during get_monmap_privately() shutdown

We explicitly mark_down() and clear cur_con when shutting down; do the same
for get_monmap_privately() to ensure that the reset event doesn't make us
do something silly (like, in this case, call _reopen_session() again).

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon/MonClient: mark_down connection on shutdown
Sage Weil [Thu, 13 Jun 2013 04:35:39 +0000 (21:35 -0700)]
mon/MonClient: mark_down connection on shutdown

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomsgr: queue reset when marking down pipes on shutdown
Sage Weil [Thu, 13 Jun 2013 00:58:36 +0000 (17:58 -0700)]
msgr: queue reset when marking down pipes on shutdown

This lets the callbacks clean up ref cycles.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomsg/DispatchQueue: do not discard queued events on stop
Sage Weil [Wed, 12 Jun 2013 02:27:01 +0000 (19:27 -0700)]
msg/DispatchQueue: do not discard queued events on stop

When the shutdown/stop flag is set, continue to work through the queue.
Process events, but discard messages.  This avoids the loss of reset events
on shutdown that are necessary to clean up ref cycles.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomsgr: queue reset exactly once on any connection
Sage Weil [Tue, 11 Jun 2013 23:44:05 +0000 (16:44 -0700)]
msgr: queue reset exactly once on any connection

Use the atomic pipe link removal as a signal that we are the one failing
the con and use that to queue the reset event.

This fixes the case where we have an open, the session gets set up via the
handle_accept callback, and then race with another connection and go into
wait + close, or just close.  In that case, fault() needs to queue a reset
event to match the accept.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomsg/Pipe: include con reef in debug prestring
Sage Weil [Tue, 11 Jun 2013 18:51:14 +0000 (11:51 -0700)]
msg/Pipe: include con reef in debug prestring

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomsg/Pipe: reset replaced pipes
Sage Weil [Tue, 11 Jun 2013 18:38:44 +0000 (11:38 -0700)]
msg/Pipe: reset replaced pipes

This gives the ms_handle_reset call a chance to clean up (for example, by
breaking a con->priv <-> session reference cycle).

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomsgr: use ConnectionRef throughout
Sage Weil [Mon, 10 Jun 2013 03:21:49 +0000 (20:21 -0700)]
msgr: use ConnectionRef throughout

Make RefCountedObject a private parent of Connection so that users are
forced to use ConnectionRef whenever references are taken.

Many methods can still take a raw Connection* when they are using the
caller's reference but not taking their own; this is cheaper than
twiddling the reference count, and the lifetime is still well defined.
Local variables generally use ConnectionRef, though.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon/MonClient: tear down version requests on shutdown
Sage Weil [Mon, 10 Jun 2013 17:31:22 +0000 (10:31 -0700)]
mon/MonClient: tear down version requests on shutdown

Make sure all callers can handle ECANCELED.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon/PaxosService: discard messages during shutdown
Sage Weil [Tue, 11 Jun 2013 00:34:24 +0000 (17:34 -0700)]
mon/PaxosService: discard messages during shutdown

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: add is_shutdown() state helper/accessor
Sage Weil [Tue, 11 Jun 2013 00:34:12 +0000 (17:34 -0700)]
mon: add is_shutdown() state helper/accessor

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: shut down Paxos on shutdown
Sage Weil [Tue, 11 Jun 2013 00:28:51 +0000 (17:28 -0700)]
mon: shut down Paxos on shutdown

This cleans up the completions for any paxos waiters.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: break con <-> session cycle on reset
Sage Weil [Tue, 11 Jun 2013 18:59:24 +0000 (11:59 -0700)]
osd: break con <-> session cycle on reset

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: do not leak HeartbeatSession on shutdown
Sage Weil [Tue, 11 Jun 2013 18:51:05 +0000 (11:51 -0700)]
osd: do not leak HeartbeatSession on shutdown

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: close classes on shutdown
Sage Weil [Mon, 10 Jun 2013 18:55:16 +0000 (11:55 -0700)]
osd: close classes on shutdown

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: do not leak MOSDPings on shutdown
Sage Weil [Mon, 10 Jun 2013 18:51:37 +0000 (11:51 -0700)]
osd: do not leak MOSDPings on shutdown

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd/ReplicatedPG: don't leak Session refs in do_osd_op_effects()
Sage Weil [Sun, 9 Jun 2013 04:50:53 +0000 (21:50 -0700)]
osd/ReplicatedPG: don't leak Session refs in do_osd_op_effects()

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomessages/MMonSync: initialize crc in ctor
Sage Weil [Tue, 11 Jun 2013 00:28:22 +0000 (17:28 -0700)]
messages/MMonSync: initialize crc in ctor

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agovstart.sh: put exports at top
Sage Weil [Thu, 13 Jun 2013 17:52:00 +0000 (10:52 -0700)]
vstart.sh: put exports at top

Where I can 'head vstart.sh' to find them quickly.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoPendingReleaseNotes: notes on CLI changes
Sage Weil [Thu, 13 Jun 2013 17:46:45 +0000 (10:46 -0700)]
PendingReleaseNotes: notes on CLI changes

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoPendingReleaseNotes: cli changes, and ceph tell ...
Sage Weil [Thu, 13 Jun 2013 17:21:59 +0000 (10:21 -0700)]
PendingReleaseNotes: cli changes, and ceph tell ...

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc/release-notes: add missed notes for 0.63 and 0.64
Sage Weil [Thu, 13 Jun 2013 17:19:39 +0000 (10:19 -0700)]
doc/release-notes: add missed notes for 0.63 and 0.64

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge branch 'wip-tell' into next
Sage Weil [Thu, 13 Jun 2013 16:27:15 +0000 (09:27 -0700)]
Merge branch 'wip-tell' into next

Reviewed-by: Dan Mick <dan.mick@inktank.com>
12 years agomon: remove support for 'mon tell ...' and 'osd tell ...'
Sage Weil [Wed, 12 Jun 2013 23:56:45 +0000 (16:56 -0700)]
mon: remove support for 'mon tell ...' and 'osd tell ...'

It doesn't work.  The commands the ceph cli sends are vector<string>, and
the mon expects json.

Leave the MDS on in place since ceph-mds still takes strings.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoceph: add support for 'tell mon.X ...'
Sage Weil [Wed, 12 Jun 2013 23:55:03 +0000 (16:55 -0700)]
ceph: add support for 'tell mon.X ...'

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agolibrados: new rados_mon_command_target to talk to a specific monitor
Sage Weil [Wed, 12 Jun 2013 23:36:39 +0000 (16:36 -0700)]
librados: new rados_mon_command_target to talk to a specific monitor

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #360 from dachary/master
Sage Weil [Thu, 13 Jun 2013 15:23:00 +0000 (08:23 -0700)]
Merge pull request #360 from dachary/master

add apt-get update to installation instructions

12 years agoadd apt-get update to installation instructions 360/head
Loic Dachary [Thu, 13 Jun 2013 06:53:26 +0000 (08:53 +0200)]
add apt-get update to installation instructions

Without apt-get update the repository added to the sources.list is not taken into consideration and an older version of ceph-deploy is going to be installed.

Signed-off-by: Loic Dachary <loic@dachary.org>
12 years agoUpdate README dependency lists
Dan Mick [Thu, 13 Jun 2013 05:25:04 +0000 (22:25 -0700)]
Update README dependency lists

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoceph-disk: extra dash in error message
Dan Mick [Thu, 13 Jun 2013 05:22:42 +0000 (22:22 -0700)]
ceph-disk: extra dash in error message

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agoClean up CrushWrapper methods that take string: no c_str() necessary
Dan Mick [Thu, 13 Jun 2013 03:59:49 +0000 (20:59 -0700)]
Clean up CrushWrapper methods that take string: no c_str() necessary

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoOSDMonitor: osd id when id already exists needs to come to stdout too
Dan Mick [Thu, 13 Jun 2013 03:59:08 +0000 (20:59 -0700)]
OSDMonitor: osd id when id already exists needs to come to stdout too

Found by qa/workunits/mon/osd.sh

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoceph, mon/OSDMonitor: fix up osd crush commands for <osd.N> or <N>
Dan Mick [Thu, 13 Jun 2013 01:08:17 +0000 (18:08 -0700)]
ceph, mon/OSDMonitor: fix up osd crush commands for <osd.N> or <N>

The new parsing code had been trying to allow flexibility for the
'old form' commands (where id could be different from N in osd.N),
but also accept 'new form' commands.  The new rule is that where
there's an OSD specified in the osd crush command, it is of type
CephOsdName, which can be an id *or* 'osd.<id>', but not both.

Pass CephOsdName as int64_t 'id' for convenience in mon code

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoconfig: fix run_dir typo
Sage Weil [Thu, 13 Jun 2013 04:47:09 +0000 (21:47 -0700)]
config: fix run_dir typo

From 654299108bfb11e7dce45f54946d1505f71d2de8.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon/MonClient: send commands to a specific monitor
Sage Weil [Wed, 12 Jun 2013 23:36:21 +0000 (16:36 -0700)]
mon/MonClient: send commands to a specific monitor

This implementation is limited: we direct our command by reopening
a session with the specific monitor.  If there is more than one of these
queued we will fail to reach either.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoceph: implement 'ceph tell osd.* ...'
Sage Weil [Wed, 12 Jun 2013 21:55:15 +0000 (14:55 -0700)]
ceph: implement 'ceph tell osd.* ...'

Send the command to each target.  Do this in series, for now.  Error out if
any one fails.

Later, we should do them in parallel.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Thu, 13 Jun 2013 04:26:17 +0000 (21:26 -0700)]
Merge remote-tracking branch 'gh/next'

12 years agoMerge pull request #351 from ceph/wip-var-run
Sage Weil [Thu, 13 Jun 2013 04:24:16 +0000 (21:24 -0700)]
Merge pull request #351 from ceph/wip-var-run

Reviewed-by: Dan Mick <dan.mick@inktank.com>
12 years agovstart.sh: set run_dir to out 351/head
Sage Weil [Thu, 13 Jun 2013 04:23:46 +0000 (21:23 -0700)]
vstart.sh: set run_dir to out

This avoids annoying errors about creating /var/run/ceph from
init-ceph.

Fixes: #4036
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agorbd image_read.sh: wait for rbd sysfs files to appear
Josh Durgin [Thu, 13 Jun 2013 03:34:09 +0000 (20:34 -0700)]
rbd image_read.sh: wait for rbd sysfs files to appear

Poll until they are available for chmoding.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoosdc/Objecter: fix handling for osd_command dne/down cases
Sage Weil [Thu, 13 Jun 2013 01:13:12 +0000 (18:13 -0700)]
osdc/Objecter: fix handling for osd_command dne/down cases

Generalize the map check machinery that the pool dne check uses to also
get the latest map for OSD down/dne checks.  This is better semantics, but
more important fixes the more immediate bug of returning the error code
to the caller from the osd_command -> _submit_command (that is ignored by
pretty much any caller) and then never triggering the callback.

Fixes: #5331
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agoinit-ceph: look to ceph.conf instead of hard-coding /var/run/ceph
Sage Weil [Sat, 8 Jun 2013 00:04:04 +0000 (17:04 -0700)]
init-ceph: look to ceph.conf instead of hard-coding /var/run/ceph

It could be elsewhere!

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoglobal: create /var/run/ceph on daemon startup
Sage Weil [Sat, 8 Jun 2013 00:03:41 +0000 (17:03 -0700)]
global: create /var/run/ceph on daemon startup

This handles cases where the daemon is started without the benefit of
sysvinit or upstart (as with teuthology or ceph-fuse).

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoceph: only use readline when in interactive mode
Sage Weil [Wed, 12 Jun 2013 23:22:45 +0000 (16:22 -0700)]
ceph: only use readline when in interactive mode

A mere

  import readline

line is dumping this to stdout on CentOS 6.3:

  00000000  1b 5b 3f 31 30 33 34 68  .[?1034h

That confuses non-terminals that read from stdout, so only import when we
are in the interactive mode.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
12 years agomon: fix read of format_version out of leveldb
Sage Weil [Wed, 12 Jun 2013 18:23:23 +0000 (11:23 -0700)]
mon: fix read of format_version out of leveldb

The get_version(string, string) is the wrong method; it combines the two
args into a key that is nested inside prefix (so it's prefix/a/b), but we
want perfix/format_version.  Add a method to grab an int for this
particular combo and use that.

This fixes an infinite loop when we actually trigger this code.

Bug introduced by f43c974571beac0c8e54fa699bfa96a1befaf56c.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agodoc/release-notes: v0.63 and v0.64 notes
Sage Weil [Wed, 12 Jun 2013 22:29:42 +0000 (15:29 -0700)]
doc/release-notes: v0.63 and v0.64 notes

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge branch 'next'
Gary Lowell [Wed, 12 Jun 2013 22:00:05 +0000 (15:00 -0700)]
Merge branch 'next'

12 years agoceph: filter out empty lines from osdids()
Sage Weil [Wed, 12 Jun 2013 21:54:10 +0000 (14:54 -0700)]
ceph: filter out empty lines from osdids()

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoceph: accept osd.* as a valid name
Sage Weil [Wed, 12 Jun 2013 21:53:56 +0000 (14:53 -0700)]
ceph: accept osd.* as a valid name

This will be used for 'ceph tell osd.* ...'

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoceph: make life easier on developers by handling in-tree runs
Dan Mick [Wed, 12 Jun 2013 02:46:53 +0000 (19:46 -0700)]
ceph: make life easier on developers by handling in-tree runs

If <path-to-ceph> contains pybind and .libs:
- prepend <path-to-ceph>/pybind to PYTHONPATH
- append <path-to-ceph>/.libs to LD_LIBRARY_PATH if not already there
  and exec self so it takes effect

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoqa/workunits/cephtool/test.sh: look for 'ceph log' via -w, not in log file
Sage Weil [Wed, 12 Jun 2013 21:00:24 +0000 (14:00 -0700)]
qa/workunits/cephtool/test.sh: look for 'ceph log' via -w, not in log file

'ceph-conf ...' doesn't give you final/default values, only what is in the
conf file.  Use -w output to test this instead.

Fixes: #5327
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoceph: flush stdout on watch print
Sage Weil [Wed, 12 Jun 2013 20:59:37 +0000 (13:59 -0700)]
ceph: flush stdout on watch print

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #357 from atwardowski/patch-1
Sage Weil [Wed, 12 Jun 2013 20:50:15 +0000 (13:50 -0700)]
Merge pull request #357 from atwardowski/patch-1

Usage log and ops log are disabled by defaults since 0.56

12 years agoUsage log and ops log are disabled by defaults since 0.56 357/head
atwardowski [Wed, 12 Jun 2013 20:48:44 +0000 (17:48 -0300)]
Usage log and ops log are disabled by defaults since 0.56

http://ceph.com/docs/next/release-notes/#v0-56-bobtail

12 years agomon: fix 'pg dump_stuck' stuckops type
Sage Weil [Wed, 12 Jun 2013 20:39:30 +0000 (13:39 -0700)]
mon: fix 'pg dump_stuck' stuckops type

It's a list.

Fixes: #5332
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
12 years agoMerge remote-tracking branch 'gh/wip_5238'
Sage Weil [Wed, 12 Jun 2013 20:31:22 +0000 (13:31 -0700)]
Merge remote-tracking branch 'gh/wip_5238'

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoqa: multiple_rsync.sh: more output
Sage Weil [Wed, 12 Jun 2013 20:26:03 +0000 (13:26 -0700)]
qa: multiple_rsync.sh: more output

Trying to track down this failure:

2013-06-12T06:11:13.430 INFO:teuthology.task.workunit.client.0.err:+ rsync -auv --exclude local/ /usr/ usr.2
2013-06-12T06:11:13.430 INFO:teuthology.task.workunit.client.0.err:+ tee a
2013-06-12T06:11:13.527 INFO:teuthology.task.workunit.client.0.out:sending incremental file list
2013-06-12T06:11:46.206 INFO:teuthology.task.workunit.client.0.out:
2013-06-12T06:11:46.208 INFO:teuthology.task.workunit.client.0.out:sent 1689627 bytes  received 8302 bytes  50684.45 bytes/sec
2013-06-12T06:11:46.208 INFO:teuthology.task.workunit.client.0.out:total size is 3274130495  speedup is 1928.31
2013-06-12T06:11:46.209 INFO:teuthology.task.workunit.client.0.err:+ wc -l a
2013-06-12T06:11:46.209 INFO:teuthology.task.workunit.client.0.err:+ grep 4
2013-06-12T06:11:46.211 INFO:teuthology.task.workunit:Stopping misc on client.0...

...and am perplexed!

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agov0.64 v0.64
Gary Lowell [Wed, 12 Jun 2013 16:54:06 +0000 (09:54 -0700)]
v0.64

12 years agoceph-fuse: older libfuses don't support FUSE_IOCTL_COMPAT
Dan Mick [Wed, 12 Jun 2013 01:33:08 +0000 (18:33 -0700)]
ceph-fuse: older libfuses don't support FUSE_IOCTL_COMPAT

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoceph-create-keys: Make sure directories for admin and bootstrap keys exist
Peter Wienemann [Tue, 11 Jun 2013 19:38:51 +0000 (21:38 +0200)]
ceph-create-keys: Make sure directories for admin and bootstrap keys exist

Signed-off-by: Peter Wienemann <wienemann@physik.uni-bonn.de>
12 years agostore_test: create_collection prior to split
Samuel Just [Tue, 11 Jun 2013 18:24:54 +0000 (11:24 -0700)]
store_test: create_collection prior to split

Fixes: #5310
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
12 years agomon: adjust trim defaults
Sage Weil [Tue, 11 Jun 2013 23:30:41 +0000 (16:30 -0700)]
mon: adjust trim defaults

User testing has shown that smaller values yield better results; see #4917.
Jim's testing has had good results with even more aggressive trimming, but I
would like to do more validation yet before changing defaults.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc: Reworked the landing page.
John Wilkins [Tue, 11 Jun 2013 22:32:23 +0000 (15:32 -0700)]
doc: Reworked the landing page.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added a hostname resolution section for local host execution.
John Wilkins [Tue, 11 Jun 2013 21:46:35 +0000 (14:46 -0700)]
doc: Added a hostname resolution section for local host execution.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added some tips and re-organized to simplify the process.
John Wilkins [Tue, 11 Jun 2013 21:46:12 +0000 (14:46 -0700)]
doc: Added some tips and re-organized to simplify the process.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoclient: set issue_seq (not seq) in cap release
Sage Weil [Sun, 9 Jun 2013 00:38:07 +0000 (17:38 -0700)]
client: set issue_seq (not seq) in cap release

We regularly have been observing a stall where the MDS is blocked waiting
for a cap revocation (Ls, in our case) and never gets a reply.  We finally
tracked down the sequence:

 - mds issues cap seq 1 to client
 - mds does revocation (seq 2)
 - client replies
 - much time goes by
 - client trims inode from cache, sends release with seq == 2
 - mds ignores release because its issue_seq is 1
 - mds later tries to revoke other caps
 - client discards message because it doesn't have the inode in cache

The problem is simply that we are using seq instead of issue_seq in the
cap release message.  Note that the other release call site in
encode_inode_release() is correct.  That one is much more commonly
triggered by short tests, as compared to this case where the inode needs to
get pushed out of the client cache.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agodoc: Added some Java S3 API troubleshooting entries.
John Wilkins [Tue, 11 Jun 2013 19:12:46 +0000 (12:12 -0700)]
doc: Added some Java S3 API troubleshooting entries.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added install ceph-common instruction.
John Wilkins [Tue, 11 Jun 2013 19:11:51 +0000 (12:11 -0700)]
doc: Added install ceph-common instruction.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added install ceph-common instruction.
John Wilkins [Tue, 11 Jun 2013 19:11:26 +0000 (12:11 -0700)]
doc: Added install ceph-common instruction.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Fixed :term" syntax.
John Wilkins [Tue, 11 Jun 2013 19:10:52 +0000 (12:10 -0700)]
doc: Fixed :term" syntax.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoceph-create-keys: Remove unused caps parameter on bootstrap_key()
Gary Lowell [Tue, 11 Jun 2013 15:25:36 +0000 (08:25 -0700)]
ceph-create-keys:  Remove unused caps parameter on bootstrap_key()

The caps parameter was removed except for one place.

Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
12 years agoMerge branch 'next'
Sage Weil [Tue, 11 Jun 2013 06:22:49 +0000 (23:22 -0700)]
Merge branch 'next'

12 years agoosd: fix con -> session ref change after hb reset
Sage Weil [Tue, 11 Jun 2013 06:21:50 +0000 (23:21 -0700)]
osd: fix con -> session ref change after hb reset

set_priv() expects to be given a reference to own; take one.  This fixes
various crashes after we see a hb connection reset.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agocommon/admin_socket: fix leak of new m_getdescs_hook
Sage Weil [Sat, 8 Jun 2013 20:56:00 +0000 (13:56 -0700)]
common/admin_socket: fix leak of new m_getdescs_hook

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agocommon/cmdparse: no need to use (and leak to) the heap
Sage Weil [Tue, 11 Jun 2013 00:11:44 +0000 (17:11 -0700)]
common/cmdparse: no need to use (and leak to) the heap

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
12 years agoCrushWrapper: dump tunables along with crush map
Dan Mick [Tue, 11 Jun 2013 00:25:55 +0000 (17:25 -0700)]
CrushWrapper: dump tunables along with crush map

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoceph: --keyring must be passed to parse_argv, which means not argparse
Dan Mick [Tue, 11 Jun 2013 01:08:31 +0000 (18:08 -0700)]
ceph: --keyring must be passed to parse_argv, which means not argparse

If argparse gets its hands on it, it's not available for parse_argv()
and is therefore ignored.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoOSD: create collection in handle_pg_create before _create_lock_pg
Samuel Just [Tue, 11 Jun 2013 00:01:02 +0000 (17:01 -0700)]
OSD: create collection in handle_pg_create before _create_lock_pg

Fixes: #5270
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoObjecter: fail osd_command if OSD is down
Dan Mick [Mon, 10 Jun 2013 22:03:37 +0000 (15:03 -0700)]
Objecter: fail osd_command if OSD is down

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agomon: send "osd create" output to stdout; tests rely on it
Dan Mick [Mon, 10 Jun 2013 20:26:06 +0000 (13:26 -0700)]
mon: send "osd create" output to stdout; tests rely on it

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #349 from dachary/wip-5213
athanatos [Mon, 10 Jun 2013 23:08:46 +0000 (16:08 -0700)]
Merge pull request #349 from dachary/wip-5213

unit tests for PGLog::merge_log

Reviewed-by: Sam Just <sam.just@inktank.com>
12 years agoMerge pull request #350 from ceph/wip-osd-scrub-chunk
Sage Weil [Mon, 10 Jun 2013 16:50:52 +0000 (09:50 -0700)]
Merge pull request #350 from ceph/wip-osd-scrub-chunk

Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agounit tests for PGLog::rewind_divergent_log 349/head
Loic Dachary [Sat, 8 Jun 2013 07:45:58 +0000 (09:45 +0200)]
unit tests for PGLog::rewind_divergent_log

The tests covers 100% of the LOC of rewind_divergent_log. There are
three situations :

 * throw an assert because the data is inconsistent

 * special case when the entire logs is divergent

 * regular workflow where all divergent entries are run to
   merge_old_entry

http://tracker.ceph.com/issues/5213 refs #5213

Signed-off-by: Loic Dachary <loic@dachary.org>
12 years agounit tests for PGLog::merge_log
Loic Dachary [Fri, 7 Jun 2013 13:51:28 +0000 (15:51 +0200)]
unit tests for PGLog::merge_log

The tests covers 100% of the LOC of merge_log. It is broken down
in 7 cases to enumerate all the situations it must address. Each case
is isolated in a independant code block where the conditions are
reproduced. Where possible and sensible to read, a code block covers
as much lines as possible. For instance:

  The log entry (1,3) deletes the object x9 but the olog entry (2,3)
  modifies it and is authoritative : the log entry (1,3) is divergent.

is the only test case covering a dozen "if" statements and half a
dozen "while/for" loops. It covers all the lines but it would be
useful to create others scenarii in the future.

Each test is made of a comment describing the test case, the
definition of the data structures to create the desired conditons, a
sequence of EXPECT_* checking that they are met, a single call to
merge_log and another sequence of EXPECT_* ( ordered to be easy to
compare with the first sequence ) checking all the desired side
effects.

The TestPGLog.cc file was untabified to improve the display of ascii
art when it is output as part of a diff.

http://tracker.ceph.com/issues/5213 refs #5213

Signed-off-by: Loic Dachary <loic@dachary.org>
12 years agomessages/MMonProbe: fix uninit vars (again)
Sage Weil [Sat, 8 Jun 2013 17:53:08 +0000 (10:53 -0700)]
messages/MMonProbe: fix uninit vars (again)

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosdc/Objecter: clear osd session command ops xlist on close
Sage Weil [Sat, 8 Jun 2013 15:07:45 +0000 (08:07 -0700)]
osdc/Objecter: clear osd session command ops xlist on close

Clear the command ops list, just as we do the ops and linger_ops xlists.
This fixes a crash like this on shutdown:

2013-06-07 23:06:21.089275 7fc7e8655700 10 client.4124.objecter close_session for osd.0
2013-06-07 23:06:21.089279 7fc7e8655700  1 -- 10.3.64.22:0/1026843 mark_down 0x7fc7e0001260 -- 0x7fc7e0001000
./include/xlist.h: In function 'xlist<T>::~xlist() [with T = Objecter::CommandOp*]' thread 7fc7e8655700 time 2013-06-07 23:06:21.089401
./include/xlist.h: 69: FAILED assert(_size == 0)
 ceph version 0.63-553-ge8300d0 (e8300d0afb5154d4d13536abdcf47bd5cc8ce810)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x80) [0x7fc7ec111f14]
 2: (xlist<Objecter::CommandOp*>::~xlist()+0x36) [0x7fc7ec09f95e]
 3: (Objecter::OSDSession::~OSDSession()+0x1d) [0x7fc7ec09e451]
 4: (Objecter::close_session(Objecter::OSDSession*)+0x1fc) [0x7fc7ec08a146]
 5: (Objecter::handle_osd_map(MOSDMap*)+0xe68) [0x7fc7ec087864]
 6: (librados::RadosClient::_dispatch(Message*)+0x84) [0x7fc7ec0615f0]
 7: (librados::RadosClient::ms_dispatch(Message*)+0x16b) [0x7fc7ec0613c1]
 8: (Messenger::ms_deliver_dispatch(Message*)+0x8c) [0x7fc7ec21d0f6]
 9: (DispatchQueue::entry()+0x52f) [0x7fc7ec21c653]
 10: (DispatchQueue::DispatchThread::entry()+0x1c) [0x7fc7ec2bdcc2]
 11: (Thread::_entry_func(void*)+0x23) [0x7fc7ec34d8cd]
 12: (()+0x6b50) [0x7fc7eb2feb50]
 13: (clone()+0x6d) [0x7fc7eab2c6dd]

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agolibrados: fix pg command test
Sage Weil [Sun, 9 Jun 2013 04:38:18 +0000 (21:38 -0700)]
librados: fix pg command test

Stat a bunch of (non-existent) random objects in the pool so ensure the
pg exists on the OSD before we assert that we get a 0 from querying it.

Although it is somewhat tempting to make the pg commands block until the
pg exists, that defeats much of the value of the command as a diagnostic
tool as it could block indefinitely instead of informing the admin/dev
that "the pg isn't there yet".

In any case, this fixes the api test failure.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agolibrados.h: Fix up some doxygen problems
Dan Mick [Sat, 8 Jun 2013 05:50:09 +0000 (22:50 -0700)]
librados.h: Fix up some doxygen problems

Signed-off-by: Dan Mick <dan.mick@inktank.com>
12 years agomds: fix filelock eval_gather
Sage Weil [Sat, 8 Jun 2013 05:04:09 +0000 (22:04 -0700)]
mds: fix filelock eval_gather

Broken by a08d62045657713bf0a5372bf14136082ec3b17e

Reported-by: Yan, Zheng <yan.zheng@intel.com>
Signed-off-by: Sage Weil <sage@inktank.com>
12 years ago.gitignore: add 'ceph', now a generated file
Dan Mick [Sat, 8 Jun 2013 04:47:11 +0000 (21:47 -0700)]
.gitignore: add 'ceph', now a generated file