Commit Graph

82531 Commits

Author SHA1 Message Date
Jason Dillaman
3c4e2c1021 librbd: shorten the generated group image snapshot name
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-26 10:32:40 -05:00
Jason Dillaman
deba6b419c librbd: properly handle group snap add failure case
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-26 10:32:40 -05:00
Jason Dillaman
4ad9d565a1 librbd: simplified retrieving snapshots from image header
Added a new cls 'snapshot_get' method that retrieves all snapshot
specific details to avoid the need to add a new cls method to
retrieve each individual snapshot data field.

The cls 'get_snapshot_namespace' method has been dropped since Luminous
clients will treat that as a user-generated snapshot (and that's all
that is supported by Luminous clients). The cls 'get_snapshot_timestamp'
method has been deprecated and can be removed once <=Luminous clients
are no longer supported.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-26 10:32:40 -05:00
Jason Dillaman
7cd13f8351 cls/rbd: automatically manage group op feature on images
When an image is added to a group, set the group op feature
bit and when removed, clear the bit.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-26 10:32:40 -05:00
Jason Dillaman
94dc5aeb24 cls/rbd: renamed image group add/remove/get operations
The methods are used by the luminous release of librbd but are essentially
no-ops since group support was removed from the API. However, we need to
prevent odd interactions once a new client creates a group and uses an
older client to manipulate the image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-26 10:32:40 -05:00
Jason Dillaman
c0801af32d cls/rbd: add new op feature bits for groups and snap trash
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-26 10:32:40 -05:00
Jason Dillaman
41c5f323fd cls/rbd: removed unused snapshot feature bitmask
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-26 10:32:40 -05:00
Jason Dillaman
19a9c3bfa5 cls/rbd: cleanup helper method visibility
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-26 10:32:40 -05:00
Jason Dillaman
0ce2c8344f librbd: group image add/remove ops should notify update
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-26 10:32:40 -05:00
Jason Dillaman
4432e7eb45 librbd: remove 'consistency' verbiage from group feature
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-26 10:32:40 -05:00
Jason Dillaman
ac56e7bbd9 test/librbd: treat empty features environment variable as old format
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-26 10:32:40 -05:00
Nathan Cutler
e544f14969
Merge pull request #20064 from tchaikov/wip-cmake-py3
cmake: enabled py3 only build

Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
2018-01-26 14:45:35 +01:00
Kefu Chai
4600307592 mgr: be compatible with py3
so ceph-mgr can be compiled using py3

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-01-26 20:24:54 +08:00
Kefu Chai
9e45edaab2 cmake: build ceph-mgr with specified version of python
* add an option named "MGR_PYTHON_VERSION", so we can build ceph-mgr
  which use py3 for running plugins
* also drop the line to specify the "Python_ADDITIONAL_VERSIONS", because
  2.7 is listed by all the the FindPythonInterp and FindPythonLibs in
  cmake 2.8.12 and up.
* use ${MGR_PYTHON_EXECUTABLE} for holding the path to the python
  interpreter used by mgr. because this variable might be overwritten by
  "find_package(PythonInterp 2 REQUIRED)" when checking for building env
  of pybinding for python2.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-01-26 20:24:54 +08:00
Kefu Chai
8b21ba9242 cmake: add WITH_PYTHON2 option
* add WITH_PYTHON2 option, so we can build python3 bindings only.
* change the default value of WITH_PYTHON3 option to "OFF", as the
option() command in cmake only allow the initial value to be "ON" or
"OFF". we could use a cached string for this option, but i think it
would be more explicit to continue using the option() command.
* fix the installation dir of "ceph_rest_api.py". please note, we still
have a *default* python version, which is specified by the last element
of ${py_vers}. for instance, ${PYTHON_VERSION} will be 3 if ${py_vers}
is 2;3. in this change, 2 is still the default python version, if both
WITH_PYTHON2 and WITH_PYTHON3 are enabled.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-01-26 20:06:21 +08:00
John Spray
367c462882
Merge pull request #19922 from Rubab-Syed/performance_counter_browser
mgr/dashboard: performance counter browsers

