Commit Graph

103093 Commits

Author SHA1 Message Date
sage@newdream.net
785ceabdf6 telemetry/tables.txt: drop stack_weak_sig column
Signed-off-by: sage@newdream.net <sage@telemetry.ceph.com>
2019-10-04 20:55:32 +00:00
sage@newdream.net
660293bf93 telemetry/tables.txt: drop drop tables lines
Signed-off-by: sage@newdream.net <sage@telemetry.ceph.com>
2019-10-04 20:55:32 +00:00
user.email
fbf4ca99c9 telemetry/server/tables.txt: add device_report table
Signed-off-by: Sage Weil <sage@newdream.net>
2019-10-04 20:55:32 +00:00
Sage Weil
d5b1698c9e telemetry: misc scripts
Signed-off-by: Sage Weil <sage@newdream.net>
2019-10-04 20:55:32 +00:00
Sage Weil
7be5c1323b mgr/devicehealth: factor _get_device_metrics out of show_device_metrics
Add the min_sample lower-bound argument too

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 15:03:02 -05:00
Sage Weil
2f1670e9fb mgr/devicehealth: pull out MAX_SAMPLES
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 15:02:17 -05:00
Sage Weil
f523a03044 vstart.sh: add --ssh to enable+configure ssh orchestrator
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Sage Weil
66835389c5 mgr/ssh: use ssh identity from config-key, if present
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Sage Weil
d0b950abdf mgr/ssh: hardcode default ssh_config
Use this unless either ssh_config or ssh_config_file are present.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Sage Weil
0b5284c414 ceph-daemon: store ssh identity in mon config-key store
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Sage Weil
68be44898b ceph-daemon: --privileged arg for 'exec'
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Sage Weil
5ce40e65db ceph-daemon: make deploy work for osd (do a c-v prepare)
This is sufficient to deploy an OSD that is based on ceph-volume lvm.
YMMV if it's not an lvm-based OSD.

Run the OSD container privileged so we can open the raw block device.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Sage Weil
cf30d49e43 ceph-daemon: make shell privileged
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Sage Weil
1fa7ef1613 ceph-daemon: move get_container_mounts to a helper
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Sage Weil
97d5a547f4 ceph-daemon: pass full path for entrypoint
Sometimes we run things in /usr/sbin...

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Sage Weil
be62368306 ceph-daemon: make id portion of 'shell' optional
This lets you start up a 'generic' container of a particular class,
without a data mount, but with the appropriate other mounts and privilege
levels.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Sage Weil
e6c578a2bc ceph-volume: accept --no-tmpfs argument for bluestore
When activating a bluestore inside a container, we want to (be able to)
make the osd dir metadata persistent inside the container.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Sage Weil
6924a8ea72 ceph-daemon: 'unit' command
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 14:37:28 -05:00
Jason Dillaman
547ebccaf9 librbd: v1 clones are restricted to the same namespace
Therefore the v1 parent spec should not attempt to populate the
namespace.

Fixes: https://tracker.ceph.com/issues/41938
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-10-04 13:27:50 -04:00
Sergio de Carvalho
7b216bab3d rgw: add SSE-KMS with Vault using token auth
Clarify supported secret engine in the Vault documentation.

Signed-off-by: Andrea Baglioni <andrea.baglioni@workday.com>
Signed-off-by: Sergio de Carvalho <sergio.carvalho@workday.com>
2019-10-04 15:55:51 +01:00
Sage Weil
4629e4d799 osd/PeeringState: base lease support checks on features, not require_osd_release
The require_osd_release value will change at an arbitrary point in time,
midway through a peering interval.  That can leave us in a state where
we are midway through an interval and suddenly enforcing checks on leases
we don't have.

In contrast, the upacting features change at an interval boundary, which
lets us adjust our behavior for the whole interval.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:49:43 -05:00
Sage Weil
a17e889b22 crimson: common/admin_socket kludge so that it builds
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
dbb53e68c4 mon/MonClient: fix sending mon command to a specific rank
The target_name check was triggering when target_name was empty (and
target_rank >= 0).

Fixes 4ef0502da5

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
cc8bd47824 src/.gitignore: ignore .tox
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
62f33d5978 mon/MonClient: interpret numeric mon target name as rank
This allows us to behave when a rank is passed to mon_command(..., target=),
which will call rados_mon_command_target() -> MonClient::start_mon_command
with a (string) target name.

