Commit Graph

56407 Commits

Author SHA1 Message Date
Kefu Chai
1e8388c345 cmake: disable unittest_async_compressor
as async compressor is not used anywhere. and haomai agrees to disable
this test.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-22 16:04:30 +08:00
Kefu Chai
5864626d27 pybind/ceph_argparse: handle non ascii unicode args
we raise UnicodeDecodeError at seeing non-ascii args if we fail to match
it with any command signatures. instead, we should use a unicode string
for representing the error in that case. please note, the exception is
not printed at all in real-world. =)

Fixes: http://tracker.ceph.com/issues/12287
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-22 15:55:18 +08:00
Kefu Chai
f11acf2b15 debian: use python:Depends for ceph-{common,base,osd}'s deps
* ceph-base: use ${python:Depends} instead of listing the python
  dependencies manually, dh_python2 will scan the requirements
  of ceph-detect-init. and fill the subst var for us.
* ceph-common: add ${python:Depends}, as it packages ceph,
  and ceph-brag client.
* ceph-osd: it packages ceph-disk, so should add ${python:Depends}
  as its dependencies.

dh_python2 will figure them out.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-22 15:02:12 +08:00
Kefu Chai
7db7f236b3 debian: depends on python-all-dev instead of python-dev
* debian/control: Build-Depends: s/python-dev/python-all-dev/, per
    https://wiki.debian.org/Python/FAQ#Build_dependencies

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-22 15:02:12 +08:00
Kefu Chai
48f4576de1 debian: remove ${shlibs:Depends} from python-* packages
* debian/control:
  as we have listed the linked libraries in Depends section, for example,
  python-rados depends on librados. and we don't need `dpkg-shlibdeps` to
  help figure out shared library substvar dependencies for us. by removing
  them, we can silence the warnings of
```
warning: dpkg-shlibdeps: package could avoid a useless dependency if
debian/python-rados/usr/lib/python2.7/dist-packages/rados.x86_64-linux-gnu.so
was not linked against libpthread.so.0 (it uses none of the library's
symbols)
```
  -lpthread is introduced by `python-config --ldflags` but it turns out we
  are not using any symbols from pthread in the extension directly. and
  pthread is included in glibc. so this does not added any extra
  dependency to python-* pacakges. but it's desirable to have less
  warnings.
* debian/rules: exclude python-* packages from dh_shlibdeps, as we will
  not use it to prepare the shlib deps substvars for these packages any
  more.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-22 15:02:12 +08:00
Kefu Chai
abe5da0e3a debian: do not run dh-python against non-python packages
some packages do not package python modules or scripts. so override
dh_python2 to exclude them.

this change silences warnings like:
```
warning: dpkg-gencontrol: package ceph-mon: unused substitution
variable ${python:Provides}
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-22 14:23:30 +08:00
Kefu Chai
aacba7f1e8 Merge pull request #8150 from wjwithagen/patch-3
.gitignore: exclude coredumps, logfiles and temporary testresults

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-07-22 13:39:21 +08:00
Daniel Gryniewicz
1756b74935 Add op to get Lifecycle configuration
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-07-22 12:22:23 +08:00
Ji Chen
abe4b1378c RGW:lifecycle feature[rebase]
As same as amazon S3 interface,"PUT Bucket lifecycle" and
"DELETE Bucket lifecycle" have been implemented,
"GET Bucket lifecycle" not realized yet as S3cmd has not
realize it also.
The feature`s main point is to remove expire file per day.
Files transfer from hot layer to cold layer is not supported.
ToDo:Maybe to transfer from replicate pool to EC pool or
from ssd to sata pool will be valuable.

Now put all buckets which should do lifecycle into shard
objects in .rgw.lc pool.

lifecycle config file format:
<LifecycleConfiguration>
    <Rule>
        <ID>sample-rule</ID>
        <Prefix></Prefix>
        <Status>enable</Status>
        <Expiration>
           <Days>1</Days>
        </Expiration>
    </Rule>
