Commit Graph

26764 Commits

Author SHA1 Message Date
Dan Mick
69e1a9121d ceph.in: fix ^C handling in watch (trap exception in while, too)
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-06-20 15:14:36 -07:00
Sage Weil
29f6f27729 ceph: --version as well as -v
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-20 15:04:51 -07:00
Sage Weil
ebb46c452e qa/workunits/misc/multiple_rsync.sh: wtf
2013-06-15T12:55:29.808 INFO:teuthology.task.workunit.client.0.err:+ rsync -auv --exclude local/ /usr/ usr.1
2013-06-15T12:55:29.808 INFO:teuthology.task.workunit.client.0.err:+ tee a
2013-06-15T12:55:29.820 INFO:teuthology.task.workunit.client.0.out:sending incremental file list
2013-06-15T12:56:46.019 INFO:teuthology.task.workunit.client.0.out:
2013-06-15T12:56:46.020 INFO:teuthology.task.workunit.client.0.out:sent 1452634 bytes  received 7485 bytes  19086.52 bytes/sec
2013-06-15T12:56:46.020 INFO:teuthology.task.workunit.client.0.out:total size is 3205063225  speedup is 2195.07
2013-06-15T12:56:46.020 INFO:teuthology.task.workunit.client.0.err:+ wc -l a
2013-06-15T12:56:46.021 INFO:teuthology.task.workunit.client.0.out:4 a
2013-06-15T12:56:46.022 INFO:teuthology.task.workunit.client.0.err:+ wc -l a
2013-06-15T12:56:46.022 INFO:teuthology.task.workunit.client.0.err:+ grep 4
2013-06-15T12:56:46.023 INFO:teuthology.task.workunit.client.0.out:4 a
2013-06-15T12:56:46.024 INFO:teuthology.task.workunit.client.0.err:+ rsync -auv --exclude local/ /usr/ usr.2
2013-06-15T12:56:46.024 INFO:teuthology.task.workunit.client.0.err:+ tee a
2013-06-15T12:56:46.112 INFO:teuthology.task.workunit.client.0.out:sending incremental file list
2013-06-15T12:57:17.172 INFO:teuthology.task.workunit.client.0.out:
2013-06-15T12:57:17.174 INFO:teuthology.task.workunit.client.0.out:sent 1452634 bytes  received 7485 bytes  46352.98 bytes/sec
2013-06-15T12:57:17.174 INFO:teuthology.task.workunit.client.0.out:total size is 3205063225  speedup is 2195.07
2013-06-15T12:57:17.175 INFO:teuthology.task.workunit.client.0.err:+ wc -l a
2013-06-15T12:57:17.175 INFO:teuthology.task.workunit.client.0.out:3 a

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 21e85f90be)
2013-06-20 12:19:16 -07:00
Sage Weil
fd769c0f21 qa/workunits/cephtool/test.sh: fix and cleanup several tests
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-20 11:28:26 -07:00
Sage Weil
f420e5c614 mon: drop deprecated 'stop_cluster'
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-20 11:23:38 -07:00
Sage Weil
4977b88a7c mds: make 'mds compat rm_*compat' idempotent
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-20 11:23:11 -07:00
Sage Weil
4a038d6df5 mon: make 'log ...' command wait for commit before reply
Previously we would just dump the command argument to our local log client
and reply immediately, which could lose the message if we then restarted.
Instead, commit directly and wait before replying.

Also, log as the actual client, not as the monitor processing the message.

Fixes: #5409
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-06-20 11:11:50 -07:00
Sage Weil
5de54f6a79 a/workunits/cephtool/test.sh: --no-log-to-stderr when examining stderr
We can get random messages to stderror from socket reconnects and such;
discard those if we are looking at stderr in the test.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-20 11:04:26 -07:00
Sage Weil
d60534b8f5 mon: more fix dout use in sync_requester_abort()
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-20 09:46:42 -07:00
Sage Weil
8a4ed58e39 mon: fix raw use of *_dout in sync_requester_abort()
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-20 08:36:26 -07:00
Samuel Just
c39b99cdec FileStore: handle observers in constructor/destructor
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-19 19:53:55 -07:00
Samuel Just
cf3bc25197 FileStore: apply changes after disabling m_filestore_replica_fadvise
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit ed8b0e65bd)
2013-06-19 19:15:53 -07:00
Alexandre Maragone
8c0daafe00 ceph-disk: make list_partition behave with unusual device names
When you get device names like sdaa you do not want to mistakenly conclude that
sdaa is a partition of sda.  Use /sys/block/$device/$partition existence
instead.

