]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agoMerge pull request #40776 from smithfarm/wip-49934-octopus
Yuri Weinstein [Wed, 12 May 2021 15:17:03 +0000 (08:17 -0700)]
Merge pull request #40776 from smithfarm/wip-49934-octopus

octopus: test: reduce number of threads to 32 in LibCephFS.ShutdownRace

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #40775 from smithfarm/wip-49752-octopus
Yuri Weinstein [Wed, 12 May 2021 15:16:36 +0000 (08:16 -0700)]
Merge pull request #40775 from smithfarm/wip-49752-octopus

octopus: doc: snap-schedule documentation

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #40774 from smithfarm/wip-49851-octopus
Yuri Weinstein [Wed, 12 May 2021 15:16:09 +0000 (08:16 -0700)]
Merge pull request #40774 from smithfarm/wip-49851-octopus

octopus: mds: fix race of fetching large dirfrag

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #40773 from smithfarm/wip-49611-octopus
Yuri Weinstein [Wed, 12 May 2021 15:15:43 +0000 (08:15 -0700)]
Merge pull request #40773 from smithfarm/wip-49611-octopus

octopus: qa: add sleep for blocklisting to take effect

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #40772 from smithfarm/wip-49560-octopus
Yuri Weinstein [Wed, 12 May 2021 15:15:16 +0000 (08:15 -0700)]
Merge pull request #40772 from smithfarm/wip-49560-octopus

octopus: qa: delete all fs during tearDown

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #40771 from smithfarm/wip-49518-octopus
Yuri Weinstein [Wed, 12 May 2021 15:14:47 +0000 (08:14 -0700)]
Merge pull request #40771 from smithfarm/wip-49518-octopus

octopus: cephfs: client: wake up the front pos waiter

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #40770 from smithfarm/wip-49515-octopus
Yuri Weinstein [Wed, 12 May 2021 15:13:32 +0000 (08:13 -0700)]
Merge pull request #40770 from smithfarm/wip-49515-octopus

octopus: pybind/cephfs: DT_REG and DT_LNK values are wrong

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #40765 from smithfarm/wip-49347-octopus
Yuri Weinstein [Wed, 12 May 2021 15:13:05 +0000 (08:13 -0700)]
Merge pull request #40765 from smithfarm/wip-49347-octopus

octopus: qa: for the latest kclient it will also return EIO

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #40764 from smithfarm/wip-48878-octopus
Yuri Weinstein [Wed, 12 May 2021 15:12:37 +0000 (08:12 -0700)]
Merge pull request #40764 from smithfarm/wip-48878-octopus

octopus: mds: update defaults for recall configs

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #40763 from smithfarm/wip-48836-octopus
Yuri Weinstein [Wed, 12 May 2021 15:12:07 +0000 (08:12 -0700)]
Merge pull request #40763 from smithfarm/wip-48836-octopus

octopus: mount.ceph: collect v2 addresses for non-legacy ms_mode options

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
4 years agoMerge pull request #40762 from smithfarm/wip-45853-octopus
Yuri Weinstein [Wed, 12 May 2021 15:11:37 +0000 (08:11 -0700)]
Merge pull request #40762 from smithfarm/wip-45853-octopus

octopus: tools/cephfs: don't bind to public_addr

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #40268 from kotreshhr/wip-49904-octopus
Yuri Weinstein [Wed, 12 May 2021 15:11:04 +0000 (08:11 -0700)]
Merge pull request #40268 from kotreshhr/wip-49904-octopus

octopus: mgr/volumes: Retain suid guid bits in clone

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #41057 from rhcs-dashboard/wip-50475-octopus
Ernesto Puerta [Wed, 12 May 2021 11:16:44 +0000 (13:16 +0200)]
Merge pull request #41057 from rhcs-dashboard/wip-50475-octopus

octopus: mgr/dashboard: Remove username and password from request body

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
4 years agoMerge PR #40766 into octopus
Patrick Donnelly [Tue, 11 May 2021 19:51:15 +0000 (12:51 -0700)]
Merge PR #40766 into octopus

* refs/pull/40766/head:
doc/cephfs/nfs: Add rook pod restart note, export and log block example

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Varsha Rao <varao@redhat.com>
4 years agoMerge pull request #41252 from rhcs-dashboard/wip-50722-octopus
Ernesto Puerta [Tue, 11 May 2021 07:47:10 +0000 (09:47 +0200)]
Merge pull request #41252 from rhcs-dashboard/wip-50722-octopus

octopus: mgr/dashboard: fix base-href: revert it to previous approach

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
4 years agomgr/dashboard: fix base-href: revert it to previous approach 41252/head
Avan Thakkar [Fri, 7 May 2021 09:38:11 +0000 (15:08 +0530)]
mgr/dashboard: fix base-href: revert it to previous approach

Fixes: https://tracker.ceph.com/issues/50684
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit b6f92922f5c80223fd288d98ce85405a650c0135)

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/app.module.ts
     - Adopt the changes coming from master.

4 years agoMerge pull request #41124 from aaSharma14/wip-50582-octopus
Ernesto Puerta [Thu, 6 May 2021 09:58:09 +0000 (11:58 +0200)]
Merge pull request #41124 from aaSharma14/wip-50582-octopus

octopus: mgr/dashboard: OSDs placement text is unreadable

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
4 years agoMerge pull request #41017 from idryomov/wip-reset-authenticate-err-octopus
Yuri Weinstein [Wed, 5 May 2021 16:26:08 +0000 (09:26 -0700)]
Merge pull request #41017 from idryomov/wip-reset-authenticate-err-octopus

octopus: mon/MonClient: reset authenticate_err in _reopen_session()

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40988 from trociny/wip-50479-octopus
Yuri Weinstein [Wed, 5 May 2021 16:25:04 +0000 (09:25 -0700)]
Merge pull request #40988 from trociny/wip-50479-octopus

octopus: os/FileStore: don't propagate split/merge error to "create"/"remove"

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #40838 from mgfritch/octopus-backport-39415
Yuri Weinstein [Wed, 5 May 2021 16:24:29 +0000 (09:24 -0700)]
Merge pull request #40838 from mgfritch/octopus-backport-39415

octopus: cephadm: Allow to use paths in all <_devices> drivegroup sections

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agoMerge pull request #40823 from mgfritch/octopus-backport-39259
Yuri Weinstein [Wed, 5 May 2021 16:22:11 +0000 (09:22 -0700)]
Merge pull request #40823 from mgfritch/octopus-backport-39259

octopus: mgr/cephadm: on ssh connection error, advice chmod 0600

