Commit Graph

88760 Commits

Author SHA1 Message Date
Yuri Weinstein
c439e31913
Merge pull request #22937 from tianshan/fix_index_suggest_ut_fail
rgw: continue enoent index in dir_suggest

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
2018-07-24 09:18:01 -07:00
Yuri Weinstein
d5e6d91131
Merge pull request #23095 from trociny/wip-24898
librbd: ensure exclusive lock acquired when removing sync point snapshots

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-07-24 09:17:11 -07:00
Yuri Weinstein
af1372dff7
Merge pull request #23167 from tchaikov/wip-tools-rbd-cleanup
tools/rbd: assert(g_ceph_context) not g_conf

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-07-24 09:16:50 -07:00
Noah Watkins
cf292dfa8f mgr: create always_on class of modules
support an 'always on' class of ceph-mgr modules. the purpose of an
always-on module is to behave as built-in / non-optional functionality.
this is accomplished by treating always-on modules as enabled
irregardless of the enabled set produced by the manager monitor.
always-on modules that fail to load are reported as health errors.

always-on modules are intended to satisfy important dependencies in a
cluster. as such, the set of always-on modules is specified statically,
as opposed to a property on the Python class, to enable robust error
reporting of always on modules that fail to load.

Signed-off-by: Noah Watkins <nwatkins@redhat.com>
2018-07-24 08:41:46 -07:00
Noah Watkins
6a8b5d8425 mgr: ignore modules that fail to instantiate
If an uncaught runtime exception occurs in a module constructor, then
the manager still tries to deliver notifications resulting in errors
like:

src/mgr/ActivePyModule.cc: 54: FAILED assert(pClassInstance != nullptr)

This removes the failed module from the set of active modules that
should receive command and notifications.

This also serves as a basis for accurately determining if the manager
satisifes all "always on" module constraints.

