Commit Graph

44941 Commits

Author SHA1 Message Date
Nathan Cutler
1045291594 ceph.spec.in: remove comments regarding ceph UID/GID in SUSE
It is possible that the ceph user/group will not have fixed UID/GID in SUSE.
Instead, it is possible that the ceph package will depend on a separate package
whose sole purpose will be to create the ceph user/group if they do not exist.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 15:18:53 +02:00
Nathan Cutler
800d974610 ceph.spec.in: enable OBS post-build-checks to find systemd-tmpfiles
The openSUSE Build Service runs a number of "post-build checks" after the RPMs
have been generated. One of these tests the RPM scriptlets for idempotence.
Without this line in the specfile, the check fails on SLE_12 because it cannot
find the systemd-tmpfiles binary.

http://tracker.ceph.com/issues/13375 Fixes: #13375

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 15:18:53 +02:00
Nathan Cutler
498578dba8 etc/sysconfig/ceph: add CEPH_AUTO_RESTART_ON_UPGRADE
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 15:18:46 +02:00
Nathan Cutler
f8895fc70b ceph.spec.in: Standardize systemd preun and postun scripts
Currently, the main ceph package and the ceph-radosgw behave
differently on upgrade. This commit unifies their behavior
to the following:

On package removal, disable and stop all related systemd units.

On package upgrade, do nothing unless there is a file /etc/sysconfig/ceph
containing a parameter CEPH_AUTO_RESTART_ON_UPGRADE. If parameter is set
to "yes", restart the systemd units iff they are running.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 15:18:25 +02:00
Nathan Cutler
404ffab739 ceph.spec.in: fix for out-of-memory errors in OBS
Add "--param ggc-min-expand=20 --param ggc-min-heapsize=32768"
to RPM_OPT_FLAGS, ensuring gcc does not add debug symbols and is
more aggressive about garbage collection.

Thanks to Berthold Gunreben for debugging this issue.

http://tracker.ceph.com/issues/13352 Fixes: #13352

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 14:40:41 +02:00
Nathan Cutler
db4727f943 ceph.spec.in: Use _smp_mflags instead of _NPROCESSORS_ONLN
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 14:40:41 +02:00
Nathan Cutler
3217803700 Revert "install-deps.sh: use %bcond_with selinux on SLE/openSUSE"
This reverts commit 1df2cc2bf6.
2015-10-06 14:40:41 +02:00
Nathan Cutler
5dd93d7de1 ceph.spec.in: selinux by default on RHEL/Fedora, non-default on SUSE
Surround it with an appropriate conditional.

http://tracker.ceph.com/issues/13324 Fixes: #13324

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 14:40:41 +02:00
Nathan Cutler
9e226a8081 ceph.spec.in: use %fillup_only macro in SLE/openSUSE
SUSE does not allow /etc/sysconfig/ceph to be owned by the ceph
package.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 14:40:41 +02:00
Nathan Cutler
2c6977cd5f ceph.spec.in: distro-conditional groupadd and useradd
The -o option to groupadd/useradd is not recognized in SLE12. For
SLE/openSUSE, follow the openSUSE packaging guidelines.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 14:40:40 +02:00
Nathan Cutler
0dd9313628 ceph.spec.in: move systemd-tmpfiles stuff to ceph-common
Since the ceph user and group are created in the ceph-common
%pre scriptlet, the systemd-tmpfiles --create command needs
to run in that package.

tracker.ceph.com/issues/13346 Fixes: #13346

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 14:40:38 +02:00
Nathan Cutler
d58d885dac ceph.spec.in: remove SUSE-specific curses hack
Unclear what this was supposed to fix.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 14:33:57 +02:00
Nathan Cutler
bf9ca1eb10 ceph.spec.in: lttng in SLES12 only
Over in the SUSE sector, we are trying to enable the SLE_12 and openSUSE_13.2
build targets. The lttng/babeltrace stuff is currently available only in
SLE_12.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 12:34:07 +02:00
Nathan Cutler
50567b4964 ceph.spec.in: drop %insserv_prereq (obsoleted by systemd)
The %post, etc. scriptlets are no longer calling %insserv, et al.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 12:34:07 +02:00
Nathan Cutler
c84722a9a6 ceph.spec.in: fix boost-random build dependency for SLE/openSUSE
In Fedora, RHEL and CentOS there is a package called boost-random.
In SLE/openSUSE, there is no such package.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-06 12:33:26 +02:00
Sage Weil
16554eb45e Merge pull request #6139 from liewegas/wip-13283
librados: add FULL_TRY flag; EDQUOT != ENOSPC

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-10-03 08:50:25 -04:00
Sage Weil
3ed25c1f79 librados: document new flag
Signed-off-by: Sage Weil <sage@redhat.com>
2015-10-02 17:47:54 -04:00
Yehuda Sadeh
79d8f895a5 Merge pull request #6169 from rzarzynski/wip-13326
rgw: improve handling of already removed buckets in object expirer.

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2015-10-02 14:17:42 -07:00
Ken Dreyer
3139ab4de0 Merge pull request #6168 from SUSE/wip-13333-infernalis
ceph.spec.in: correctly declare systemd dependency for SLE/openSUSE

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-10-02 13:30:44 -06:00
Nathan Cutler
929e5d04a0 ceph.spec.in: correctly declare systemd dependency for SLE/openSUSE
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 7b1882f875)
2015-10-02 21:24:09 +02:00
Sage Weil
8d8fcee427 osd/ReplicatedPG: exempt MDS from the failsafe check, too
This mimics the prior behavior.  We probably want to change this at some
point!