Reviewed-by: Adam King adking@redhat.com
4 years agomgr/dashboard:OSDs placement text is unreadable 41124/head
Aashish Sharma [Thu, 29 Apr 2021 12:57:59 +0000 (18:27 +0530)]
mgr/dashboard:OSDs placement text is unreadable

While displaying the host pattern in the OSDs placement tab, it gets splited with semi-colons. Also adjusted the column size of Container Image ID and Placement columns.

Fixes: https://tracker.ceph.com/issues/50580
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 543b02436f18876a56757226c686a5c2c33c7c33)

Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/services.component.ts (PlacementPipe takes i18n as input param)

4 years agoMerge pull request #41061 from dvanders/50550
Dan van der Ster [Wed, 28 Apr 2021 11:35:58 +0000 (13:35 +0200)]
Merge pull request #41061 from dvanders/50550

octopus: os/bluestore: be more verbose in _open_super_meta by default.

4 years agoos/bluestore: be more verbose in _open_super_meta by default. 41061/head
Igor Fedotov [Fri, 11 Oct 2019 14:34:58 +0000 (17:34 +0300)]
os/bluestore: be more verbose in _open_super_meta by default.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 4087f82aea674df4c7b485bf804f3a9c98ae3741)

4 years agomgr/dashboard: Remove username and password from request body 41057/head
Nizamudeen A [Wed, 21 Apr 2021 08:10:39 +0000 (13:40 +0530)]
mgr/dashboard: Remove username and password from request body

Fixes: https://tracker.ceph.com/issues/50451
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 273a776cad8065f568f17a05804aabd14625a1f0)

4 years agoMerge pull request #40894 from rhcs-dashboard/wip-50349-octopus
Ernesto Puerta [Tue, 27 Apr 2021 17:21:19 +0000 (19:21 +0200)]
Merge pull request #40894 from rhcs-dashboard/wip-50349-octopus

octopus: mgr/dashboard: improve telemetry opt-in reminder notification message

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
4 years agoMerge pull request #39987 from aaSharma14/wip-49657-octopus
Ernesto Puerta [Tue, 27 Apr 2021 17:18:29 +0000 (19:18 +0200)]
Merge pull request #39987 from aaSharma14/wip-49657-octopus

octopus: mgr/dashboard: test prometheus rules through promtool

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
4 years agoMerge pull request #40816 from rhcs-dashboard/wip-50170-octopus
Ernesto Puerta [Tue, 27 Apr 2021 17:14:42 +0000 (19:14 +0200)]
Merge pull request #40816 from rhcs-dashboard/wip-50170-octopus

octopus: mgr/dashboard: debug nodeenv hangs

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
4 years agoMerge pull request #41020 from rhcs-dashboard/wip-50416-octopus
Ernesto Puerta [Tue, 27 Apr 2021 17:11:23 +0000 (19:11 +0200)]
Merge pull request #41020 from rhcs-dashboard/wip-50416-octopus

octopus: mgr/dashboard: filesystem pool size should use stored stat

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
4 years agoMerge pull request #40433 from rhcs-dashboard/labels-badge-octopus
Ernesto Puerta [Tue, 27 Apr 2021 17:10:01 +0000 (19:10 +0200)]
Merge pull request #40433 from rhcs-dashboard/labels-badge-octopus

octopus: mgr/dashboard: Add badge to the Label column in Host List

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
4 years agoMerge pull request #39802 from p-se/wip-pse-cephadm-SUSE-alertmanager-octopus
Kefu Chai [Tue, 27 Apr 2021 06:12:55 +0000 (14:12 +0800)]
Merge pull request #39802 from p-se/wip-pse-cephadm-SUSE-alertmanager-octopus

octopus: `cephadm ls` broken for SUSE downstream alertmanager container

Reviewed-by: Sebastian Wagner <swagner@suse.com>
4 years agoMerge pull request #40364 from ideepika/wip-bug-48142-octopus
Kefu Chai [Tue, 27 Apr 2021 06:12:14 +0000 (14:12 +0800)]
Merge pull request #40364 from ideepika/wip-bug-48142-octopus

octopus: qa/suites/rados/cephadm/upgrade: change starting version by distro

Reviewed-by: Sage Weil <sage@redhat.com>
4 years agoMerge pull request #40589 from rhcs-dashboard/wip-50070-octopus
Kefu Chai [Tue, 27 Apr 2021 06:09:38 +0000 (14:09 +0800)]
Merge pull request #40589 from rhcs-dashboard/wip-50070-octopus

octopus: mgr/dashboard: Fix for alert notification message being undefined

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Waad Alkhoury <walkhour@redhat.com>
4 years agoMerge pull request #40758 from smithfarm/wip-50129-octopus
Kefu Chai [Tue, 27 Apr 2021 06:07:55 +0000 (14:07 +0800)]
Merge pull request #40758 from smithfarm/wip-50129-octopus

octopus: monmaptool: Don't call set_port on an invalid address

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40649 from rhcs-dashboard/wip-50204-octopus
Ernesto Puerta [Mon, 26 Apr 2021 08:06:35 +0000 (10:06 +0200)]
Merge pull request #40649 from rhcs-dashboard/wip-50204-octopus

octopus: mgr/dashboard: Revoke read-only user's access to Manager modules

Reviewed-by: Waad Alkhoury <walkhour@redhat.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
4 years agomgr/dashboard: filesystem pool size should use stored stat 41020/head
Avan Thakkar [Thu, 15 Apr 2021 13:28:52 +0000 (18:58 +0530)]
mgr/dashboard: filesystem pool size should use stored stat

Fixes: https://tracker.ceph.com/issues/50195
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Replaces 'bytes_used' with 'stored' stat to see the correct results
of CephFS pool stats.

(cherry picked from commit 7110fd4e0c257d20aa56591f05d74a2851a2fe00)

4 years agomon/MonClient: reset authenticate_err in _reopen_session() 41017/head
Ilya Dryomov [Thu, 22 Apr 2021 10:29:59 +0000 (12:29 +0200)]
mon/MonClient: reset authenticate_err in _reopen_session()

Otherwise, if "mon host" list has at least one unqualified IP address
without a port and both msgr1 and msgr2 are turned on, there is a race
affecting MonClient::authenticate().

For backwards compatibility reasons such an address is expanded into
two entries, each being treated as a separate monitor.  For example,
"mon host = 1.2.3.4" generates the following initial monmap:

  0: v1:1.2.3.4:6789/0
  1: v2:1.2.3.4:3300/0

See MonMap::_add_ambiguous_addr() for details.