Fixes: #5211
Backport: cuttlefish
Signed-off-by: Alexandre Maragone <alexandre.maragone@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-19 16:11:45 -07:00
Sage Weil
95bd048062 os/FileStore: disable fadvise on XFS
fadvise(DONTNEED) on XFS can break writeback ordering and zeroing; see

      http://oss.sgi.com/archives/xfs/2013-06/msg00066.html

If we detect XFS, turn this option off.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-06-19 10:57:13 -07:00
Sage Weil
ded0a5f449 Revert "client: fix warning"
This reverts commit 4a3127f48d.

Wrong branch.
2013-06-19 09:58:41 -07:00
Joao Eduardo Luis
5e6dc4ea21 mon: Monitor: make sure we backup a monmap during sync start
First of all, we must find a monmap to backup.  The newest version.

Secondly, we must make sure we back it up before clearing the store.

Finally, we must make sure that we don't remove said backup while
clearing the store; otherwise, we would be out of a backup monmap if the
sync happened to fail (and if the monitor happened to be killed before a
new sync had finished).

This patch makes sure these conditions are met.

Fixes: #5256 (partially)
Backport: cuttlefish

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-18 21:58:36 -07:00
Joao Eduardo Luis
6284fdce79 mon: Monitor: obtain latest monmap on sync store init
Always use the highest version amongst all the typically available
monmaps: whatever we have in memory, whatever we have under the
MonmapMonitor's store, and whatever we have backed up from a previous
sync.  This ensures we always use the newest version we came across
with.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-18 21:58:19 -07:00
Joao Eduardo Luis
af5a9861d7 mon: Monitor: don't remove 'mon_sync' when clearing the store during abort
Otherwise, we will end up losing the monmap we backed up when we started
the sync, and the monitor may be unable to start if it is killed or
crashes in-between the sync abort and finishing a new sync.

Fixes: #5256 (partially)
Backport: cuttlefish

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-18 21:56:53 -07:00
Dan Mick
257490335a AuthMonitor: auth export's status message to ss, not ds
This puts it on stderr, not stdout

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-06-18 15:44:32 -07:00
Sage Weil
64ee0148a5 ceph.spec: create /var/run on package install
The %ghost %dir ... line will make this get cleaned up but won't install
it.

Reported-by: Derek Yarnell <derek@umiacs.umd.edu>
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
2013-06-18 14:51:24 -07:00
Dan Mick
bb799e6903 test_rados.py: add some tests for mon_command
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-18 14:23:05 -07:00
Dan Mick
64b4e4a6da rados.py: wrap target in c_char_p()
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-18 14:22:57 -07:00
Dan Mick
54f74325c7 rados.py: return error strings even if ret != 0
Key rados_free() off returned length, not ret

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-18 14:22:47 -07:00
Dan Mick
81e73c7a63 ceph.in: pass parsed conffile to Rados constructor
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-18 14:22:40 -07:00
Dan Mick
2fc8d86445 ceph.in: global var dontsplit should be capitalized
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-06-18 14:22:07 -07:00
Sage Weil
4a3127f48d client: fix warning
signed/unsigned comparison

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-18 14:09:18 -07:00
Sage Weil
ce7b5ea7d5 common/Preforker: fix warning
common/Preforker.h: In member function ‘int Preforker::signal_exit(int)’:
warning: common/Preforker.h:82:45: ignoring return value of ‘ssize_t safe_write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]