Signed-off-by: Sage Weil <sage@redhat.com>
2015-10-02 14:12:22 -04:00
Radoslaw Zarzynski
81c23745c1 rgw: improve handling of already removed buckets in object expirer.
Fixes: #13326
Backport: infernalis
Signed-off-by: Radoslaw Zarzynski <rzarzynski@github.com>
2015-10-02 18:20:11 +02:00
Sage Weil
08c15821ec Merge pull request #6096 from liewegas/wip-13260
osd/ReplicatedPG: preserve (some) flags when proxying reads

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-10-02 08:47:33 -04:00
Sage Weil
4936f5916c Merge pull request #6136 from liewegas/wip-13114
osd/librados: fix notify completion race

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-10-02 08:38:39 -04:00
Loic Dachary
392c56c10e Merge pull request #6137 from SUSE/wip-13324-infernalis
install-deps.sh: use %bcond_with selinux on SLE/openSUSE 

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-10-02 00:34:53 +02:00
Samuel Just
4c089ee93f Merge remote-tracking branch 'jdurgin/wip-13281' into infernalis
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2015-10-01 14:55:37 -07:00
Nathan Cutler
1df2cc2bf6 install-deps.sh: use %bcond_with selinux on SLE/openSUSE
http://tracker.ceph.com/issues/13324 Fixes: #13324

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-01 21:47:49 +02:00
Sage Weil
32962740ce ceph_test_rados_api_aio: test pool full gets EDQUOT when FULL_TRY flag is set
Signed-off-by: Sage Weil <sage@redhat.com>
2015-10-01 15:34:59 -04:00
Sage Weil
8b1f234288 librados: expose OPERATION_FULL_TRY flag
Allow librados users to opt to receive ENOSPC or EDQUOT when they submit
an operation against a full cluster.  This should only be used if the
librados app can handle those errors gracefully (librbd, for example,
cannot).

Also note that this allows savvy librados users to send delete operations;
they will get either a success or EDQUOT, depending on whether the
operation results in a net drop in space utilization.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-10-01 15:03:22 -04:00
Sage Weil
ea93ead2ab osd: return -EDQUOT instead of -ENOSPC if it is a pool quota
The pool quota error should return EDQUOT intead of ENOSPC.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-10-01 15:01:59 -04:00
Sage Weil
e86d033854 osdc/Objecter: distinguish between multiple notify completions
We may send a notify to the cluster multiple times due to OSDMap
changes.  In some cases, earlier notify attempts may complete with
an error, while later attempts succeed.  We need to only pay
attention to the most-recently send notify's completion.

Do this by making note of the notify_id in the initial ACK (only
present when talking to newer OSDs).  When we get a notify
completion, match it against our expected notify_id (if we have
one) or else discard it.

This is important because in some cases an early notify completion
may be an error while a later one succeeds.

Note that if we are talking to an old cluster we will simply not record a
notify_id and our behavior will be the same as before (we will trust any
notify completion we get).

Fixes: #13114
Signed-off-by: Sage Weil <sage@redhat.com>
2015-10-01 14:50:34 -04:00
Sage Weil
049ea702b9 osd: reply to notify request with our unique notify_id
The OSD assigns a unique ID to each notify it queues for
processing.  Include this in the reply to the notifier so that
they can match it up with the eventual completions they receive.

This is necessary to distinguish between multiple completions
they may receive if there is PG peering and the notify is resent.
In particular, an earlier notify may return an error when a later
attempt succeeds.