Then, the following can happen:

1. we connect to both endpoints and attempt to authenticate
2. authenticate() sets authenticate_err to 1 and sleeps on auth_cond
3. msgr1 authenticates first (i.e. it gets the final MAuth message
   before msgr2 gets the monmap)
4. active_con is set to msgr1 connection, msgr2 connection is closed
   as redundant
5. _finish_auth() sets authenticate_err to 0 and signals auth_cond,
   but before either the monmap is received or authenticate() wakes
   up, msgr1 connection is closed due to a network hiccup
6. ms_handle_reset() calls _reopen_session() which clears active_con
   and again connects to both endpoints and attempts to authenticate
7. authenticate() wakes up, sees that there is no active_con and goes
   back to sleep, but this time with authenticate_err == 0
8. msgr2 authenticates first but doesn't call _finish_auth() because
   it is called only if authenticate_err == 1
9. active_con is set to msgr2 connection, msgr1 connection is closed
   as redundant
10. authenticate() hangs on auth_cond until timeout defaulting to 5
    minutes

The discrepancy between msgr1 and msgr2 plays a key role.  For msgr1,
authentication is considered to be complete as soon as the final MAuth
message is received -- the monmap is not waited for.  For msgr2,
authentication is considered to be complete only after the monmap is
received.

Avoid the race by setting authenticate_err to 1 in _reopen_session(),
so that _finish_auth() is called on/after every authentication attempt
instead of just the first one.

Fixes: https://tracker.ceph.com/issues/50477
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 8c9de31c9806629d22c30b35769e664446090046)

4 years agomon/MonClient: remove reopen_session() callback mechanism
Ilya Dryomov [Thu, 22 Apr 2021 10:29:59 +0000 (12:29 +0200)]
mon/MonClient: remove reopen_session() callback mechanism

It's been unused for over 5 years, since commit 17d24292b812 ("osd:
remove old stats backoff mechanism").

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 853c04b5a66721755830c5b46b695f6c86cb406b)

4 years agoMerge pull request #40491 from aaSharma14/wip-50049-octopus
Kefu Chai [Sun, 25 Apr 2021 02:55:22 +0000 (10:55 +0800)]
Merge pull request #40491 from aaSharma14/wip-50049-octopus

octopus: mgr/dashboard: Remove username, password fields from Manager Modules/dashboard,influx

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Waad Alkhoury <walkhour@redhat.com>
4 years agoMerge pull request #40495 from aaSharma14/wip-50052-octopus
Kefu Chai [Sun, 25 Apr 2021 02:54:12 +0000 (10:54 +0800)]
Merge pull request #40495 from aaSharma14/wip-50052-octopus

octopus: mgr/dashboard: Device health status is not getting listed under hosts section

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
4 years agoMerge pull request #40550 from idryomov/wip-remove-log-early-octopus
Kefu Chai [Sun, 25 Apr 2021 02:53:01 +0000 (10:53 +0800)]
Merge pull request #40550 from idryomov/wip-remove-log-early-octopus

octopus: common: remove log_early configuration option

Reviewed-by: Sage Weil <sage@redhat.com>
4 years agoMerge pull request #40558 from singuliere/wip-49917-octopus
Kefu Chai [Sun, 25 Apr 2021 02:52:22 +0000 (10:52 +0800)]
Merge pull request #40558 from singuliere/wip-49917-octopus

octopus: mon/OSDMonitor: drop stale failure_info after a grace period

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40699 from smithfarm/wip-50123-octopus
Kefu Chai [Sun, 25 Apr 2021 02:51:37 +0000 (10:51 +0800)]
Merge pull request #40699 from smithfarm/wip-50123-octopus

octopus: mon: Modifying trim logic to change paxos_service_trim_max dynamically

Reviewed-by: Aishwarya Mathuria <amathuri@redhat.com>
4 years agoMerge pull request #40756 from smithfarm/wip-49566-octopus
Kefu Chai [Sun, 25 Apr 2021 02:49:49 +0000 (10:49 +0800)]
Merge pull request #40756 from smithfarm/wip-49566-octopus

octopus: tests: ceph_test_rados_api_watch_notify: Allow for reconnect

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
4 years agoMerge pull request #40757 from smithfarm/wip-49816-octopus
Kefu Chai [Sun, 25 Apr 2021 02:49:01 +0000 (10:49 +0800)]
Merge pull request #40757 from smithfarm/wip-49816-octopus

octopus: mon/MgrMonitor: populate available_modules from promote_standby()

Reviewed-by: Sage Weil <sage@redhat.com>
4 years agoMerge pull request #40788 from smithfarm/wip-49732-octopus
Kefu Chai [Sun, 25 Apr 2021 02:48:01 +0000 (10:48 +0800)]
Merge pull request #40788 from smithfarm/wip-49732-octopus

octopus: osd: do not dump an osd multiple times

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40791 from smithfarm/wip-50120-octopus
Kefu Chai [Sun, 25 Apr 2021 02:47:27 +0000 (10:47 +0800)]
Merge pull request #40791 from smithfarm/wip-50120-octopus

octopus:  crush/CrushLocation: do not print logging message in constructor

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40792 from smithfarm/wip-50143-octopus
Kefu Chai [Sun, 25 Apr 2021 02:47:08 +0000 (10:47 +0800)]
Merge pull request #40792 from smithfarm/wip-50143-octopus

octopus: qa/tasks/vstart_runner.py: start max required mgrs

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
4 years agoMerge pull request #40793 from smithfarm/wip-50210-octopus
Kefu Chai [Sun, 25 Apr 2021 02:46:31 +0000 (10:46 +0800)]
Merge pull request #40793 from smithfarm/wip-50210-octopus

octopus: os/bluestore/BlueFS: do not _flush_range deleted files

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40789 from smithfarm/wip-49378-octopus
Kefu Chai [Sat, 24 Apr 2021 10:00:49 +0000 (18:00 +0800)]
Merge pull request #40789 from smithfarm/wip-49378-octopus

octopus: cmake: build static libs if they are internal ones

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40812 from yuvalif/wip-yuval-fix-48462
Yuri Weinstein [Fri, 23 Apr 2021 20:01:42 +0000 (13:01 -0700)]
Merge pull request #40812 from yuvalif/wip-yuval-fix-48462

octopus: rgw/notification: support GetTopicAttributes API

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #40755 from smithfarm/wip-50213-octopus
Yuri Weinstein [Fri, 23 Apr 2021 20:01:10 +0000 (13:01 -0700)]
Merge pull request #40755 from smithfarm/wip-50213-octopus