We could make an integer variant of rados_mon_command_target, and do the
int vs string differentiation in python, but this is much easier.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
6f35d28352 mgr,mgr/MgrClient: use fsid to signal mon-mgr vs cli MCommands
We can't use the feature bit for the MCommand connection to tell whether
it is a tell or CLI command because new clients may have to send CLI
commands via MCommand for old clusters, and they don't always know whether
this mgr is new or old yet.

Prior to octopus, MCommand contained a mon/mgr CLI command, and did not
have the fsid field set.  Start populating the fsid field, and use this
to signal whether a client is a new MgrClient that knows MCommand vs
MMgrCommand.  If we get an MCommand with the fsid set, that means it is
a tell command; otherwise, it's an old client sending a CLI command.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
99f940641f qa/workunits/cephtool: fix errpr checks for 'ceph daemon' commands
Error output has changed slightly.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
9585dd0e0f common/ceph_context: make 'config unset' idempotent
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
4a4897414d qa/tasks/dump_stuck: mon.a, not mon.0
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
7b644f599b qa/suites/rados/singleton/all/admin-socket: fix test
We can't set the filestore setting because filestore isn't active and so
the option isn't observed, so it isn't changeable.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
0f47d10bab common/config: EPERM setting config option after startup
Not sure why ENOSYS was chosen before...

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
05bc99f82e qa/workunits/cephtool/test.sh: fix tell output error check
It goes to stderr instead of stdout now.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
adf1486e46 common/admin_socket: pass Formatter from generic infrastructure
The implementation can choose to either use the provided Formatter, or
put something directly into outbl.  The implementation may choose to
flush the formatter to the output buffer|stream, or let the caller do it
for them (usually the latter).

Lots of fiddling/cleanup in the implementations to make this build,
including dropping the (seeminlyg unused?) ostream& output mode for
the librbd asok implementations.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:03 -05:00
Sage Weil
a4c07734bf common/admin_socket: pass ostream to call() for error output
This separates the error stream from the output stream for the synchronous
hook.

This patch includes misc cleanup in the various implementations to make
use of the new stream for errors.

Add a test to unittest_context to ensure we're getting the error stream.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
7aab81c97c os/bluestore: fix asok hook return value
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
ee4ba58275 rgw: fix asok return value
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
02115141ad common/ceph_context: return error code from asok commands
Several of these commands (config set, injectargs, etc.) can return errors.
Do so.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
215d267fa6 test/pybind/test_rados: fix accidental mon tell test
This test assumed 'mon dump' (a CLI command) would work when targetted at
a specific mon (i.e., a tell command).

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
e1163b445b mon: print entity_name along with caps to debug log
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
5d4fe85b74 PendingReleaseNotes: notes about asok changes
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
22b0a99de7 mgr/MgrClient: empty target string for 'tell' means active mgr
This lets the caller say "tell the active mgr", whoever it may be.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
7e84910cfb common/admin_socket: report error code as part of output string
This isn't ideal, but it's better than nothing.

Net behavior change here is that calling an non-existant command now
succeeds with an error message instead of exiting with an error code
and no informative output.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
1e44d86b2c osd: change trigger_[deep_]scrub tommands to a pg tell command
This is cleaner.  All users are currently standalone tests; updated.

It also means that *all* commands that have a name=pgid arg are pg tell
commands.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
817cca779d osd: remove old command workqueue, threadpool
These are now sent to the asok handler.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
45adbe011d osd: drop MMonCommand handling
Nothing sends these.. or has in a very very long time, AFAICS.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
ecfd5ba4cf osdc/Objecter: resend OSD tell commands on EAGAIN
Request map *and* resend.  We don't have map epoch info about when the
reply was sent, and the OSD isn't ordering with respect to epochs anyway.
So, resend now, just in case we already saw a map change, or because we
were suffering from a peering vs command race on the OSD side, and then
also request a new map from the mon, in case we are missing a map update.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
8987f94416 osd: route tell commands to asok; migrate commands
- move items from _do_command to asok_command in OSD.cc
- update PG::do_command to take a std::function on_finish
- sprinkle in some osd_lock locking (_do_command implicitly locks osd_lock,
  asok_command() does not; most commands don't need it)

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
b4bf936a89 osd: use unique_ptr<Formatter> for asok_command
Simpify lifecycle.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Sage Weil
f3980856c3 common/ceph_context: add generic asok 'injectargs'
Lots of scripts and users expect this, even though 'config set' is
generally nicer to use.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 09:07:02 -05:00
Alfonso Martínez
f1d6feb6b6 mgr/dashboard: fix missing constraints file in backend API tests
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
2019-10-04 16:04:42 +02:00