Ken Dreyer [Tue, 10 Mar 2015 16:23:30 +0000 (10:23 -0600)]
rm old ceph-deploy reference
There's no need to refer to this old version of ceph-deploy. v1.1.3 is
circa June 2013, and since that time, we have shipped much newer version
of ceph-deploy (1.5.22 at the time of this writing). We should simply
state the behavior of modern ceph-deploys here.
Michal Jarzabek [Thu, 5 Mar 2015 18:01:05 +0000 (18:01 +0000)]
mon/OSDMonitor: refactor and new key "all" for osd pool get command
This will only output all the values applicable to a given type of pool.
So for example for a pool that is not a tier pool values like HIT_SET_TYPE,
HIT_SET_PERIOD, HIT_SET_COUNT etc. will be ignored.
Fixes: #10891 Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
Loic Dachary [Mon, 9 Mar 2015 14:41:21 +0000 (15:41 +0100)]
deb: add zlib1g-dev to Build-Depends for Debian/jessie
The zlib1g-dev is installed indirectly for Ubuntu 12.04 or Ubuntu 14.04
but it is only suggested in Debian/jessie. Adding it to the
Build-depends is redundant and harmless for Ubuntu and resolves the
missing dependency for Debian.
Loic Dachary [Mon, 9 Mar 2015 11:56:31 +0000 (12:56 +0100)]
tests: increase the delay waiting for a cluster event
In some cases the machine running tests may be slow enough that it takes
more than a minute for an OSD to come up. It only happens rarely and
changing the wait period from 60 seconds to 120 seconds. Is so slow
that it takes more than 2 minutes to bring an OSD up, chances are a lot
more will go wrong anyway.
Samuel Just [Sat, 7 Mar 2015 02:02:25 +0000 (18:02 -0800)]
ReplicatedPG: block write on degraded object if there are waiters
Suppose we have min_size of 2 and size of 3, foo exists only on the
primary.
- block op 1 on foo due to < min_size
- start recovery on foo for replicas 1 and 2
- complete push to replica 1 (2 copies now)
- allow op 2 on foo through since we have 2 copies
- complete recovery on foo, requeue op 1
Fixes: 11057 Signed-off-by: Samuel Just <sjust@redhat.com>
Sage Weil [Sat, 7 Mar 2015 01:43:11 +0000 (17:43 -0800)]
crush: parse alg names that include a digit
The str_p("straw2") won't parse straw2, it seems because the digit is throwing
it off. Use the existing name rule instead which is more robust. Note that
not constraining the alg value here is better anyway because instead of a
'cannot parse' error that is hard to debug we instead get a 'unknown alg foo'
error when doing the semantic pass.
Fixes: #11015 Signed-off-by: Sage Weil <sage@redhat.com>
Loic Dachary [Thu, 5 Mar 2015 10:38:18 +0000 (11:38 +0100)]
install-deps.sh: strip | in the list of packages
Alternatives were introduced lately and the | needs to be stripped from
the list of packages to install otherwise apt-get will try to install
all packages.
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
Xiong Yiliang [Fri, 6 Mar 2015 04:46:49 +0000 (12:46 +0800)]
osdc: fix a memory leak in C_TwoContexts
If an ObjectOperation op is cancelled, its destructor is
called and each Context object in out_handler is deleted.
A C_TwoContexts object can be one of these handlers. The
two contexts wrapped in C_TwoContexts must be deleted
as well.
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.
Yehuda Sadeh [Thu, 12 Feb 2015 23:29:24 +0000 (15:29 -0800)]
rgw: fix watch initialization and reinit on error
We can't just call rados->finalize_watch() and rados->init_watch() from
the watcher, as these calls modify the watcher itself. Also, we can't just
enable the cache after successful watch, because there's more than one
watcher. Only enable the cache if all watchers are set.
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.
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.