octopus: rgw: objectlock: improve client error messages

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agomgr/dashboard:Simplify some complex calculations in test_alerts.yml 39987/head
Aashish Sharma [Thu, 25 Mar 2021 05:55:37 +0000 (11:25 +0530)]
mgr/dashboard:Simplify some complex calculations in test_alerts.yml

run-promtool-unittests is failing with difference in floating point values in some complex calculations. This PR intends to simplify those calculations and fix this issue.

Fixes: https://tracker.ceph.com/issues/49952
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 8d2f39e6c568afb6880689160212bcc93057e194)

4 years agoceph.spec,install-deps: use golang-github-prometheus for promtools
Kefu Chai [Mon, 22 Mar 2021 06:07:54 +0000 (14:07 +0800)]
ceph.spec,install-deps: use golang-github-prometheus for promtools

instead of installing docker for using promtools, install
golang-github-prometheus.

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit e33e3a931db97d01318643ec686fe63fdd614082)

Conflicts:
install-deps.sh (changed dnf to yumdnf)

4 years agotest: run promtool test without docker on ubuntu/focal
Kefu Chai [Fri, 19 Mar 2021 02:32:16 +0000 (10:32 +0800)]
test: run promtool test without docker on ubuntu/focal

before this change, we use docker for running promtools offered by
a docker image, but this is not efficient, and quite a few developers
do not want to use docker for running "make check". this change was
introduced by #39246, the reason was that, in Ceph's CI process, we
are using Ubuntu/Bionic for running "make check" jobs, but prometheus
packaged by Bionic does not offer the "test rules" command. so, to
address problem, we are using "dnanexus/promtool:2.9.2" docker image
for verifying monitoring/prometheus/alerts/test_alerts.yml.

after this change, we use prometheus packaged by debian derivatives
instead of pulling a docker image.

* debian/control: add prometheus as a "make check" dependency
* install-deps.sh: partially revert
  53a5816deda0874a3a37e131e9bc22d88bb2a588, as we don't need to
  pull docker or start docker service for using promtool anymore.
* cmake: check if promtool is capable of running "test rules"
  command, bail out if it is not.

see also: https://tracker.ceph.com/issues/49653

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit f381aa8bf0e175940153975fa1534ef0559ecadd)

4 years agomgr/dashboard:test prometheus rules through promtool
Aashish Sharma [Wed, 3 Feb 2021 07:23:56 +0000 (12:53 +0530)]
mgr/dashboard:test prometheus rules through promtool

This PR intends to add unit testing for prometheus rules using promtool. To run the tests run 'run-promtool-unittests.sh' file.

Fixes: https://tracker.ceph.com/issues/45415
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 53a5816deda0874a3a37e131e9bc22d88bb2a588)

Conflicts:
install-deps.sh (changed dnf to yumdnf)

4 years agoos/FileStore: don't propagate split/merge error to "create"/"remove" 40988/head
Mykola Golub [Mon, 19 Apr 2021 07:32:01 +0000 (08:32 +0100)]
os/FileStore: don't propagate split/merge error to "create"/"remove"

Either ignore or terminate, otherwise it may confuse the
"create"/"remove" caller.

Fixes: https://tracker.ceph.com/issues/50395
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 936898b8caf7b13a120ea6108df0b0dac29882c4)

4 years agomgr/dashboard: Device health status is not getting listed under hosts section 40495/head
Aashish Sharma [Thu, 11 Mar 2021 06:06:22 +0000 (11:36 +0530)]
mgr/dashboard: Device health status is not getting listed under hosts section

Device health is shown as failed to retrieve data under Hosts > Device Health section. This PR intends to fix this issue.

Fixes: https://tracker.ceph.com/issues/49354
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 8f4574696c5272de4be6cbcbd3a8fc713d6b604e)

4 years agomgr/dashboard: Remove username, password fileds from -Cluster/Manager Modules/dashboard 40491/head
Aashish Sharma [Mon, 8 Mar 2021 09:44:00 +0000 (15:14 +0530)]
mgr/dashboard: Remove username, password fileds from -Cluster/Manager Modules/dashboard

Username, password fields are empty in Cluster/Manager Modules/dashboard.Since this functionality is when dashboard supported single user-password, now we need to remove these fields from here.

Fixes: https://tracker.ceph.com/issues/49645
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit d8fba40d982bb1ad824961aa210475bd7aa51524)

4 years agoMerge pull request #40790 from smithfarm/wip-50081-octopus 40999/head
Yuri Weinstein [Wed, 21 Apr 2021 18:38:55 +0000 (11:38 -0700)]
Merge pull request #40790 from smithfarm/wip-50081-octopus

octopus: rbd-mirror: fix UB while registering perf counters

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
4 years agoMerge pull request #40666 from idryomov/wip-require-ceph-common-for-ioc-octopus
Nathan Cutler [Wed, 21 Apr 2021 17:39:14 +0000 (19:39 +0200)]
Merge pull request #40666 from idryomov/wip-require-ceph-common-for-ioc-octopus

octopus: packaging: require ceph-common for immutable object cache daemon

Reviewed-by: Nathan Cutler <ncutler@suse.com>
4 years agoMerge pull request #40958 from rhcs-dashboard/wip-50457-octopus
Ilya Dryomov [Wed, 21 Apr 2021 16:00:19 +0000 (18:00 +0200)]
Merge pull request #40958 from rhcs-dashboard/wip-50457-octopus

octopus: vstart.sh: disable "auth_allow_insecure_global_id_reclaim"

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
4 years agovstart.sh: disable "auth_allow_insecure_global_id_reclaim" 40958/head
Kefu Chai [Thu, 15 Apr 2021 13:07:53 +0000 (21:07 +0800)]
vstart.sh: disable "auth_allow_insecure_global_id_reclaim"

to silence the health warning of "mons are allowing insecure global_id
reclaim", which prevents the cluster from being active+clean. couple
tests are expecting a warning free cluster before they starts.

as this option is enabled by default for appeasing the old clients, but when it
comes to most of upstream testing, we can just disable it.

Fixes: https://tracker.ceph.com/issues/50374
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 77a8376d0731c24e7bbf24523d3d7450e9f978af)

4 years agoMerge branch 'octopus-saved' into octopus
Ilya Dryomov [Tue, 20 Apr 2021 08:57:53 +0000 (10:57 +0200)]
Merge branch 'octopus-saved' into octopus

4 years ago15.2.11 v15.2.11
Jenkins Build Slave User [Mon, 19 Apr 2021 13:47:30 +0000 (13:47 +0000)]
15.2.11

