Commit Graph

104748 Commits

Author SHA1 Message Date
Sage Weil
cd94d53cbc qa/tasks/ceph2: pass ceph-daemon path to DaemonState
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
68b1c42b72 qa/tasks/ceph2: tolerate no mdss or 1 mgr
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
f2a1d0afe8 qa/tasks/ceph: replace wait_for_osds_up with manager.wait_for_all_osds_up
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
c97b92adab qa/tasks/ceph: wait-until-healthy
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
e2bc637ace qa/tasks/ceph2: set up managers
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
55d302ac8d qa/tasks/ceph2: use seed ceph.conf
Based on ceph.conf.template, but edited down a bit.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
7c0eacb780 qa/tasks/ceph: healthy: use manager helpers (instead of teuthology/misc ones)
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
53e2bdc156 qa/tasks/ceph2: name mds daemons
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
6e698e294d qa/tasks/ceph2: fix osd ordering
Sort by the numeric key

Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
ebcaebcdd3 qa/tasks/ceph2: start up mdss
TODO: name them properly

Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
6932daa52a qa/tasks/ceph2: set up daemon handles and use them to stop
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
2b4c81e62b qa/tasks/ceph2: make it multicluster-aware
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
5b5122ce54 qa/tasks/ceph2: can bring up mon, mgr, osds!
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Sage Weil
ea96d47b42 qa/tasks/ceph2: basic task to bring up cluster with ceph-daemon and ssh
This is pretty minimal at this point, but it works so far (or will, once a few open PRs merge).

Main problematic area right now is that the multi-cluster stuff isn't right.  We should fix that before continuing, since ceph-daemon for once can do multiple clusters well.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-21 10:46:54 -06:00
Patrick Donnelly
3a46ada713
Merge PR #31120 into master
* refs/pull/31120/head:
	mds: Reorganize class members in MDSRank header

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2019-11-21 08:35:57 -08:00
Ricardo Dias
1de5f98993
ceph-daemon: append newline before public key string
Sometimes, `authorized_keys` file does not end with a newline and
therefore the public key generated by ceph-daemon gets appended to
the same line of the previous key. Therefore we need to append a
newline before our key to guarantee that the above case does not
happen.

Signed-off-by: Ricardo Dias <rdias@suse.com>
2019-11-21 16:31:13 +00:00
Joshua Schmid
8b461cfbef mgr/ssh: improve logging for mds removal
Fixes: https://tracker.ceph.com/issues/42931
Signed-off-by: Joshua Schmid <jschmid@suse.de>
2019-11-21 16:55:33 +01:00
Joshua Schmid
c1db7f8b42 mgr/volumes: move up 'confirm' validation
Instead of checking if the --yes-i-really-mean-it
flag was set _after_ removing the MDS daemon, we
need to check if before starting any removal operation.