Reviewed-by: John Spray <john.spray@redhat.com>
2018-01-26 11:05:28 +00:00
Kefu Chai
c641b205a8
Merge pull request #20009 from Liuchang0812/fix-22727
mon: do not use per_pool_sum_delta to show recovery summary

Reviewed-by: Varada Kari <varada.kari@gmail.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-01-26 15:30:11 +08:00
Kefu Chai
73cc02d328
Merge pull request #20048 from jcsp/wip-22096
mon: fix mgr using auth_client_required policy

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-01-26 15:28:02 +08:00
Kefu Chai
2d072dc543
Merge pull request #19994 from runsisi/wip-objecter-cleanup
objecter: minor cleanups

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-01-26 14:36:28 +08:00
Kefu Chai
4233cc02d4
Merge pull request #19651 from yanghonggang/master
mon/OSDMonitor.cc: fix expected_num_objects interpret error

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-01-26 14:34:11 +08:00
Mykola Golub
023759c7c1
Merge pull request #20124 from dillaman/wip-devstack
qa/workunits/rbd: switch devstack to pike release

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-01-26 07:41:00 +02:00
Mykola Golub
a2210912a5
Merge pull request #20105 from dillaman/wip-22791
librbd: force removal of a snapshot cannot ignore dependent children

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-01-26 07:32:41 +02:00
Jason Dillaman
7638a207d5
Merge pull request #19320 from vshankar/rbd-mirror-image-map-policy-test
test/rbd-mirror: image map policy test

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-01-25 22:00:13 -05:00
Jason Dillaman
da7314568e
Merge pull request #19974 from shun-s/wip-accelerate-rbd-snap-create-rm-speed
librbd: cache last index position to accelerate snap create/rm

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-01-25 21:59:48 -05:00
Jason Dillaman
6253490445
Merge pull request #19996 from Songweibin/wip-rbd-deep-cp
rbd: add deep cp CLI method

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-01-25 21:59:31 -05:00
Rubab-Syed
25ecfbd9cf mgr/dashboard: performance counter browsers
Signed-off-by: Rubab-Syed <rubab.syed21@gmail.com>
2018-01-26 05:20:21 +05:00
Jason Dillaman
7ff1e0bc21 qa/workunits/rbd: switch devstack to pike release
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-25 18:44:20 -05:00
Patrick Donnelly
19b56486db
Merge PR #20060 into master
* refs/pull/20060/head:
	ceph-debug-docker.sh: allow specifying branch sha1

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
2018-01-25 14:52:17 -08:00
Jason Dillaman
fcc58ecfeb librbd: force removal of a snapshot cannot ignore dependent children
Fixes: http://tracker.ceph.com/issues/22791
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-01-25 17:13:12 -05:00
Kefu Chai
52bf90bb10
Merge pull request #20047 from jcsp/wip-prometheus-qa
qa: add new prometheus test to rados/mgr suite

Reviewed-By: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-01-25 23:43:07 +08:00
Casey Bodley
c42f7632b3
Merge pull request #19596 from qrGitHub/wip-rgw-lc-scheduleNextStartTime
rgw: optimize next start time for lifecycle

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2018-01-25 10:19:21 -05:00
Kefu Chai
50136330fc
Merge pull request #20077 from smithfarm/wip-spdk-fast-forward
spdk: update submodule to more recent upstream

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-01-25 23:02:21 +08:00
Kefu Chai
6f725e76d5 cmake: build Boost.python with specified version of python
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-01-25 22:26:10 +08:00
John Spray
474828ddfc
Merge pull request #19235 from jcsp/wip-mgr-can-run
mgr: improved module loading for error reporting etc

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-01-25 11:23:36 +00:00
Song Shun
d04ed348a1 librbd: fix snap create/rm may taking long time
fix snap create/rm may taking long time
  http://tracker.ceph.com/issues/22716