4 years agomgr/dashboard: improve telemetry opt-in reminder notification message 40894/head
Waad Alkhoury [Tue, 30 Mar 2021 06:38:01 +0000 (08:38 +0200)]
mgr/dashboard: improve telemetry opt-in reminder notification message

Added activition button and linked the word telemetry to telemetry documentation

Fixes: https://tracker.ceph.com/issues/49606
(cherry picked from commit 527d912b878087672ab537b59e3addf35108a77c)
Signed-off-by: Waad Alkhoury <walkhour@redhat.com>
4 years agoauth/cephx: make KeyServer::build_session_auth_info() less confusing
Ilya Dryomov [Thu, 15 Apr 2021 13:18:58 +0000 (15:18 +0200)]
auth/cephx: make KeyServer::build_session_auth_info() less confusing

The second KeyServer::build_session_auth_info() overload is used only
by the monitor, for mon <-> mon authentication.  The monitor passes in
service_secret (mon secret) and secret_id (-1).  The TTL is irrelevant
because there is no rotation.

However the signature doesn't make it obvious.  Clarify that
service_secret and secret_id are input parameters and info is the only
output parameter.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 6f12cd3688b753633c8ff29fb3bd64758f960b2b)

4 years agoauth/cephx: cap ticket validity by expiration of "next" key
Ilya Dryomov [Thu, 15 Apr 2021 07:48:13 +0000 (09:48 +0200)]
auth/cephx: cap ticket validity by expiration of "next" key

If auth_mon_ticket_ttl is increased by several times as done in
commit 522a52e6c258 ("auth/cephx: rotate auth tickets less often"),
active clients eventually get stuck because the monitor sends out an
auth ticket with a bogus validity.  The ticket is secured with the
"current" secret that is scheduled to expire according to the old TTL,
but the validity of the ticket is set to the new TTL.  As a result,
the client simply doesn't attempt to renew, letting the secrets rotate
potentially more than once.  When that happens, the client first hits
auth authorizer errors as it tries to renew service tickets and when
it finally gets to renewing the auth ticket, it hits the insecure
global_id reclaim wall.

Cap TTL by expiration of "next" key -- the "current" key may be
milliseconds away from expiration and still be used, legitimately.
Do it in KeyServerData alongside key rotation code and propagate the
capped TTL to the upper layer.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 370c9b13970d47a55b1b20ef983c6f01236c9565)

4 years agoauth/cephx: drop redundant KeyServerData::get_service_secret() overload
Ilya Dryomov [Thu, 15 Apr 2021 07:47:50 +0000 (09:47 +0200)]
auth/cephx: drop redundant KeyServerData::get_service_secret() overload

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 3078af716505ae754723864786a41a6d6af0534c)

4 years agomgr/dashboard: debug nodeenv hangs 40816/head
Ernesto Puerta [Tue, 6 Apr 2021 11:45:15 +0000 (13:45 +0200)]
mgr/dashboard: debug nodeenv hangs

Increase verbosity in nodeenv command for debugging purposes.

Fixes: https://tracker.ceph.com/issues/50044
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
(cherry picked from commit 2c2a397f84455147e1cc5c7b5fc1289e47bbe5ee)

 Conflicts:
make-dist
src/pybind/mgr/dashboard/CMakeLists.txt
    - Adopted the master branch changes.

(cherry picked from commit 11838fb544189a59cc02ff768585bfdaa7347ef6)

4 years agomgr/dashboard: Fix for alert notification message being undefined 40589/head
Nizamudeen A [Tue, 23 Mar 2021 07:10:46 +0000 (12:40 +0530)]
mgr/dashboard: Fix for alert notification message being undefined

Prometheus alert notification message in the dashboard always comes up
as undefined. Its because we were showing the alert.summary instead of
alert.description for displaying the message. I couldn't find the
summary field in the ceph_default_alerts.yml file. So removed all the
Summary fields from the dashboard code.

Fixes: https://tracker.ceph.com/issues/49342
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 2921b2e9a939e1ad52b07327fdf84885568384b9)

4 years agocephadm: Allow to use paths in all <_devices> drivegroup sections 40838/head
Juan Miguel Olmo Martínez [Thu, 11 Feb 2021 12:19:07 +0000 (13:19 +0100)]
cephadm: Allow to use paths in all <_devices> drivegroup sections

This will allow to use specific device paths in any osd component.

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
(cherry picked from commit d02683efbfcd5aa1437ebb9e73f89db38f7e7aa6)

4 years agoqa/standalone: default to disable insecure global id reclaim
Sage Weil [Sun, 28 Mar 2021 22:07:57 +0000 (18:07 -0400)]
qa/standalone: default to disable insecure global id reclaim

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 72c4fc75ad301980baebc7789ed6391444057e5b)

4 years agoqa/suites/upgrade/octopus-x: disable insecure global_id reclaim health warnings
Sage Weil [Thu, 25 Mar 2021 17:36:56 +0000 (13:36 -0400)]
qa/suites/upgrade/octopus-x: disable insecure global_id reclaim health warnings

These will trigger on upgrade; suppress them so that our health gates
will still work.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 3e80f61efeafc186ea8130984d64c05b2707d6ba)