This is harder than it should be to fix.  :(
  http://stackoverflow.com/questions/3614691/casting-to-void-doesnt-remove-warn-unused-result-error

Whatever, I guess we can do something useful with this return value.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
2013-06-18 10:03:03 -07:00
Sage Weil
8bd936f077 client: fix warning
client/Client.cc: In member function 'virtual void Client::ms_handle_remote_reset(Connection*)':
warning: client/Client.cc:7892:9: enumeration value 'STATE_NEW' not handled in switch [-Wswitch]
warning: client/Client.cc:7892:9: enumeration value 'STATE_OPEN' not handled in switch [-Wswitch]
warning: client/Client.cc:7892:9: enumeration value 'STATE_CLOSED' not handled in switch [-Wswitch]

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
2013-06-18 10:02:45 -07:00
Sage Weil
df8a3e5591 client: handle reset during initial mds session open
If we get a reset during our attempt to open an MDS session, close out the
Connection* and retry to open the session, moving the waiters over.

Fixes: #5379
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-06-17 19:54:51 -07:00
Sage Weil
92997a49bf mon: fix 'osd dump <epoch>'
The optional epoch argument was missing from the command spec.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-06-17 16:39:30 -07:00
Sage Weil
910af074fc Merge branch 'wip-5194' into next
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
2013-06-17 15:46:47 -07:00
Sage Weil
8c6b24e903 ceph-disk: add some notes on wth we are up to
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-17 15:43:40 -07:00
Samuel Just
d46e6c3bff OSD: we need to check pg ?.0 for resurrection
Fixes: #5269
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-06-17 13:15:30 -07:00
Sage Weil
e538829f16 ceph-disk: clear TERM to avoid libreadline hijinx
The weird output from libreadline users is related to the TERM variable.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-17 11:16:42 -07:00
Sage Weil
d7f7d61351 ceph-disk-udev: set up by-partuuid, -typeuuid symlinks on ancient udev
Make the ancient-udev/blkid workaround script for RHEL/CentOS create the
symlinks for us too.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-17 11:16:42 -07:00
Sage Weil
c9074375bf ceph-disk: do not stop activate-all on first failure
Keep going even if we hit one activation error.  This avoids failing to
start some disks when only one of them won't start (e.g., because it
doesn't belong to the current cluster).

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-17 11:16:41 -07:00
Sage Weil
253069e047 ceph.spec: include partuuid rules in package
Commit f3234c147e083f2904178994bc85de3d082e2836 missed this.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-17 11:16:41 -07:00
Yehuda Sadeh
d582ee2438 rgw: escape prefix correctly when listing objects
Fixes: #5362
When listing objects prefix needs to be escaped correctly (the
same as with the marker). Otherwise listing objects with prefix
that starts with underscore doesn't work.
Backport: bobtail, cuttlefish

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-06-17 10:55:53 -07:00
Sage Weil
b7143c2f84 client: fix ancient typo in caps revocation path
If we have dropped all references to a revoked capability, send the ack
to the MDS.  This typo has been there since v0.7 (early 2009)!

Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-06-17 10:41:56 -07:00
Sage Weil
cc9b83a802 ceph.spec: install/uninstall init script
This was commented out almost years ago in commit 9baf5ef4 but it is not
clear to me that it was correct to do so.  In any case, we are not
installing the rc.d links for ceph, which means it does not start up after
a reboot.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-17 09:49:54 -07:00
Sage Weil
13680976ef sysvinit, upstart: ceph-disk activate-all on start
On 'service ceph start' or 'service ceph start osd' or start ceph-osd-all
we should activate any osd GPT partitions.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-17 09:49:54 -07:00
Sage Weil
5c7a23687a ceph-disk: add 'activate-all'
Scan /dev/disk/by-parttypeuuid for ceph OSDs and activate them all.  This
is useful when the event didn't trigger on the initial udev event for
some reason.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-17 09:49:53 -07:00
Sage Weil
d512dc9edd udev: /dev/disk/by-parttypeuuid/$type-$uuid
We need this to help trigger OSD activations.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-17 09:49:53 -07:00
Sage Weil
f179dc1f3d mon: make mark_me_down asserts match check
The OSD may have sent a request where the message source does not match
the target in the message.  Verify that the target matches so that it
matches the assert.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-16 20:13:51 -07:00
Sage Weil
2fe4d29f4d ceph: remove space when prefix is blank
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-16 16:49:05 -07:00
Sage Weil
8d9eef2394 ceph: fix return code for multi-target commands
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-16 16:48:41 -07:00
Sage Weil
84d1847f50 ceph: error out properly when failing to get commands
If we make ret positive here we miss the failure check below.  Instead,
just set outs appropriately.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-16 16:48:27 -07:00
Sage Weil
8d9272ec48 test/admin_socket/objecter_requests: fix test
Commit 2bda9db1c2 added command_ops
to the result.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-16 16:42:27 -07:00
Sage Weil
efebdba011 ceph: do not print status to output file when talking to old mons
The old cli would send the status message to stdout instead of stderr;
we try to emulate that behavior when talking to old monitors because
they send some useful data to outs instead of the data payload.
However, when outputting to a *file*, the outs would still go to
stdout.  Maintain that so that, e.g.,

 ceph mon getmap -o /tmp/foo

doesn't prefix the monmap with 'got latest monmap\n'.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-16 13:36:19 -07:00
Sage Weil
7e7ff7532d common/Preforker: fix broken recursion on exit(3)
If we exit via preforker, call exit(3) and not recursively back into
Preforker::exit(r).  Otherwise you get a hang with the child blocked
at:

Thread 1 (Thread 0x7fa08962e7c0 (LWP 5419)):
#0  0x000000309860e0cd in write () from /lib64/libpthread.so.0
#1  0x00000000005cc906 in Preforker::exit(int) ()
#2  0x00000000005c8dfb in main ()

and the parent at

#0  0x000000309860eba7 in waitpid () from /lib64/libpthread.so.0
#1  0x00000000005cc87a in Preforker::parent_wait() ()
#2  0x00000000005c75ae in main ()

Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-15 20:48:05 -07:00