Fixes: https://tracker.ceph.com/issues/42931
Signed-off-by: Joshua Schmid <jschmid@suse.de>
2019-11-21 16:55:10 +01:00
Lenz Grimmer
ad1804424a
mgr/dashboard: Cross sign button not working for some modals (#31783)
mgr/dashboard: Cross sign button not working for some modals

Reviewed-by: Volker Theile <vtheile@suse.com>
2019-11-21 15:50:46 +00:00
Lenz Grimmer
3de5c1c5bb
mgr/dashboard: sort monitors by open sessions correctly. (#31752)
mgr/dashboard: sort monitors by open sessions correctly.

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2019-11-21 15:48:53 +00:00
Lenz Grimmer
02d564e127
Merge pull request #31738 from ricardoasmarques/wip-41776
mgr/dashboard: Unable to set boolean values to false when default is true

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
2019-11-21 15:46:23 +00:00
Ilya Dryomov
eee172cb1a
Merge pull request #31773 from idryomov/wip-krbd-snapshot-removal-test
qa: kernel.sh: update for read-only changes

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-11-21 16:44:21 +01:00
Lenz Grimmer
1844aa60aa
mgr/dashboard: Don't use any xlf file when building the defaul… (#31727)
mgr/dashboard: Don't use any xlf file when building the default language

Reviewed-by: Tiago Melo <tmelo@suse.com>
2019-11-21 15:40:18 +00:00
Sage Weil
a68536be04 Merge PR #31748 into master
* refs/pull/31748/head:
	qa/standalone/test_ceph_daemon.sh: remove old vg before creating
	qa/standalone/test_ceph_daemon.sh: sudo for untar
	qa/standalone/test_ceph_daemon.sh: sudo for losetup etc
	qa/standalone/test_ceph_daemon.sh: fix overwrites of temp files

Reviewed-by: Michael Fritch <mfritch@suse.com>
2019-11-21 09:04:23 -06:00
Lenz Grimmer
bb3a719a3e
mgr/dashboard: Update dev documentation URL (#31724)
mgr/dashboard: Update dev documentation URL

Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2019-11-21 15:04:07 +00:00
Sebastian Krah
cd8598078f mgr/dashboard: Add Korean translation
Adds new xlf file and all required settings such as build information.

Signed-off-by: Sebastian Krah <skrah@suse.com>
2019-11-21 16:03:48 +01:00
Lenz Grimmer
95b9661e9d
mgr/dashboard: Use new ImageSpec class (#31622)
mgr/dashboard: Use new ImageSpec class

Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
2019-11-21 15:02:17 +00:00
Lenz Grimmer
d686901abd
mgr/dashboard: Dashboard can't handle self-signed cert on Graf… (#31129)
mgr/dashboard: Dashboard can't handle self-signed cert on Grafana API

Reviewed-by: Stephan Müller <smueller@suse.com>
2019-11-21 14:58:46 +00:00
Ilya Dryomov
80528fcb6c qa: add krbd_get_features.t test
Run it together with krbd_blkroset.t.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-11-21 14:40:41 +01:00
Lenz Grimmer
3b0257f592
mgr/dashboard: open files with UTF-8 encoding in Grafana check… (#31750)
mgr/dashboard: open files with UTF-8 encoding in Grafana checking script

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2019-11-21 12:51:52 +00:00
Joshua Schmid
2f705ee69b
mgr/volumes: remove unsed variable
Signed-off-by: Joshua Schmid <jschmid@suse.de>
2019-11-21 12:54:19 +01:00
Ricardo Marques
acfd7551fa mgr/dashboard: Cross sign button not working for some modals
Fixes: https://tracker.ceph.com/issues/42179

Signed-off-by: Ricardo Marques <rimarques@suse.com>
2019-11-21 11:16:16 +00:00
Varsha Rao
14b0db908f mds: Reorganize class members in MDSRank header
Fixes: https://tracker.ceph.com/issues/42465
Signed-off-by: Varsha Rao <varao@redhat.com>
2019-11-21 16:11:42 +05:30
Kefu Chai
4174506f92 mgr/orchestrator: do not try to iterate through None
`PlacementSpec` instances could be constructed with `nodes=None`, see
`OrchestratorCli._mds_add()` in orchestrator_cli/module.py, so we need
to handle the case of `None`.

also, it's dangerous to pass a list as the default parameter to a
method in python, as the value of reference point to that list will
be stored. and multiple calls of that method will share the same
instance of list. which is not expected under most circumstances.

in this change, list comprehension is unsed instead of more functional
`list(map(...))`, because, the behavior of `map()` in python3 is quite
different from that in python2. in python3, `map()` returns an iterator.
and `list()` actually materializes the iterator by walking through it,
and `list()` changes the iterator by advancing it. so, to improve the
readability and to reduce the menta load of developers, list
comprehension is better in most cases.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-11-21 17:02:50 +08:00
Josh Durgin
57acecb27c os/bluestore: pin onodes as they are added to the cache
When onodes are added to the cache, they may have more than one
reference already. Due to the implicit nature of boost::intrusive, in
the common case of creating a new Onode, they have 3 references at
this point.

Since they haven't been added to the cache yet, Onode::get() could not
pin them when they went from 1->2 references. Instead, take care of it
when they do get added to the cache. The pinning in get() is still
needed in case they get unpinned and then referenced again while still
cached.

This lack of pinning meant that newly created onodes were immediately
removed from the cache, since the last step of adding a new onode is
trimming the cache. In tests that read the object just after queueing
a write to it, the read got ENOENT, when it should have read the onode
from cache.

Fixes: https://tracker.ceph.com/issues/42495
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2019-11-21 00:00:47 -05:00
Josh Durgin
0808184b0f Revert "Revert "Merge pull request #30964 from markhpc/wip-bs-cache-trim-pinned""
This reverts commit f03395e5a6.
Re-instate the cache trimming from https://github.com/ceph/ceph/pull/30964

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2019-11-21 00:00:08 -05:00
Venky Shankar
bbbfb44453 pybind / cephfs: remove static typing in LibCephFS.chown
The routine does type checking anyway, plus, to be uniform
with other APIs.

Fixes: http://tracker.ceph.com/issues/42923
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2019-11-20 23:23:09 -05:00
Sage Weil
07193aec3a qa/standalone/test_ceph_daemon.sh: remove old vg before creating
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-20 18:27:31 -06:00
Sage Weil
fd6bfad498 qa/standalone/test_ceph_daemon.sh: sudo for untar
The deepsea.tgz tar contains actual device nodes for the OSD block devices
(not symlinks or files).  Must be root to untar.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-20 18:27:31 -06:00
Sage Weil
723fdb111a qa/standalone/test_ceph_daemon.sh: sudo for losetup etc
Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-20 18:27:31 -06:00
Sage Weil
cb67545e99 qa/standalone/test_ceph_daemon.sh: fix overwrites of temp files
mktemp creates these files, so we have to pass --allow-overwrite (or
delete them after we get the unique name but before we write to them--this
is easier).

Broken by c7fe27a72a

Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-20 18:27:31 -06:00
Patrick Donnelly
e4b3036422
Merge PR #31418 into master
* refs/pull/31418/head:
	test: use distinct subvolume/group/snapshot names

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
2019-11-20 15:34:02 -08:00
Patrick Donnelly
5a0fa12513
Merge PR #30553 into master
* refs/pull/30553/head:
	qa/tasks: check if fs mounted in umount_wait

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2019-11-20 15:31:33 -08:00
Patrick Donnelly
23a15c9be4
Merge PR #31534 into master
* refs/pull/31534/head:
	mds: fix invalid access of mdr->dn[0].back()

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2019-11-20 15:26:09 -08:00
Patrick Donnelly
e799c2533c
Merge PR #31548 into master
* refs/pull/31548/head:
	mds: properly evaluate unstable locks when evicting client

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2019-11-20 15:24:56 -08:00
Patrick Donnelly
6a55fd1106
Merge PR #31531 into master
* refs/pull/31531/head:
	cmake: link ceph-fuse against librt

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-11-20 14:55:42 -08:00
Ilya Dryomov
6fb544045e qa: kernel.sh: update for read-only changes
Snapshot existence validation code was removed from krbd.  It was racy
and relied on having watch established for snapshots.

Fixes: https://tracker.ceph.com/issues/42916
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-11-20 21:32:45 +01:00
Radoslaw Zarzynski
ea78fa29ae crimson: avoid seastar::do_with() due to performance reasons.
`seastar::do_with(T&& rvalue, F&& f) takes object for lifetime
extension by rvalue reference. This imposes materialization of
a temporary to move from even when `do_with()` is being called
like:

  `do_with(OpsExecuter{...}, [] { /* ... */)`.

The reason behind that is following language rule:

  "Temporary objects are created when a prvalue is materialized
  so that it can be used as a glvalue, which occurs (since C++17)
  in the following situations:

   * binding a reference to a prvalue"
  (from: "Temporary object lifetime", cppreference.com)

As OpsExecuter is pretty heavy-weight, it is reasonable to avoid
`do_with()` and perform the lifetime extension with smart pointer.
Additional benefit is squeezing plain-to-errorated conversion in
`seastar::internal::do_with_state::get_future()`.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:45 +01:00
Radoslaw Zarzynski
f039e3a9d7 crimson: OpsExecuter::submit_changes() operates on errorated future.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:45 +01:00
Radoslaw Zarzynski
bc61111bd0 crimson: introduce make_exception_future to errorator.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-11-20 20:37:45 +01:00