Conflicts:
qa/suites/rados/cephadm/upgrade/3-start-upgrade.yaml [ commit
  04a3d4c927e7 ("qa/suites/rados/cephadm/upgrade: deploy a legacy
  r.z-style rgw") not in octopus ]
qa/suites/upgrade/octopus-x/parallel/1-tasks.yaml [ no octopus-x
  upgrade suite in octopus ]
qa/suites/upgrade/octopus-x/rgw-multisite/overrides.yaml [ ditto ]
qa/suites/upgrade/octopus-x/stress-split/1-start.yaml [ ditto ]

4 years agoqa/tasks/ceph[adm].conf[.template]: disable insecure global_id reclaim health alerts
Sage Weil [Fri, 26 Mar 2021 22:08:46 +0000 (18:08 -0400)]
qa/tasks/ceph[adm].conf[.template]: disable insecure global_id reclaim health alerts

Turn these off everywhere for our tests so they don't interfere with our health checks.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 9f6fd4fe563c9cd4cf65316921d511b677c972e4)

4 years agocephadm: set auth_allow_insecure_global_id_reclaim for mon on bootstrap
Sage Weil [Fri, 26 Mar 2021 16:02:50 +0000 (12:02 -0400)]
cephadm: set auth_allow_insecure_global_id_reclaim for mon on bootstrap

If this is a fresh pacific cluster, let's assume that there won't be
legacy clients connecting.  (And if there are, let's put the burden on
the user to enable them to do so insecurely.)

This is in contrast to upgrades, where our focus is on not breaking
anything.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 7ca74183226b1125b29f4ea8f324ae9e38b46795)

Conflicts:
src/cephadm/cephadm [ commit 369989ebf90c ("cephadm: split-off
  config work on bootstrap") not in octopus ]

4 years agomon/HealthMonitor: raise AUTH_INSECURE_GLOBAL_ID_RENEWAL[_ALLOWED]
Sage Weil [Thu, 25 Mar 2021 22:07:53 +0000 (18:07 -0400)]
mon/HealthMonitor: raise AUTH_INSECURE_GLOBAL_ID_RENEWAL[_ALLOWED]

Two new alerts:

- AUTH_INSECURE_GLOBAL_ID_RENEWAL_ALLOWED if we are allowing clients to reclaim
global_ids in an insecure manner (for backwards compatibility until
clients are upgraded)

- AUTH_INSECURE_GLBOAL_ID_RENEWAL if there are currently clients connected that
do not know how to securely renew their global_id, as exposed by
auth_expose_insecure_global_id_reclaim=true.  The client auth names and IPs
are listed the alert details (up to a limit, at least).

The docs recommend operators mute these alerts instead of silencing, but
we still include option that allow the alerts to be disabled entirely.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 18b343b06e5dd904af425dc99e2c848e12f3b552)

Conflicts:
src/mon/HealthMonitor.cc [ commit e4bf716bfa07 ("mon: store
  a reference as member variable") not in octopus ]

4 years agoauth/cephx: ignore CEPH_ENTITY_TYPE_AUTH in requested keys
Ilya Dryomov [Tue, 2 Mar 2021 14:09:26 +0000 (15:09 +0100)]
auth/cephx: ignore CEPH_ENTITY_TYPE_AUTH in requested keys

When handling CEPHX_GET_AUTH_SESSION_KEY requests from nautilus+
clients, ignore CEPH_ENTITY_TYPE_AUTH in CephXAuthenticate::other_keys.
Similarly, when handling CEPHX_GET_PRINCIPAL_SESSION_KEY requests,
ignore CEPH_ENTITY_TYPE_AUTH in CephXServiceTicketRequest::keys.
These fields are intended for requesting service tickets, the auth
ticket (which is really a ticket granting ticket) must not be shared
this way.

Otherwise we end up sharing an auth ticket that a) isn't encrypted
with the old session key even if needed (should_enc_ticket == true)
and b) has the wrong validity, namely auth_service_ticket_ttl instead
of auth_mon_ticket_ttl.  In the CEPHX_GET_AUTH_SESSION_KEY case, this
undue ticket immediately supersedes the actual auth ticket already
encoded in the same reply (the reply frame ends up containing two auth
tickets).

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 05772ab6127bdd9ed2f63fceef840f197ecd9ea8)

4 years agoauth/cephx: rotate auth tickets less often
Ilya Dryomov [Mon, 22 Mar 2021 18:16:32 +0000 (19:16 +0100)]
auth/cephx: rotate auth tickets less often

If unauthorized global_id (re)use is disallowed, a client that has
been disconnected from the network long enough for keys to rotate
and its auth ticket to expire (i.e. become invalid/unverifiable)
would not be able to reconnect.

The default TTL is 12 hours, resulting in a 12-24 hour reconnect
window (the previous key is kept around, so the actual window can be
up to double the TTL).  The setting has stayed the same since 2009,
but it also hasn't been enforced.  Bump it to get a 72 hour reconnect
window to cover for something breaking on Friday and not getting fixed
until Monday.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 522a52e6c258932274f0753feb623ce008519216)

4 years agomon: fail fast when unauthorized global_id (re)use is disallowed
Ilya Dryomov [Thu, 25 Mar 2021 19:59:13 +0000 (20:59 +0100)]
mon: fail fast when unauthorized global_id (re)use is disallowed

When unauthorized global_id (re)use is disallowed, we don't want to
let unpatched clients in because they wouldn't be able to reestablish
their monitor session later, resulting in subtle hangs and disrupted
user workloads.

Denying the initial connect for all legacy (CephXAuthenticate < v3)
clients is not feasible because a large subset of them never stopped
presenting their ticket on reconnects and are therefore compatible with
enforcing mode: most notably all kernel clients but also pre-luminous
userspace clients.  They don't need to be patched and excluding them
would significantly hamper the adoption of enforcing mode.

Instead, force clients that we are not sure about to reconnect shortly
after they go through authentication and obtain global_id.  This is
done in Monitor::dispatch_op() to capture both msgr1 and msgr2, most
likely instead of dispatching mon_subscribe.

We need to let mon_getmap through for "ceph ping" and "ceph tell" to
work.  This does mean that we share the monmap, which lets the client
return from MonClient::authenticate() considering authentication to be
finished and causing the potential reconnect error to not propagate to
the user -- the client would hang waiting for remaining cluster maps.
For msgr1, this is unavoidable because the monmap is sent immediately
after the final MAuthReply.  But for msgr2 this is rare: most of the
time we get to their mon_subscribe and cut the connection before they
process the monmap!

Regardless, the user doesn't get a chance to start a workload since
there is no proper higher-level session at that point.

To help with identifying clients that need patching, add global_id and
global_id_status to "sessions" output.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 08766a17edebb7450cd9b17cc2dc01efc068bb94)

4 years agoauth/cephx: option to disallow unauthorized global_id (re)use
Ilya Dryomov [Sat, 13 Mar 2021 13:53:52 +0000 (14:53 +0100)]
auth/cephx: option to disallow unauthorized global_id (re)use

global_id is a cluster-wide unique id that must remain stable for the
lifetime of the client instance.  The cephx protocol has a facility to
allow clients to preserve their global_id across reconnects:

(1) the client should provide its global_id in the initial handshake
    message/frame and later include its auth ticket proving previous
    possession of that global_id in CEPHX_GET_AUTH_SESSION_KEY request

(2) the monitor should verify that the included auth ticket is valid
    and has the same global_id and, if so, allow the reclaim

(3) if the reclaim is allowed, the new auth ticket should be
    encrypted with the session key of the included auth ticket to
    ensure authenticity of the client performing reclaim.  (The
    included auth ticket could have been snooped when the monitor
    originally shared it with the client or any time the client
    provided it back to the monitor as part of requesting service
    tickets, but only the genuine client would have its session key
    and be able to decrypt.)