Signed-off-by: Noah Watkins <nwatkins@redhat.com>
2018-07-24 08:41:46 -07:00
Lenz Grimmer
a4ec7f5f22
Merge pull request #22419 from votdev/hide_progress_bar
mgr/dashboard: Hide progress bar in case of an error
2018-07-24 17:40:43 +02:00
Andrew Schoen
2a19da9ede
Merge pull request #23182 from alfredodeza/wip-ansible-26
ceph-volume tests/functional use Ansible 2.6

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
2018-07-24 14:22:35 +00:00
Sebastian Wagner
0886de94b4 Check cluster health after each pool update
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-07-24 16:20:04 +02:00
Sebastian Wagner
70aa650014 Fixed qa tests:
* `s/_post/_task_post/g' for pools.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-07-24 16:20:04 +02:00
Stephan Müller
8d1b60ea88 Fixed Pool upstate:
Introduce `_get` to work around `get` automatically converting to JSON.

Signed-off-by: Stephan Müller <smueller@suse.com>
2018-07-24 16:20:04 +02:00
Stephan Müller
8506f02fe1 Small backend changes:
* Assert `pg_placement_num` has the same value as `pg_num`.
* Only set `application_metadata`, if not None.
* `osd pool set` only accepts strings.
* Sync `pgp_num` with `pg_num`.

Signed-off-by: Stephan Müller <smueller@suse.com>
2018-07-24 16:20:04 +02:00
Sebastian Wagner
1f58ca5e36 mgr/dashboard: Make use of Tasks in pool API
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-07-24 16:20:04 +02:00
Sebastian Wagner
80106bcbc0 mgr/dashboard: Add Pool update endpoint
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-07-24 16:20:04 +02:00
Stephan Müller
34638d58af qa/mgr/dashboard: compression_max_blob_size is a str
Signed-off-by: Stephan Müller <smueller@suse.com>
2018-07-24 16:20:04 +02:00
Stephan Müller
2b04699c61 mgr/dashboard: Pool API: app_metadata is now a str list
Signed-off-by: Stephan Müller <smueller@suse.com>
2018-07-24 16:20:04 +02:00
Mykola Golub
95ce595757
Merge pull request #23132 from dillaman/wip-25000
librbd: deep-copy should not write to objects that cannot exist

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-07-24 16:43:13 +03:00
Jason Dillaman
1e45d405da qa/workunits/rbd: updates to the clone v2 CLI tests
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-07-24 08:52:33 -04:00
Jason Dillaman
59676fee0b librbd: clone detach should attempt to remove trashed snapshots
Fixes: http://tracker.ceph.com/issues/23398
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-07-24 08:52:33 -04:00
Jason Dillaman
9baa65c3bd librbd: new helper method for retrieving a single snapshot info record
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-07-24 08:52:33 -04:00
Jason Dillaman
6fe2df9691 librbd: reduce log level of write denied permission error
The watch OSD op requires write permission since -EPERM will still
be returned to the user.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-07-24 08:52:33 -04:00
Jason Dillaman
988eaf1df3 rbd: permit removal of snapshots by snap-id
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-07-24 08:52:33 -04:00
Jason Dillaman
79b4f05274 rbd: 'snap ls --all' now shows a trash snapshot's original name
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-07-24 08:52:33 -04:00
Jason Dillaman
a4de5224f5 pybind/rbd: improved handling for snapshot namespaces
The snap iterator now includes the namespace type and group/trash
sub-dictionaries (if applicable). It's also possible to remove a
non-user snapshot by its id.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-07-24 08:52:32 -04:00
John Spray
061ffa508e
Merge pull request #22792 from jcsp/wip-mgrmodule-none-docs
mgr: improve docs for MgrModule methods
2018-07-24 10:36:44 +01:00
John Spray
b4eb58dfb2
Merge pull request #22794 from wido/mgr-metadata-none
mgr: Ignore daemon if no metadata was returned

Reviewed-by: John Spray <john.spray@redhat.com>
2018-07-24 10:35:44 +01:00
John Spray
0a6cc2faa6
Merge pull request #22827 from theanalyst/wip-device-py3
mgr: devicehealth: dont error on dict iteritems

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
2018-07-24 10:28:37 +01:00
John Spray
1d4e71ff1b
Merge pull request #22951 from jcsp/wip-mgr-intermodule
mgr: enable inter-module calls

Reviewed-by: Tim Serong <tserong@suse.com>
2018-07-24 10:25:59 +01:00
Lenz Grimmer
cdfd7b42ee
Merge pull request #23181 from tspmelo/wip-remove-karma
mgr/dashboard: Remove karma packages

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2018-07-24 11:09:48 +02:00
Lenz Grimmer
66580fce05
Merge pull request #23115 from tspmelo/wip-angular-cmake
mgr/dashboard: Remove angular build progress logs during cmake

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
2018-07-24 11:03:34 +02:00
Nathan Cutler
688aac3f40
Merge pull request #23159 from smithfarm/wip-example-no-boost
example/librados: remove dependency on Boost system library

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2018-07-24 09:58:23 +02:00
Kefu Chai
ca3a52938d common/config: extract "changed" from md_config_impl<> to ConfigValues
for the same reason why we moved ObserverMgr out of md_config_impl<>,
"changed" cannot be shared among shards, we should move "changed" out of
md_config_impl. we can put "changed" into ConfigValues or
ConfigProxy, IMHO, it would be simpler if "changed" resides in
ConfigValues: less fragmented this way.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-24 10:17:48 +08:00
Kefu Chai
9bfc036720 common/config: move _apply_changes() calls up into ConfigProxy
see also the previous the commit, to reuse injectargs() and
set_mon_vals() in seastar's ConfigProxy, we need to move apply_changes()
call out of them, as this call is implemented differently in seastar's
ConfigProxy.

finalize_reexpand_meta() is not used by OSD at this moment, so we leave
it as it is for now.

* move _apply_changes() calls up into ConfigProxy
* move update_legacy_vals() out of _apply_changes() into the
callers of the latter. as it changes "values", in seastar's ConfigProxy,
it belongs to the first step of changing a config value

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-24 10:17:46 +08:00
Kefu Chai
e406d8eb9e common/config: promote lock from md_config_t to ConfigProxy
seastar's ConfigProxy and alien's ConfigProxy follow different threading
models and expose different methods. the former updates a setting with 3
steps:
1. create a local copy of current setting, and apply the proposed change
   to the copy
2. populate the updated change with a foreign_ptr<> to all shards
   (including itself)
3. on each shards, call apply_changes() to get the interested observers
   updated, please note, apply_changes() should only update the local
   observers on current shard.

while the alien's ConfigProxy do all the job in a single synchronized
call,
but we can split it into a finer-grained steps:
1. apply the proposed change in-place
2. apply_changes() to get the interested observers updated.

so, to reuse the code across these two implementations, for instance,
set_mon_vals() will be implemented in ConfigProxy instead, so we can
have different behavior in different ConfigProxy classes. if we keep
using the existing single-piece md_config_t::set_mon_vals(), we have no
chance to differentiate the apply_changes() for seastar port. but the
alien implementation requires a grand lock protecting set_val() and
apply_changes(), so we have to move the lock from md_config_t up to
ConfigProxy. it's also simpler this way, as we don't need an extra layer
to have a dummy Mutex for seastar's ConfigProxy. as only the alien's
ConfigProxy requires the lock.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-24 10:15:26 +08:00
Kefu Chai
3ce6a511d1 common/config: do not use unique_ptr<> for config
it's not necessary to do so.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-24 10:05:45 +08:00
Josh Durgin
3f01b63888
Merge pull request #22978 from tchaikov/wip-docker-test-cleanup
test/docker-test-helper.sh: move "cp .git/HEAD" out of loop

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2018-07-23 17:38:41 -07:00
Gregory Farnum
5699a241ff
Merge pull request #23194 from alfredodeza/wip-lvm-docs
ceph-volume: expand on why ceph-disk was replaced

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Yuri Weinstein <yweins@redhat.com>
2018-07-23 16:52:12 -07:00
Yuri Weinstein
19c1a77bf9
Merge pull request #23029 from dillaman/wip-24909
osd: do not treat an IO hint as an IOP for PG stats

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2018-07-23 14:52:02 -07:00
Dan Mick
0366f4fd12
Merge pull request #23186 from smithfarm/wip-4640
doc/man: mention import and export commands in rados manpage
2018-07-23 14:18:15 -07:00
John Spray
4fddb181de doc/mgr: add docs for missing functions
Some functions had docstrings but were
not linked into plugins.rst, some needed
more text added.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-07-23 22:02:51 +01:00
Alfredo Deza
c0e7e8254e doc/ceph-volume expand on the ceph-disk replacement reasons
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-07-23 16:22:37 -04:00
Alfredo Deza
0b37258035 doc/ceph-volume reference the new ceph-disk-replacement section
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-07-23 16:22:13 -04:00
Alfredo Deza
4f48ceab97 ceph-volume tests/functional use testinfra latest for ansible 2.6
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-07-23 14:16:41 -04:00
Nathan Cutler
392c3fed5d doc/man: mention import and export commands in rados manpage
Fixes: http://tracker.ceph.com/issues/4640
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-07-23 19:23:33 +02:00
Ricardo Marques
a36eff1e51 mgr/dashboard: Fix cherrypy static content URL prefix config
Fixes: https://tracker.ceph.com/issues/25067

Signed-off-by: Ricardo Marques <rimarques@suse.com>
2018-07-23 18:20:09 +01:00
Nathan Cutler
c76f363445 doc/rados/operations/pg-states: document the "unknown" state
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-07-23 17:55:36 +02:00
Jason Dillaman
c4128114f1 librbd: add snapshot trash namespace helper and remove_by_id
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-07-23 10:19:53 -04:00
Alfredo Deza
9570864dd6 ceph-volume tests/functional use Ansible 2.6
The ceph-ansible project now refuses to use 2.4 even though it works
with that version

Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-07-23 10:18:34 -04:00
Tiago Melo
b85d3c6920 mgr/dashboard: Remove karma packages
Since we are no longer using karma for the frontend unit tests, we will remove
all the related packages and configurations.

This includes the removal of the phantomjs package.

Signed-off-by: Tiago Melo <tmelo@suse.com>
2018-07-23 14:04:43 +01:00
Nathan Cutler
a2dcee6ce3
Merge pull request #23114 from smithfarm/wip-24800
doc: use :command: for subcommands in ceph-bluestore-tool manpage

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2018-07-23 12:41:06 +02:00
Tiago Melo
74230edfe4 mgr/dashboard: Remove angular build progress logs during cmake
Currently Angular CLI is polluting the jenkins logs, by inserting a new line
each time the build process is updated.
With this change Angular CLI will only output the necessary information about
the start and end of the build.

Signed-off-by: Tiago Melo <tmelo@suse.com>
2018-07-23 11:20:04 +01:00