</LifecycleConfiguration>

Signed-off-by: Ji Chen <insomnia@139.com>
2016-07-22 12:22:12 +08:00
Yehuda Sadeh
01b10c3aaa Merge pull request #9089 from SirishaGuduru/bugfix15603
doc: Modification for "TEST S3 ACCESS" section  in "INSTALL CEPH OBJECT GATEWAY" page

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
Reviewed-by: Yehuda  Sadeh <yehuda@redhat.com>
2016-07-21 14:12:09 -07:00
Casey Bodley
692fbf2ae5 Merge pull request #10388 from yehudasa/wip-rgw-sync-err-injection
rgw: add configurables for {data,meta} sync error injection

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2016-07-21 17:07:41 -04:00
Yehuda Sadeh
e84148a609 rgw: add configurables for {data,meta} sync error injection
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2016-07-21 13:26:09 -07:00
Jason Dillaman
574be7486a qa/workunits/rbd: override rbd-mirror integration test poll frequency
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
862e581553 rbd-mirror: do not cancel maintenance ops with missing finish events
librbd will replay these ops when opening an image, so rbd-mirror
should also ensure these ops are replayed.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
e6cdf955ba rbd-mirror: potential memory leak when attempting to cancel image sync
The cancel request could race with the actual scheduling of the image
sync operation.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
0275c7ca23 rbd-mirror: fix issues detected when attempting clean shut down
Fixed lockdep issue from status update callback and fixed the
potential for a stuck status state.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
73cdd08007 rbd-mirror: shut down image replayers in parallel
When multiple pools are being replicated, start the shut down
process concurrently across all pool replayers.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
24883e0605 rbd-mirror: configuration options to control replay throttling
Fixes: http://tracker.ceph.com/issues/16223
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
11d7500b9b librbd: new configuration option to restrict journal payload size
Ensure that, by default, IO journal events are broken up into manageable
sizes when factoring in that an rbd-mirror daemon might be replaying
events from thousands of images.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
47e0fbf231 librbd: wait for journal commit op event to be safely recorded
Operation request op finish events should not be fire and forget.
Instead, ensure the event is committed to the journal before
completing the op. This will avoid several possible split-brain
events during mirroring.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
08a8ee98c0 journal: optimize speed of live replay journal pruning
When streaming playback, avoid the unnecessary watch delay when
one or more entries have been pruned.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
2c65471de4 journal: possible deadlock during flush of journal entries
If a future flush is requested at the exact same moment that an
overflow is detected, the two threads will deadlock since locks
are not taken in a consistent order.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
11475f4fe7 journal: improve debug log messages
rbd-mirror debugging involved potentially thousands of journals
concurrently running. The instance address will correlate log
messages between journals.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
28d5ca16cb journal: support streaming entry playback
Now that it's possible for the ObjectPlayer to only read a
partial subset of available entries, the JournalPlayer needs
to detect that more entries might be available.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
2666d36664 journal: replay should only read from a single object set
Previously it was prefetching up to 2 object sets worth of journal
data objects which consumed too much memory.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
8c1877b82f journal: optionally restrict maximum entry payload size
Journal playback will need to read at least a full entry which was
currently limited to the maximum object size. In memory constrained
environment, this new optional limit will set a fix upper bound on
memory usage.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
f7362e9a57 journal: optionally fetch entries in small chunks during replay
Support fetching the full object or incremental chunks (with a
minimum of at least a single decoded entry if available).

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
dad8328f2d journal: helper class for organizing optional settings
Additional runtime configuration settings will be needed. The
new class will avoid the need to expand the constructor.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Daniel Gryniewicz
a0294e6450 Revert RGW torrent
Revert the RGW torrent commit for now, it was causing issues.

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-07-21 12:02:58 -04:00
Oleh Prypin
b775b3d831 tests: Make misc. Python tests compatible with Python 3
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-07-21 18:35:17 +03:00
Oleh Prypin
75c71b4e83 tests: Make RGW tests compatible with Python 3
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-07-21 18:35:17 +03:00
Oleh Prypin
b24b646ab9 tests: Make librbd tests compatible with Python 3
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-07-21 18:35:17 +03:00
Oleh Prypin
6483800162 tests: Make OSD tests compatible with Python 3
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-07-21 18:35:17 +03:00
Oleh Prypin
fcb3a2a2ce Make Python setup scripts compatible with Python 3
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-07-21 18:35:17 +03:00
Oleh Prypin
773e01294d pybind: Make RBD Python bindings compatible with Python 3
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-07-21 18:35:17 +03:00
Oleh Prypin
e1dc386f93 pybind: Make CephFS bindings and tests compatible with Python 3
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-07-21 18:35:17 +03:00
Michal Jarzabek
4c3a1f81dd msg/Message.h: remove code duplication
Remove code duplication in constructors.

Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
2016-07-21 16:03:50 +01:00
Kefu Chai
0555abadf0 Merge pull request #10377 from chhabaramesh/extent_alloc
os/bluestore:Fix size calculation in bitallocator

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-07-21 23:01:35 +08:00
Daniel Gryniewicz
f2bea590f7 Merge pull request #9589 from zhouruisong/master
rgw:add a s3 API of make torrent for a object
2016-07-21 09:54:19 -04:00
Nathan Cutler
d788bae60d doc/radosgw: rename config.rst to config-fcgi.rst
This file documents how to configure RGW to use Apache/FastCGI, so rename
the file and modify the title and intro to make that clear.