Unfortunately, all (1), (2) and (3) have been broken for a while:

- (1) was broken in 2016 by commit a2eb6ae3fb57 ("mon/monclient:
  hunt for multiple monitor in parallel") and is addressed in patch
  "mon/MonClient: preserve auth state on reconnects"

- it turns out that (2) has never been enforced.  When cephx was
  being designed and implemented in 2009, two changes to the protocol
  raced with each other pulling it in different directions: commits
  0669ca21f4f7 ("auth: reuse global_id when requesting tickets")
  and fec31964a12b ("auth: when renewing session, encrypt ticket")
  added the reclaim mechanism based strictly on auth tickets, while
  commit 5eeb711b6b2b ("auth: change server side negotiation a bit")
  allowed the client to provide global_id in the initial handshake.
  These changes didn't get reconciled and as a result a malicious
  client can assign itself any global_id of its choosing by simply
  passing something other than 0 in MAuth message or AUTH_REQUEST
  frame and not even bother supplying any ticket.  This includes
  getting a global_id that is being used by another client.

- (3) was broken in 2019 with addition of support for msgr2, where
  the new auth ticket ends up being shared unencrypted.  However the
  root cause is deeper and a malicious client can coerce msgr1 into
  the same.  This also goes back to 2009 and is addressed in patch
  "auth/cephx: ignore CEPH_ENTITY_TYPE_AUTH in requested keys".

Because (2) has never been enforced, no one noticed when (1) got
broken and we began to rely on this flaw for normal operation in
the face of reconnects due to network hiccups or otherwise.  As of
today, only pre-luminous userspace clients and kernel clients are
not exercising it on a daily basis.

Bump CephXAuthenticate version and use a dummy v3 to distinguish
between legacy clients that don't (may not) include their auth ticket
and new clients.  For new clients, unconditionally disallow claiming
global_id without a corresponding auth ticket.  For legacy clients,
introduce a choice between permissive (current behavior, default for
the foreseeable future) and enforcing mode.

If the reclaim is disallowed, return EACCES.  While MonClient does
have some provision for global_id changes and we could conceivably
implement enforcement by handing out a fresh global_id instead of
the provided one, those code paths have never been tested and there
are too many ways a sudden global_id change could go wrong.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit abebd643cc60fa8a7cb82dc29a9d5041fb3c3d36)

Conflicts:
src/auth/cephx/CephxProtocol.h [ bufferlist vs
  ceph::buffer::list ]
src/auth/cephx/CephxServiceHandler.h [ ditto ]
src/auth/none/AuthNoneServiceHandler.h [ ditto ]

4 years agoauth/cephx: make cephx_decode_ticket() take a const ticket_blob
Ilya Dryomov [Tue, 30 Mar 2021 09:10:17 +0000 (11:10 +0200)]
auth/cephx: make cephx_decode_ticket() take a const ticket_blob

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 6b860684c6e59b11c727206819805f89f0518575)

4 years agoauth/AuthServiceHandler: keep track of global_id and whether it is new
Ilya Dryomov [Tue, 9 Mar 2021 15:33:55 +0000 (16:33 +0100)]
auth/AuthServiceHandler: keep track of global_id and whether it is new

AuthServiceHandler already has global_id field, but it is unused.
Revive it and let the handler know whether global_id is newly assigned
by the monitor or provided by the client.

Lift the setting of entity_name into AuthServiceHandler.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit b50b6abd60e730176a7ef602bdd25d789a3c467d)

Conflicts:
src/auth/cephx/CephxServiceHandler.cc [ bufferlist vs
  ceph::buffer::list ]
src/auth/cephx/CephxServiceHandler.h [ ditto ]
src/auth/none/AuthNoneServiceHandler.h [ ditto ]

4 years agoauth/AuthServiceHandler: build_cephx_response_header() is cephx-specific
Ilya Dryomov [Tue, 9 Mar 2021 13:36:39 +0000 (14:36 +0100)]
auth/AuthServiceHandler: build_cephx_response_header() is cephx-specific

Make the one in CephxServiceHandler private and drop the stub in
AuthNoneServiceHandler.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 49cba02a750d4c1ab68399401f0c04f9c9be5b9e)

Conflicts:
src/auth/cephx/CephxServiceHandler.h [ bufferlist vs
  ceph::buffer::list ]
src/auth/none/AuthNoneServiceHandler.h [ ditto ]

4 years agoauth/AuthServiceHandler: drop unused start_session() args
Ilya Dryomov [Tue, 9 Mar 2021 13:25:39 +0000 (14:25 +0100)]
auth/AuthServiceHandler: drop unused start_session() args

session_key, connection_secret and connection_secret_required_length
aren't material for start_session() across all three implementations.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit c151c9659bdb71f30b520bbd62f91cc009ec51cd)

Conflicts:
src/auth/cephx/CephxServiceHandler.h [ bufferlist vs
  ceph::buffer::list ]
src/auth/none/AuthNoneServiceHandler.h [ ditto ]

4 years agomon/MonClient: drop global_id arg from _add_conn() and _add_conns()
Ilya Dryomov [Tue, 30 Mar 2021 13:19:41 +0000 (15:19 +0200)]
mon/MonClient: drop global_id arg from _add_conn() and _add_conns()

Passing anything but MonClient instance's global_id doesn't make
sense.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit a71f6e90d43cca5a79db92ca6a640598796ae7ee)

Conflicts:
src/mon/MonClient.cc [ commit 1e9b18008c5e ("mon: set
  MonClient::_add_conn return type to void") not in octopus ]
src/mon/MonClient.h [ ditto ]

4 years agomon/MonClient: reset auth state in shutdown()
Ilya Dryomov [Thu, 1 Apr 2021 08:55:36 +0000 (10:55 +0200)]
mon/MonClient: reset auth state in shutdown()

Destroying AuthClientHandler and not resetting global_id is another
way to get MonClient to send CEPHX_GET_AUTH_SESSION_KEY requests with
CephXAuthenticate::old_ticket not populated.  This is particularly
pertinent to get_monmap_and_config() which shuts down the bootstrap
MonClient between retry attempts.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit c9b022e07392979e7f9ea6c11484a7dd872cc235)

4 years agomon/MonClient: preserve auth state on reconnects
Ilya Dryomov [Mon, 8 Mar 2021 14:37:02 +0000 (15:37 +0100)]
mon/MonClient: preserve auth state on reconnects

Commit a2eb6ae3fb57 ("mon/monclient: hunt for multiple monitor in
parallel") introduced a regression where auth state (global_id and
AuthClientHandler) was no longer preserved on reconnects.  The ensuing
breakage was quickly noticed and prompted a follow-on fix 8bb6193c8f53
("mon/MonClient: persist global_id across re-connecting").

However, as evident from the subject, the follow-on fix only took
care of the global_id part.  AuthClientHandler is still destroyed
and all cephx tickets are discarded.  A new from-scratch instance
is created for each MonConnection and CEPHX_GET_AUTH_SESSION_KEY
requests end up with CephXAuthenticate::old_ticket not populated.
The bug is in MonClient, so both msgr1 and msgr2 are affected.

This should have resulted in a similar sort of breakage but didn't
because of a much larger bug.  The monitor should have denied the
attempt to reclaim global_id with no valid ticket proving previous
possession of that global_id presented.  Alas, it appears that this
aspect of the cephx protocol has never been enforced.  This is dealt
with in the next patch.

To fix the issue at hand, clone AuthClientHandler into each
MonConnection so that each respective CEPHX_GET_AUTH_SESSION_KEY
request gets a copy of the current auth ticket.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 236b536b28482ec9d8b872de03da7d702ce4787b)