This is forwards and backwards compatible: new clients will make use of
this reply payload but older clients ignore it.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-10-01 14:50:00 -04:00
Sage Weil
99651f0eac Merge pull request #6134 from SUSE/wip-13318-infernalis
install-deps.sh: openSUSE-release/sles-release/sled-release are always present
2015-10-01 10:15:52 -04:00
Nathan Cutler
0f9dca458b install-deps.sh: openSUSE-release/sles-release/sled-release are always present
http://tracker.ceph.com/issues/13318 Fixes: #13318

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-10-01 16:04:26 +02:00
Sage Weil
4c0277f177 Merge branch 'wip-add-async-log' of git://github.com/yuyuyu101/ceph into infernalis 2015-10-01 08:34:31 -04:00
Samuel Just
a1760b49f6 Merge pull request #6117 from athanatos/wip-12990
Wip 12990

Reviewed-by: Sage Weil <sage@redhat.com>
2015-09-30 10:15:48 -07:00
Samuel Just
142cfc1ad2 Merge pull request #6120 from athanatos/wip-13185
Wip 13185

Reviewed-by: Sage Weil <sage@redhat.com>
2015-09-30 10:15:24 -07:00
Sage Weil
28c57e55fe Merge pull request #6122 from athanatos/wip-13234
OSDMap: fill in known encode_features where possible

Reviewed-by: Sage Weil <sage@redhat.com>
2015-09-30 08:36:36 -04:00
Sage Weil
27d40fda45 Merge branch 'wip-12983' of git://github.com/dzafman/ceph into infernalis 2015-09-29 21:09:43 -04:00
Sage Weil
bc627ba8c2 Merge pull request #6119 from athanatos/wip-13192
Wip 13192

Reviewed-by: Sage Weil <sage@redhat.com>
2015-09-29 20:32:47 -04:00
Sage Weil
b7d35d597c Merge pull request #6121 from athanatos/wip-13199
OSDService::agent_entry: don't use PG::operator<< without pg lock

Reviewed-by: Sage Weil <sage@redhat.com>
2015-09-29 20:24:41 -04:00
Loic Dachary
7af863d3f8 Merge pull request #6113 from dachary/wip-13176-objectstore-tool
ceph-objectstore-tool: delete ObjectStore::Sequencer after umount

Reviewed-by: David Zafman <dzafman@redhat.com>
2015-09-30 02:21:58 +02:00
Samuel Just
bb55d6c0c3 Merge pull request #6036 from liewegas/wip-13116
osd: fix replay requeue when pg is activating

Reviewed-by: Samuel Just <sjust@redhat.com>
2015-09-29 17:19:12 -07:00
Sage Weil
41d59fcc3b Merge remote-tracking branch 'gh/infernalis' 2015-09-29 20:15:31 -04:00
Josh Durgin
a965378e3a ReplicatedPG: clearing a whiteout should create the object
This was uncovered by 7532194372. Since
rbd_create() does a stat, the obc is cached as a whiteout, and the
subsequent create(EXCL) would fall through to return false from
maybe_create_new_object(). This would then skip adding a touch() to
the transaction.

Fixes: #13281
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2015-09-29 17:04:59 -07:00
Loic Dachary
47f4a03939 ceph-objectstore-tool: delete ObjectStore::Sequencer after umount
An ObjectStore::Sequencer provided to an ObjectStore must not be
deallocated before umount. The ObjectStore::Sequencer may hold a pointer
to the instance with no reference counting. If a Context completes after
the ObjectStore::Sequencer is deleted, it could try to use it and fail.

http://tracker.ceph.com/issues/13176 Fixes: #13176

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-09-30 00:54:27 +02:00
Sage Weil
de29da4973 Merge pull request #6101 from liewegas/wip-fs
os/fs: fix do loop

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-29 17:42:08 -04:00
branto1
8322a5c2a6 Merge pull request #6103 from SUSE/wip-re-redrop-fdupes
ceph.spec.in: re-re-drop fdupes

Reviewed-by: Boris Ranto <branto@redhat.com>
2015-09-29 12:57:32 +02:00
Nathan Cutler
e42c9aaec7 ceph.spec.in: re-re-drop fdupes
The %fdupes call was dropped by 53072b9019
Later, it got accidentally reinstated by ceb93e8e69

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-09-29 08:57:16 +02:00
Gregory Farnum
a467db1de5 Merge pull request #6025 from ukernel/wip-13167
journaler: detect unexpected holes in journal objects

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-09-28 22:21:34 -07:00