Also, add a note that CGI can pose a security risk - e.g. http://httpoxy.org

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-07-21 14:17:08 +02:00
John Spray
a2e7ea9c78 Merge pull request #10244 from jcsp/wip-cephfs-health-doc
doc/cephfs: explain the various health messages

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2016-07-21 12:32:45 +01:00
John Spray
ef1405ab19 doc/cephfs: explain the various health messages
Signed-off-by: John Spray <john.spray@redhat.com>
2016-07-21 12:32:05 +01:00
xie xingguo
a55bd6ddb7 os/bluestore: move sanity check to a proper place
This is obviously not the proper place to check the allocation
result. Also the origin check logic is more portable, thus we
drop the "assert(r == 0)" here.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-07-21 18:41:42 +08:00
Ramesh Chander
0be5d5f973 os/bluestore:Fix size calculation in bitallocator
Signed-off-by: Ramesh Chander <Ramesh.Chander@sandisk.com>
2016-07-21 02:47:15 -07:00
Kefu Chai
88f383c7ed Merge pull request #10149 from wjwithagen/patch-12
CMakeList.txt: link ceph_objectstore_tool against fuse only if WITH_FUSE

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-07-21 17:22:10 +08:00
xie xingguo
fa63e4648c os/bluestore: fix bitmap allocating failure if max_alloc_size is 0
If max_alloc_size is 0(means no limit), the original logic will
always hardcode need_blks to 0, which is incorrect.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-07-21 16:42:33 +08:00
Willem Jan Withagen
2f7264e815 src/tools/CMakeLists.txt: conditionalise the FUSE usage
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2016-07-21 09:59:08 +02:00
Kefu Chai
278ea12b12 Merge pull request #10366 from ceph/wip-cmake-debian
debian: bump compat to 9

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Dan Mick <dmick@redhat.com>
2016-07-21 11:00:55 +08:00
Kefu Chai
390ac1d630 Merge pull request #10361 from ceph/wip-cmake
cmake changes

Reviewed-by: Ali Maredia <amaredia@redhat.com>
2016-07-21 10:42:15 +08:00
Yehuda Sadeh
1b1c86f25c Merge pull request #10355 from yehudasa/wip-16742
rgw: back off bucket sync on failures, don't store marker

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2016-07-20 15:43:40 -07:00