Conflicts:
src/mon/MonClient.cc [ commit 1e9b18008c5e ("mon: set
  MonClient::_add_conn return type to void") not in octopus ]

4 years agomon/MonClient: claim active_con's auth explicitly
Ilya Dryomov [Sat, 6 Mar 2021 10:15:40 +0000 (11:15 +0100)]
mon/MonClient: claim active_con's auth explicitly

Eliminate confusion by moving auth from active_con into MonClient
instead of swapping them.

The existing MonClient::auth can be destroyed right away -- I don't
see why active_con would need it or a reason to delay its destruction
(which is what stashing in active_con effectively does).

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit eec24e4d119c57c7eb5119dc0083616a61b33b89)

4 years agomon/MonClient: resurrect "waiting for monmap|config" timeouts
Ilya Dryomov [Thu, 1 Apr 2021 08:07:00 +0000 (10:07 +0200)]
mon/MonClient: resurrect "waiting for monmap|config" timeouts

This fixes a regression introduced in commit 85157d5aae3d ("mon:
s/Mutex/ceph::mutex/").  Waiting for monmap and config indefinitely
is not just bad UX, it actually masks other more serious bugs.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 6faa18e0a8e8efba6bd2978942eb9909b6568d5c)

4 years agoqa/tasks/ceph.conf: shorten cephx TTL for testing 40662/head
Sage Weil [Mon, 5 Apr 2021 18:08:30 +0000 (13:08 -0500)]
qa/tasks/ceph.conf: shorten cephx TTL for testing

Rotate tickets frequently to exercise those code paths during testing.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 94df76244798cdc0bafd74c9e5197adb5aa990c0)

4 years agomgr/cephadm: on ssh connection error, advice chmod 0600 40823/head
Sebastian Wagner [Wed, 3 Feb 2021 12:56:09 +0000 (13:56 +0100)]
mgr/cephadm: on ssh connection error, advice chmod 0600

Fixes: https://tracker.ceph.com/issues/46551
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit e3fa11f40ebc28782c65b4f8ee5d69237eb63d7d)

4 years agoMerge pull request #39949 from sebastian-philipp/octopus-remove-18.04_podman
Kefu Chai [Mon, 12 Apr 2021 15:55:12 +0000 (23:55 +0800)]
Merge pull request #39949 from sebastian-philipp/octopus-remove-18.04_podman

octopus: qa/suites/rados/cephadm: rm ubuntu_18.04_podman

Reviewed-by: Sage Weil <sage@redhat.com>
4 years agoMerge pull request #40399 from rhcs-dashboard/wip-49971-octopus
Ernesto Puerta [Mon, 12 Apr 2021 15:39:02 +0000 (17:39 +0200)]
Merge pull request #40399 from rhcs-dashboard/wip-49971-octopus

octopus: mgr/dashboard: Fix for broken User management role cloning

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
4 years agoMerge pull request #40297 from rhcs-dashboard/split-tenant-octopus
Ernesto Puerta [Mon, 12 Apr 2021 15:38:27 +0000 (17:38 +0200)]
Merge pull request #40297 from rhcs-dashboard/split-tenant-octopus

octopus: mgr/dashboard: Splitting tenant$user when creating rgw user

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
4 years agoMerge pull request #40784 from tchaikov/octopus-boost-cmake
Kefu Chai [Mon, 12 Apr 2021 14:51:27 +0000 (22:51 +0800)]
Merge pull request #40784 from tchaikov/octopus-boost-cmake

octopus: cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT globaly

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agorgw/notification: support GetTopicAttributes API 40812/head
Yuval Lifshitz [Wed, 18 Nov 2020 16:43:16 +0000 (18:43 +0200)]
rgw/notification: support GetTopicAttributes API

fixes: https://tracker.ceph.com/issues/46296

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit 3906884aa66b7b6c976d6165cc3b5dfaa8f754c4)

Conflicts:
PendingReleaseNotes
src/rgw/rgw_rest_pubsub.cc

4 years agoos/bluestore/BlueFS: do not _flush_range deleted files 40793/head
weixinwei [Sun, 4 Apr 2021 05:30:10 +0000 (13:30 +0800)]
os/bluestore/BlueFS: do not _flush_range deleted files

Fixes: https://tracker.ceph.com/issues/49861
Signed-off-by: weixinwei <weixw3@lenovo.com>
(cherry picked from commit 744bd5271cfcd2d84bc908a1893bbdfd51d2f8f0)

4 years agoqa/tasks/vstart_runner.py: start max required mgrs 40792/head
Alfonso Martínez [Wed, 31 Mar 2021 08:11:50 +0000 (10:11 +0200)]
qa/tasks/vstart_runner.py: start max required mgrs

Pass environment copy with max required mgrs when shell kwarg is True.

Fixes: https://tracker.ceph.com/issues/50077
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
(cherry picked from commit 45e1134e3b36ca103cef727103905d3db2960758)

4 years agocrush/CrushLocation: do not print logging message in constructor 40791/head
Alex Wu [Mon, 29 Mar 2021 02:09:50 +0000 (22:09 -0400)]
crush/CrushLocation: do not print logging message in constructor

do not use logging facility in constructor, as CephContext::_log is set
after CephContext::crush_location is created in constructor of CephContext.

Fixes: https://tracker.ceph.com/issues/50047
Signed-off-by: Alex Wu <notmycupoftea@163.com>
(cherry picked from commit 68812a2a4f63e9fd7c33f14b7a00c54a6a21128e)