Signed-off-by: Song Shun <song.shun3@zte.com.cn>
2018-01-25 18:51:16 +08:00
Nathan Cutler
34cc708c0d
Merge pull request #19122 from smithfarm/wip-lowmem-builder
build/ops: rpm: set build parallelism based on available memory

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
2018-01-25 09:36:39 +01:00
Nathan Cutler
e020ec3343 build/ops: cmake: do not guard certain tools with WITH_TESTS
As a follow-up to d7b493a710 we need to stop guarding

    ceph-osdomap-tool
    ceph-monstore-tool

with WITH_TESTS because they have been moved out of the ceph-test package.

(N.B. ceph-kvstore-tool was also moved out of ceph-test, but apparently never
had the guard.)

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-24 23:20:57 +01:00
Nathan Cutler
d048cb2cd8 build/ops: rpm: let ctest benefit from memory calculation
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-24 23:20:57 +01:00
Nathan Cutler
0cf627b4e3 build/ops: rpm: override %_smp_mflags if not enough memory
Sometimes the build machine has lots of processor cores and not enough
memory to successfully build Ceph on all of them at once. Calculate
how many parallel build processes we can sustain with the memory we
have and set a lower build parallelism if necessary. Never exceed
the value set by %_smp_mflags even if memory is aplenty.

Credits to Tomáš Chvátal for the original idea and implementation.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-24 23:20:56 +01:00
Nathan Cutler
353ff67780 build/ops: rpm: fix Group for rados-objclass-devel subpackage
Fixes RPMLINT warning "non-standard-group Development/Libraries"

Also, the Group: line is only needed for SUSE so put it in an appropriate
distro conditional.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-24 23:20:50 +01:00
Casey Bodley
15e0630b42
Merge pull request #19384 from ivancich/wip-rgw-lazy-cache-put-on-excl-create
rgw: do not update all gateway caches upon creation of system obj w/ exclusive flag

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-01-24 15:43:58 -05:00
John Spray
b3e6b8e1e2 qa: always dump corrupt messages in rados/upgrade
Previously only a service with debug_ms>=1 would dump
corrupt messages: in an upgrade test we're *alway*
interested in a corrupt message.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-01-24 13:08:21 -05:00
John Spray
9999ddf67b mgr: refactor get_modules/list_modules
list_modules is really about searching for them
on disk, so it's now probe_modules and private.

Both methods now return values instead of populating
an argument, since when called they were always writing into
a newly constructed container.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-01-24 13:08:21 -05:00
John Spray
191cce74e1 doc: note new mgr module error codes
Signed-off-by: John Spray <john.spray@redhat.com>
2018-01-24 13:08:21 -05:00
John Spray
6eb5c636dd mon: expose can_run flag in module ls + mgr dump
Enable people to see can_run failures and the explanatory
messages (telling them about a missing dependency)
before trying to enable a module.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-01-24 13:08:21 -05:00
John Spray
d9a47181c4 mgr: add health checks for failed modules
Signed-off-by: John Spray <john.spray@redhat.com>
2018-01-24 13:08:20 -05:00
John Spray
f95b079c21 qa/mgr: add test for command execution errors
Signed-off-by: John Spray <john.spray@redhat.com>
2018-01-24 13:08:20 -05:00
John Spray
834bc27940 mgr: load command definitions earlier
...and for all modules, not just the active ones.

This enables us to give better feedback to the user
when they try and use a command from a disabled module,
and also fixes the race between enabling a module and
trying to use its commands.

Fixes: http://tracker.ceph.com/issues/21683
Signed-off-by: John Spray <john.spray@redhat.com>
2018-01-24 13:08:20 -05:00
John Spray
712ad57d09 mgr: evaluate can_run method on modules
...and transmit the result to the monitor in
our beacon.

Fixes: http://tracker.ceph.com/issues/21502
Signed-off-by: John Spray <john.spray@redhat.com>
2018-01-24 13:08:20 -05:00
John Spray
6a8da7ca73 mgr: load all modules (not just active ones)
This is to enable us to learn more about the module
before it is enabled, such as whether its can_run method
return true.

We can also use this to enable loading a module's
commands before it is enabled, to give the user
a better response when they try to use a command
belong to a module that is not loaded.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-01-24 13:08:20 -05:00