Loic Dachary [Fri, 6 Mar 2015 16:08:55 +0000 (17:08 +0100)]
doc,tests: force checkout of submodules
When updating submodules, always checkout even if the HEAD is the
desired commit hash (update --force) to avoid the following:
* a directory gmock exists in hammer
* a submodule gmock replaces the directory gmock in master
* checkout master + submodule update : gmock/.git is created
* checkout hammer : the gmock directory still contains the .git from
master because it did not exist at the time and checkout won't
remove untracked directories
* checkout master + submodule update : git rev-parse HEAD is
at the desired commit although the content of the gmock directory
is from hammer
Loic Dachary [Thu, 5 Mar 2015 23:06:21 +0000 (00:06 +0100)]
ceph needs gmock/gtest to be statically linked
The ceph-test package depends on gmock and gtest and needs to statically
link them because packages are not configured to distribute the
corresponding shared library files.
Update the gmock submodule to the version that is configured with
noinst libraries that will be statically linked.
The gmock submodule is modified to reference the branch in which the
ceph specific changes have been done.
John Spray [Tue, 3 Feb 2015 13:13:29 +0000 (13:13 +0000)]
ceph.in: add 'daemonperf' command
This is inspired by dstat and scripts/perf-watch.py, to
give a convenient live view of an interesting subset
of the performance counters from a Ceph daemon.
John Spray [Tue, 3 Feb 2015 16:47:32 +0000 (16:47 +0000)]
common: add optional perf counter nickname
This has two purposes:
* Identify counters that are useful in short/summary views
of a daemon's performance (only these have a nick set)
* Provide shortened versions of names that are suitable
for display in a text-mode columnar view.
Ken Dreyer [Wed, 4 Mar 2015 22:01:34 +0000 (15:01 -0700)]
ceph.spec.in: loosen ceph-test's dependencies
In Debian, the ceph-test package can be installed with any version of
ceph-common.
Prior to this commit, in RHEL, we're much more strict about which
version of the dependencies we require. We depend directly on
librados2/librbd1/libcephfs1 instead of ceph-common, and we also require
the specific versions of these libraries to match the version of
ceph-test.
For testing Ceph, it is nice to have the ability to upgrade the
librados2/librbd1/libcephfs1 libraries on a host without having to also
upgrade the ceph-test package as well.
Remove the version number requirements, and change the dependencies from
librados2/librbd1/libcephfs1 to simply "ceph-common". That will make
/etc/ceph/ and /var/log/ceph present for the tests.
John Spray [Tue, 3 Mar 2015 20:14:28 +0000 (20:14 +0000)]
mds: flush immediately in do_open_truncate
Previously truncating opens were horribly laggy
for clients when the system was otherwise idle,
as they would wait for the next tick() before
proceeding.
Fixes: #11011 Signed-off-by: John Spray <john.spray@redhat.com>
Danny Al-Gaaf [Tue, 3 Mar 2015 11:14:05 +0000 (12:14 +0100)]
rados.py: fix (white)space issues
Fixes for:
- E202 whitespace before '}'
- E221 multiple spaces before operator
- E223 tab before operator
- E226 missing whitespace around arithmetic operator
- E251 unexpected spaces around keyword / parameter equals
- E261 at least two spaces before inline comment
- W293 blank line contains whitespace
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Danny Al-Gaaf [Tue, 3 Mar 2015 10:00:05 +0000 (11:00 +0100)]
ceph_argparse.py: fix pep8 indentation errors
Fix for:
- E126 continuation line over-indented for hanging indent
- E128 continuation line under-indented for visual indent
- E129 visually indented line with same indent as next logical line
- E131 continuation line unaligned for hanging indent
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Dmytro Iurchenko [Mon, 16 Feb 2015 16:47:59 +0000 (18:47 +0200)]
rgw: Swift API. Complement the response to "show container details"
OpenStack Object Storage API v1 states that X-Container-Object-Count, X-Container-Bytes-Used and user-defined metadata headers should be included in a response.
Loic Dachary [Mon, 2 Mar 2015 13:37:55 +0000 (14:37 +0100)]
tests: keep intermediate docker build layers
Because the docker devmapper backend has an intermittent bug
https://github.com/docker/docker/issues/4036
the build of the image will sometime fail. It will eventually succeed if
the command is repeated enough times. Not removing the intermediate
layers helps speed up the operation: when repeating the command, only
the layer that failed because of the above bug is rebuilt.
Jason Dillaman [Fri, 27 Feb 2015 14:46:55 +0000 (09:46 -0500)]
librbd: flush pending AIO after acquiring lock
There was a potential race condition between a delayed AIO
operation waiting on acquiring a lock and a snap_create
flushing all pending IO. Since snap_create owned md_lock, the
delayed AIO would not be allowed to complete -- deadlocking the
flush.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Fri, 27 Feb 2015 04:39:10 +0000 (23:39 -0500)]
librbd: hold snap_lock between clipping IO and registering AIO
In the case where concurrent IO is occurring when a trim resize
operation is initiated, hold the snap_lock between clipping the
IO operation and registering the pending op. That allows the
resize state machine to properly flush all operations issued
before the clip region was updated.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* should be using /var/lib/ceph/osd/{cluster-name}-{osd-num}/sysvinit
instead of var/lib/ceph/osd/{cluster-name}-{hostname}/sysvinit, thanks
to Kyle Hutson <kylehutson@ksu.edu>