]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
2 years agocephadm: convert SNMPGateway create_daemon_conf to use write_new
John Mulligan [Tue, 6 Jun 2023 17:16:29 +0000 (13:16 -0400)]
cephadm: convert SNMPGateway create_daemon_conf to use write_new

While it is not entirely clear why this pattern of using os.open and
posix open flags instead of `open` directly was used I determined (using
strace) that the only major difference between these open flags and
those used by `open` was the lack of O_TRUNC. Unlike some other cases
this function does not use an intermediate temporary file.  This means
that if the file being written already exists and the data being written
is smaller then the remaining data will not be over-written.

Example:
```
$ cat existing
AAAAAAAA
$ cat existing
bbbAAAAA
```

I looked over the context that this function is used in and decided that
this behavior must not be intentional. Thus it should be safe
to convert this function to `write_new`.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 6ec5a5ead36a79ce331b6943296c401feea7a896)

2 years agocephadm: convert more temporary file writes to use write_new
John Mulligan [Tue, 6 Jun 2023 16:37:14 +0000 (12:37 -0400)]
cephadm: convert more temporary file writes to use write_new

Some functions are using the pattern:
```
with open(os.open(name + '.new, os.O_CREAT | os.O_WRONLY, 0o600), 'w') as f:
    f.write(...)
    os.rename(name + '.new', name)
```
While it is not entirely clear why this pattern was first used,
it accomplishes the same goal as `write_new` only directly calling
the posix open call. I analyzed the open flags for `write_new` and
these calls using `strace` and noted that the only significant
difference was the lack of O_TRUNC in these cases. Since the ".new"
files should not exist the lack of O_TRUC ought not make any difference.
With this decided we can convert these instances to `write_new`.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 5845a758fde8def526f89b050f2b51e6b3458ddd)

2 years agocephadm: convert _write_custom_conf_files to use write_new
John Mulligan [Tue, 6 Jun 2023 16:25:34 +0000 (12:25 -0400)]
cephadm: convert _write_custom_conf_files to use write_new

We double checked the meaning of "w+" and it will open the file
read-write. Since the file is never read there's no real reason
to keep it that way so its OK to convert to `write_new`.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 642985c6894f8f62a313cd70c915d066f9c53d6e)

2 years agocephadm: convert some functions to use write_new
John Mulligan [Tue, 6 Jun 2023 00:12:59 +0000 (20:12 -0400)]
cephadm: convert some functions to use write_new

Convert a lot of the basic uses of the pattern:
with open(...) as f:
  f.write(...)
  os.fchown(f, ...)  # sometimes
  os.fchmod(f, ...)  # sometimes
  os.rename(...)   # sometimes

These are the most obvious cases to convert to `write_new`
and should largely be uncontroversial.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 300f5bfcb5dd16ba916951bab90c95a1b76d07f4)

2 years agocephadm: create functional mock for fchown
John Mulligan [Tue, 6 Jun 2023 00:08:49 +0000 (20:08 -0400)]
cephadm: create functional mock for fchown

The pyfakefs library apparently doesn't have its own mock for os.fchown.
This means that code using fchown currently calls into a mock with
no affect on the fake fs. For some reason I don't fully understand,
existing test cases work because they don't always follow the pattern
of open-write-rename. Switching to `write_new`, which always does a
rename, breaks some of the assertions performed in the tests on the fake
fs. Add a mock fchown that updates the state of the fake fs so
that converting call sites to use `write_new` will continue to work.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 02b6ce8a44f234aa3fe30fe21d6f28d4e36d7af5)

2 years agocephadm: add unit tests for write_new
John Mulligan [Tue, 6 Jun 2023 18:03:23 +0000 (14:03 -0400)]
cephadm: add unit tests for write_new

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit d5794f3441cf8da3c9716e796f41f2585d80adcb)

2 years agocephadm: add write_new function for robust file writes
John Mulligan [Tue, 6 Jun 2023 00:12:10 +0000 (20:12 -0400)]
cephadm: add write_new function for robust file writes

The cephadm code has a very common pattern made of at least one of
the three following steps:
* call fchown on the open file to set ownership
* call fchmod on the open file to set permissions
* rename the file from a temp name to final name

Add the write_new function to encapsulate these common actions.
If owner is not None then fchown will be called.
If perms is not None then fchmod will be called.
An optional encoding value may be passed.
It always uses a temporary file as a temporary file ensures that
there can never be a partially written file even in the event of
a power outage or system crash.
Encapsulating this all into a function also allows us to make
changes to this approach in the future without touching every
call site using `open(..., "w")` etc.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 7a8bfb91af246e36242aee90c3f9245fcdf6a318)

2 years agoqa/workunits/cephadm: align test_cephadm.sh with new cephadm version
John Mulligan [Mon, 8 May 2023 17:54:32 +0000 (13:54 -0400)]
qa/workunits/cephadm: align test_cephadm.sh with new cephadm version

The `cephadm version` command no longer bases the output on the
container images, rather it uses a special python file added to the
zipapp during the build to report on the version of cephadm (the
binary).

The other option was to preserve this behavior and add a new version
command or make it behave differently depending on what options were
provided. I discussed the options with AMK in person and we decided that
changing the tests was preferable.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit bd59b8091929ff067fabd4c8ca7ad86b3723aa0f)

2 years agocephadm: add executes_early decorator to version command
John Mulligan [Thu, 27 Apr 2023 17:39:02 +0000 (13:39 -0400)]
cephadm: add executes_early decorator to version command

Add the executes_early decorator and apply it to the version command
such that the version command will function without the uaual
requirements and set up steps that a cephadm command needs.
This allows anyone with a binary, root or not, to check the version.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 20e38136d7baafdf74a43c09effeffec3040f952)

2 years agocephadm: get cephadm version information from zipapp module
John Mulligan [Thu, 27 Apr 2023 17:36:51 +0000 (13:36 -0400)]
cephadm: get cephadm version information from zipapp module

Use the `_version.py` module that gets embedded into the zipapp at build
time to print cephadm's own version information.
The version string printed is basically copied from the one printed by
the `ceph` command.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit cfa2d0de77b71a6b61b75cd0ea408065aa9fbd45)

2 years agocephadm: configure cmake to pass versioning values to build.py
John Mulligan [Tue, 27 Sep 2022 20:53:52 +0000 (16:53 -0400)]
cephadm: configure cmake to pass versioning values to build.py

These values are copied from the variable names used in `ceph.in` (the
file that becomes the `ceph` command).

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 9a3438a4d23d418c6fd0b6d7fa6cea1d2afac6aa)

2 years agocephadm: add generated version info file to zipapp
John Mulligan [Tue, 27 Sep 2022 20:51:57 +0000 (16:51 -0400)]
cephadm: add generated version info file to zipapp

Pass --set-version-var=KEY=VALUE cli options to the script and it
will create an embedded "_version.py" file in the zipapp containing
the passed parameters.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 99acb2782d2fa238ee92123000e69b5e50dfe085)

2 years agoMerge pull request #53123 from adk3798/wip-62530-reef
Adam King [Thu, 31 Aug 2023 17:33:45 +0000 (13:33 -0400)]
Merge pull request #53123 from adk3798/wip-62530-reef

reef: mgr/cephadm: allow draining host without removing conf/keyring files

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53122 from adk3798/wip-62467-reef
Adam King [Thu, 31 Aug 2023 17:32:21 +0000 (13:32 -0400)]
Merge pull request #53122 from adk3798/wip-62467-reef

reef: cephadm: add tcmu-runner to logrotate config

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53121 from adk3798/wip-62462-reef
Adam King [Thu, 31 Aug 2023 17:31:34 +0000 (13:31 -0400)]
Merge pull request #53121 from adk3798/wip-62462-reef

reef: cephadm: support for CA signed keys

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53120 from adk3798/wip-62446-reef
Adam King [Thu, 31 Aug 2023 17:30:28 +0000 (13:30 -0400)]
Merge pull request #53120 from adk3798/wip-62446-reef

reef: mgr/cephadm: Add "networks" parameter to orch apply rgw

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53119 from adk3798/wip-62244-reef
Adam King [Thu, 31 Aug 2023 17:29:19 +0000 (13:29 -0400)]
Merge pull request #53119 from adk3798/wip-62244-reef

reef: mgr/cephadm: storing prometheus/alertmanager credentials in monstore

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53115 from adk3798/wip-61684-reef
Adam King [Thu, 31 Aug 2023 17:28:05 +0000 (13:28 -0400)]
Merge pull request #53115 from adk3798/wip-61684-reef

reef: python-common/drive_group: handle fields outside of 'spec' even when 'spec' is provided

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53114 from adk3798/wip-61681-reef
Adam King [Thu, 31 Aug 2023 17:27:12 +0000 (13:27 -0400)]
Merge pull request #53114 from adk3798/wip-61681-reef

reef: python-common/drive_selection: lower log level of limit policy message

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53112 from adk3798/wip-61675-reef
Adam King [Thu, 31 Aug 2023 17:25:51 +0000 (13:25 -0400)]
Merge pull request #53112 from adk3798/wip-61675-reef

reef: mgr/cephadm: validate host label before removing

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53111 from adk3798/wip-61549-reef
Adam King [Thu, 31 Aug 2023 14:46:50 +0000 (10:46 -0400)]
Merge pull request #53111 from adk3798/wip-61549-reef

reef: mgr/cephadm: also don't write client files/tuned profiles to maintenance hosts

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53110 from adk3798/wip-61545-reef
Adam King [Thu, 31 Aug 2023 14:45:31 +0000 (10:45 -0400)]
Merge pull request #53110 from adk3798/wip-61545-reef

reef: cephadm: Adding support to configure public_network cfg section

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53109 from adk3798/wip-61542-reef
Adam King [Thu, 31 Aug 2023 14:44:26 +0000 (10:44 -0400)]
Merge pull request #53109 from adk3798/wip-61542-reef

reef: cephadm: delete /tmp/cephadm-<fsid> when removing the cluster

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53106 from adk3798/wip-61537-reef
Adam King [Thu, 31 Aug 2023 13:31:03 +0000 (09:31 -0400)]
Merge pull request #53106 from adk3798/wip-61537-reef

reef: mgr/cephadm: show meaningful messages when failing to execute cmds

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #53010 from adk3798/reef-cephadm-tcmu-extra-args
Adam King [Thu, 31 Aug 2023 13:29:28 +0000 (09:29 -0400)]
Merge pull request #53010 from adk3798/reef-cephadm-tcmu-extra-args

reef: cephadm: Fix extra_container_args for iSCSI

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #52908 from adk3798/reef-cephadm-debian-recommends
Adam King [Thu, 31 Aug 2023 13:28:39 +0000 (09:28 -0400)]
Merge pull request #52908 from adk3798/reef-cephadm-debian-recommends

reef: debian/control: add docker-ce as recommends for cephadm package

Reviewed-by: John Mulligan<jmulligan@redhat.com>
2 years agoMerge pull request #53233 from rhcs-dashboard/wip-62652-reef
Nizamudeen A [Thu, 31 Aug 2023 09:06:22 +0000 (14:36 +0530)]
Merge pull request #53233 from rhcs-dashboard/wip-62652-reef

reef: mgr/dashboard: subvolume rm with snapshots

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
2 years agomgr/dashboard: subvolume rm with snapshots
Pedro Gonzalez Gomez [Mon, 28 Aug 2023 13:03:06 +0000 (15:03 +0200)]
mgr/dashboard: subvolume rm with snapshots

Fixes: https://tracker.ceph.com/issues/62452
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
(cherry picked from commit 453fbcb1cf5da118edb64557ab7cc6efcbb57723)

2 years agoMerge pull request #53190 from rhcs-dashboard/wip-62563-reef
Nizamudeen A [Thu, 31 Aug 2023 05:30:24 +0000 (11:00 +0530)]
Merge pull request #53190 from rhcs-dashboard/wip-62563-reef

reef: mgr/dashboard: add e2e tests for cephfs management

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
2 years agoMerge pull request #53223 from rhcs-dashboard/wip-62598-reef
Nizamudeen A [Thu, 31 Aug 2023 05:18:13 +0000 (10:48 +0530)]
Merge pull request #53223 from rhcs-dashboard/wip-62598-reef

reef: mgr/dashboard: n/a entries behind primary snapshot mode

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2 years agoMerge pull request #53199 from zdover23/wip-doc-2023-08-29-backport-53198-to-reef
zdover23 [Wed, 30 Aug 2023 19:14:09 +0000 (05:14 +1000)]
Merge pull request #53199 from zdover23/wip-doc-2023-08-29-backport-53198-to-reef

reef: doc/cephadm: add ssh note to install.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/cephadm: add ssh note to install.rst
Zac Dover [Mon, 28 Aug 2023 22:55:19 +0000 (08:55 +1000)]
doc/cephadm: add ssh note to install.rst

Add a note instructing the reader to have ssh running before the
"cephadm bootstrap" command is run.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit f10781a281ef6a00a69d45dd6b78f29fd219f049)

2 years agoMerge pull request #53224 from zdover23/wip-doc-2023-08-30-backport-53213-to-reef
Anthony D'Atri [Wed, 30 Aug 2023 16:17:31 +0000 (12:17 -0400)]
Merge pull request #53224 from zdover23/wip-doc-2023-08-30-backport-53213-to-reef

reef: doc/cephadm: edit "Adding Hosts" in install.rst

2 years agodoc/cephadm: edit "Adding Hosts" in install.rst
Zac Dover [Tue, 29 Aug 2023 22:33:09 +0000 (08:33 +1000)]
doc/cephadm: edit "Adding Hosts" in install.rst

Edit the English in the "Adding Hosts" section of
doc/cephadm/install.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit f0df9e1ea95362b28ca516e3a2efaab6365de5ea)

2 years agomgr/dashboard: n/a entries behind primary snapshot mode
Pere Diaz Bou [Mon, 12 Jun 2023 09:16:33 +0000 (11:16 +0200)]
mgr/dashboard: n/a entries behind primary snapshot mode

Fixes: https://tracker.ceph.com/issues/62576
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com>
(cherry picked from commit 6066e37ad3c6bc43c3e5e4313a89265007e7d0d8)

2 years agoMerge pull request #53219 from rhcs-dashboard/wip-62640-reef
Nizamudeen A [Wed, 30 Aug 2023 11:07:49 +0000 (16:37 +0530)]
Merge pull request #53219 from rhcs-dashboard/wip-62640-reef

reef: mgr/dashboard: fix cephfs create form validator

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
2 years agomgr/dashboard: fix cephfs create form validator
Nizamudeen A [Tue, 29 Aug 2023 14:16:07 +0000 (19:46 +0530)]
mgr/dashboard: fix cephfs create form validator

dashboard was allowing to create a filesystem with / in its name but the
cli throws out error in doing so. And the created volume in dashboard
just gets ended up as a stale volume

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

2 years agoMerge pull request #53214 from rhcs-dashboard/wip-62631-reef
Nizamudeen A [Wed, 30 Aug 2023 08:21:14 +0000 (13:51 +0530)]
Merge pull request #53214 from rhcs-dashboard/wip-62631-reef

reef: mgr/dashboard: fix rgw page issues when hostname not resolvable

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
2 years agoMerge pull request #53209 from rhcs-dashboard/wip-62629-reef
Nizamudeen A [Wed, 30 Aug 2023 08:19:50 +0000 (13:49 +0530)]
Merge pull request #53209 from rhcs-dashboard/wip-62629-reef

reef: mgr/dashboard: fix progress bar color visibility

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
2 years agomgr/dashboard: fix rgw page issues when hostname not resolvable
Nizamudeen A [Thu, 24 Aug 2023 11:47:29 +0000 (17:17 +0530)]
mgr/dashboard: fix rgw page issues when hostname not resolvable

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

2 years agoMerge pull request #53201 from rhcs-dashboard/wip-62617-reef
Nizamudeen A [Tue, 29 Aug 2023 15:51:41 +0000 (21:21 +0530)]
Merge pull request #53201 from rhcs-dashboard/wip-62617-reef

reef: mgr/dashboard: set CORS header for unauthorized access

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
2 years agomgr/dashboard: fix progress bar color visibility
Nizamudeen A [Mon, 28 Aug 2023 15:33:48 +0000 (21:03 +0530)]
mgr/dashboard: fix progress bar color visibility

Side effect of a recent change https://github.com/ceph/ceph/pull/52915/files#diff-747a9554e053df3b4d3fcc144bfb5c002654dc0fd5aa59b0ec18db56d85d5b28R29

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

2 years agoMerge pull request #53173 from rhcs-dashboard/wip-62600-reef
Nizamudeen A [Tue, 29 Aug 2023 05:10:10 +0000 (10:40 +0530)]
Merge pull request #53173 from rhcs-dashboard/wip-62600-reef

reef: mgr/dashboard: disable protect if layering is not enabled on the image

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 years agomgr/dashboard: allow CORS for unauthorized access
Nizamudeen A [Mon, 28 Aug 2023 05:15:28 +0000 (10:45 +0530)]
mgr/dashboard: allow CORS for unauthorized access

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

2 years agomgr/dashboard: cephfs subvolume management e2e tests
Nizamudeen A [Fri, 18 Aug 2023 08:17:31 +0000 (13:47 +0530)]
mgr/dashboard: cephfs subvolume management e2e tests

includes subvolume and subvolume groups e2es

Also taking care of renaming of Volume to File Systems in the remaining
actions like Edit and Remove

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

2 years agomgr/dashboard: cleanup behave logics
Nizamudeen A [Fri, 18 Aug 2023 08:16:02 +0000 (13:46 +0530)]
mgr/dashboard: cleanup behave logics

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

2 years agomgr/dashboard: add e2e tests for cephfs management
Nizamudeen A [Sat, 5 Aug 2023 13:03:39 +0000 (18:33 +0530)]
mgr/dashboard: add e2e tests for cephfs management

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

2 years agoMerge pull request #53179 from zdover23/wip-doc-2023-08-28-backport-53096-to-reef
Anthony D'Atri [Mon, 28 Aug 2023 13:37:47 +0000 (09:37 -0400)]
Merge pull request #53179 from zdover23/wip-doc-2023-08-28-backport-53096-to-reef

reef: doc/start: edit os-recommendations.rst

2 years agodoc/start: edit os-recommendations.rst
Zac Dover [Wed, 23 Aug 2023 15:15:54 +0000 (01:15 +1000)]
doc/start: edit os-recommendations.rst

Improve the grammar in one sentence of the "Platforms" section of
doc/start/os-recommendations.rst. Improving that grammar involved
splitting the sentence into two sentences, but that's life. Update:
Anthony substantially rewrote this, so credit for this should rightly
go to him.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit e19b9cea62c56cbd73049957d69d5aac16a97c08)

2 years agomgr/dashboard: disable protect if layering is not enabled on the image
avanthakkar [Mon, 21 Aug 2023 13:34:53 +0000 (19:04 +0530)]
mgr/dashboard: disable protect if layering is not enabled on the image

Fixes: https://tracker.ceph.com/issues/62498
Signed-off-by: avanthakkar <avanjohn@gmail.com>
(cherry picked from commit 16e913f0ba3918732cfc9984f707379df65ac29a)

2 years agoMerge pull request #53142 from cloudbehl/wip-62348-reef
Nizamudeen A [Mon, 28 Aug 2023 04:44:49 +0000 (10:14 +0530)]
Merge pull request #53142 from cloudbehl/wip-62348-reef

reef: exposed the open api and telemetry links in details card

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 years agoMerge pull request #53143 from cloudbehl/wip-62561-reef
Nizamudeen A [Mon, 28 Aug 2023 04:38:29 +0000 (10:08 +0530)]
Merge pull request #53143 from cloudbehl/wip-62561-reef

reef: mgr/dashboard: minor usability improvements

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 years agoMerge pull request #53164 from zdover23/wip-doc-2023-08-27-backport-53163-to-reef
Anthony D'Atri [Sat, 26 Aug 2023 21:20:59 +0000 (17:20 -0400)]
Merge pull request #53164 from zdover23/wip-doc-2023-08-27-backport-53163-to-reef

reef: doc/cephadm: edit sentence in mgr.rst

2 years agodoc/cephadm: edit sentence in mgr.rst
Zac Dover [Sat, 26 Aug 2023 20:31:12 +0000 (06:31 +1000)]
doc/cephadm: edit sentence in mgr.rst

Improve the grammar in the first sentence of
doc/cephadm/services/mgr.rst. This is a small change, but I could not
resist.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 3b8877481a8de0a92a7b68a775915eb079744f23)

2 years agoMerge pull request #53162 from zdover23/wip-doc-2023-08-26-backport-53161-to-reef
Rongqi Sun [Sat, 26 Aug 2023 08:44:46 +0000 (16:44 +0800)]
Merge pull request #53162 from zdover23/wip-doc-2023-08-26-backport-53161-to-reef

reef: doc/cephadm: update cephadm reef version

2 years agodoc/cephadm: update cephadm reef version
Rongqi Sun [Sat, 26 Aug 2023 06:50:00 +0000 (14:50 +0800)]
doc/cephadm: update cephadm reef version

Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
(cherry picked from commit d9888a4223632e0e3f862b658699df8735ebda26)

2 years agoMerge pull request #53146 from zdover23/wip-doc-2023-08-25-backport-53125-to-reef
zdover23 [Fri, 25 Aug 2023 09:39:45 +0000 (19:39 +1000)]
Merge pull request #53146 from zdover23/wip-doc-2023-08-25-backport-53125-to-reef

reef: doc: expand and consolidate mds placement

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc: expand and consolidate mds placement
Patrick Donnelly [Thu, 24 Aug 2023 00:36:12 +0000 (20:36 -0400)]
doc: expand and consolidate mds placement

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2 years agomgr/dashboard: minor usability improvements
cloudbehl [Wed, 9 Aug 2023 07:12:14 +0000 (12:42 +0530)]
mgr/dashboard: minor usability improvements

Fixes: https://tracker.ceph.com/issues/62365
Signed-off-by: cloudbehl <cloudbehl@gmail.com>
(cherry picked from commit c49435e88992c90145553556811464872b5bf786)

2 years agomgr/dashboard: Add telemetry link in dashboard
cloudbehl [Wed, 9 Aug 2023 18:05:08 +0000 (23:35 +0530)]
mgr/dashboard: Add telemetry link in dashboard

Fixes: https://tracker.ceph.com/issues/62380
Signed-off-by: cloudbehl <cloudbehl@gmail.com>
2 years agomgr/dashboard: exposed the open api documentations to details card
dpandit [Mon, 7 Aug 2023 07:55:34 +0000 (13:25 +0530)]
mgr/dashboard: exposed the open api documentations to details card

Fixes: https://tracker.ceph.com/issues/62296
Signed-off-by: dpandit <dpandit@li-6f946d4c-287f-11b2-a85c-b0cb07ed936d.ibm.com>
(cherry picked from commit c6857988d25c3aef2979442d848049393f5febb8)

2 years agoMerge pull request #53128 from zdover23/wip-doc-2023-08-24-backport-53117-to-reef
Anthony D'Atri [Thu, 24 Aug 2023 13:37:28 +0000 (09:37 -0400)]
Merge pull request #53128 from zdover23/wip-doc-2023-08-24-backport-53117-to-reef

doc: correct option name

2 years agodoc: correct option name
Patrick Donnelly [Wed, 23 Aug 2023 20:23:46 +0000 (16:23 -0400)]
doc: correct option name

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 94129fc126043a42f50e8139c76ea3107ccacf14)

2 years agomgr/cephadm: add utils class for tracking special host labels
Adam King [Wed, 22 Feb 2023 19:07:58 +0000 (14:07 -0500)]
mgr/cephadm: add utils class for tracking special host labels

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 0e90c7e097c4dafafbb6b669949c2b1ea8de25c8)

2 years agomgr/cephadm: allow draining host without removing conf/keyring files
Adam King [Tue, 21 Feb 2023 18:53:32 +0000 (13:53 -0500)]
mgr/cephadm: allow draining host without removing conf/keyring files

Fixes: https://tracker.ceph.com/issues/58820
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 871aefb11d0a736d66150fee40c213f4210fead4)

2 years agocephadm: add tcmu-runner to logrotate config
Adam King [Fri, 2 Jun 2023 00:06:35 +0000 (20:06 -0400)]
cephadm: add tcmu-runner to logrotate config

This process could be used to set up the tcmu-runner
to log to a file much like other ceph daemons

- create /etc/tcmu directory
- create /etc/tcmu/tcmu.conf directory with default options
- change dir to /var/log
- change log level to 4
- add -v /etc/tcmu:/etc/tcmu to tcmu-runner container podman line in unit.run

In order to support this (mostly for debugging) we should
add tcmu-runner to the logrotate config

Fixes: https://tracker.ceph.com/issues/61571
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit d5d40e07cae8a1d6a94029c4354d146b0baa3971)

2 years agoqa/cephadm: add test for ca signed keys
Adam King [Fri, 7 Jul 2023 15:03:56 +0000 (11:03 -0400)]
qa/cephadm: add test for ca signed keys

Test that bootstraps with a CA signed key using
the use_ca_signed_key cephadm override. Then follows
up by doing a check-host on each host which verifies
the cephadm mgr module can reach and authenticate with
the nodes using the new key setup.

This probably should really be a workunit, but
I didn't want to create a full new section for
this test and I needed a section that didn't
already run the cephadm task for every test. I could
see this being moved into some sort of
"test_special_deployment_scenarios" section in the future

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 141af1c6b156da34418100629cd1407b74c681ad)

2 years agoqa/cephadm: add ca signed key to cephadm task
Adam King [Fri, 7 Jul 2023 14:36:39 +0000 (10:36 -0400)]
qa/cephadm: add ca signed key to cephadm task

To allow bootstrapping a cluster using a CA signed
key instead of the standard pubkey authentication.
Will allow explicit testing of this as we add support
for it

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit bef9617c51b426b1479c374f2055f34e3fe20ed1)

2 years agodoc/cephadm: document setting up CA signed keys in running cluster
Adam King [Sat, 3 Jun 2023 19:42:19 +0000 (15:42 -0400)]
doc/cephadm: document setting up CA signed keys in running cluster

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 2c837ea9cff44d6199ef68c03307e7ff3104adcf)

2 years agodoc/cephadm: document bootstrapping with CA signed keys
Adam King [Sat, 3 Jun 2023 19:28:05 +0000 (15:28 -0400)]
doc/cephadm: document bootstrapping with CA signed keys

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 6b4d9b4427608cb5d1c6e1b3fc958fba3ce0c22d)

2 years agodoc/cephadm: document how to pass self made SSH key pairs to bootstrap
Adam King [Sat, 3 Jun 2023 18:39:05 +0000 (14:39 -0400)]
doc/cephadm: document how to pass self made SSH key pairs to bootstrap

This didn't seem to exist in the install section of
the cephadm docs. Wanted to add it in before adding
documentation for bootstrapping with CA signed keys.

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit e09a3765476eedae28905b51b666bee92c6fcf8e)

2 years agomgr/cephadm: add support for CA signed SSH keys setups
Adam King [Sat, 3 Jun 2023 17:31:58 +0000 (13:31 -0400)]
mgr/cephadm: add support for CA signed SSH keys setups

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 50f74d6063b820230f57608a1f800dc2507a3e1f)

2 years agomgr/cephadm: Add "networks" parameter to orch apply rgw
Teoman ONAY [Wed, 26 Jul 2023 14:40:11 +0000 (16:40 +0200)]
mgr/cephadm: Add "networks" parameter to orch apply rgw

This parameter is available in specs but not available as a parameter.
Having it will ease its use in cephadm-adopt playbook in ceph-ansible.

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

Signed-off-by: Teoman ONAY <tonay@ibm.com>
(cherry picked from commit 7f33397c76540dff8ed724caf2aa14ac94c73e03)

2 years agousing json file to get alertmanager/prometheus credentials
Redouane Kachach [Fri, 14 Jul 2023 11:06:50 +0000 (13:06 +0200)]
using json file to get alertmanager/prometheus credentials

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit 519da2499a799a321900e995df0575ccf39a9c61)

2 years agomgr/cephadm: storing prometheus/alertmanager credentials in monstore
Redouane Kachach [Fri, 9 Jun 2023 13:22:14 +0000 (15:22 +0200)]
mgr/cephadm: storing prometheus/alertmanager credentials in monstore
Fixes: https://tracker.ceph.com/issues/61628
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit 7cfa21dd49879137b7ca1770856c8a3b4a2be6ef)

Conflicts:
src/pybind/mgr/cephadm/module.py

2 years agopython-common/drive_group: handle fields outside of 'spec' even when 'spec' is provided
Adam King [Wed, 31 May 2023 17:08:35 +0000 (13:08 -0400)]
python-common/drive_group: handle fields outside of 'spec' even when 'spec' is provided

Otherwise certain specs such as

service_type: osd
service_id: xxx
service_name: osd.xxx
placement:
  hosts:
  - vm-00
spec:
  osds_per_device: 2
data_devices:
  paths:
  - /dev/vde

fail to apply with

Error EINVAL: ServiceSpec: 'dict' object has no attribute 'validate'

which is not a useful error message. This is caused by the
spec assuming all osd specific fields are either defined
in the 'spec' section or outside of it, but not mixed in.
We could also just consider these specs to be invalid
and just raise a better error message, but it seems easier
to make the minor adjustment for it to work, given there doesn't
seem to be an issue with mixing the styles for specs for
other service types.

Fixes: https://tracker.ceph.com/issues/61533
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 12901f617d9f21dcc4de9b039b7ab6484fbc99ca)

2 years agopython-common/drive_selection: lower log level of limit policy message
Adam King [Mon, 5 Jun 2023 17:18:06 +0000 (13:18 -0400)]
python-common/drive_selection: lower log level of limit policy message

This gets logged every time cephadm tries to apply a
relevant OSD spec and ends up spamming the logs. There's no reason
we really need this to be at info rather than debug level,
so let's lower it.

Fixes: https://tracker.ceph.com/issues/61592
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 20478025696b4ef39ca3e50c7cbfdb1250f85cfd)

2 years agomgr/cephadm: validate host label before removing
Redouane Kachach [Mon, 29 May 2023 16:10:15 +0000 (18:10 +0200)]
mgr/cephadm: validate host label before removing
Fixes: https://tracker.ceph.com/issues/61494
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit 9eaafb90311053c4241b471092108cbaf3352c23)

2 years agomgr/cephadm: also don't write client files/tuned profiles to maintenance hosts
Adam King [Thu, 4 May 2023 16:55:55 +0000 (12:55 -0400)]
mgr/cephadm: also don't write client files/tuned profiles to maintenance hosts

Since they could have been taken offline for maintenance,
they should be treated the same as offline hosts in this
case and we should avoid trying to write files to them

Fixes: https://tracker.ceph.com/issues/59650
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 4244d83f70abf4331a055dbeaa6fc2f0d7814bb6)

2 years agocephadm: Adding support to configure public_network cfg section
Redouane Kachach [Mon, 22 May 2023 09:15:07 +0000 (11:15 +0200)]
cephadm: Adding support to configure public_network cfg section
Fixes: https://tracker.ceph.com/issues/61330
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit 50811d114ec91a3e5e340f6845870597ea498b35)

2 years agocephadm: delete /tmp/cephadm-<fsid> when removing the cluster
Redouane Kachach [Tue, 23 May 2023 10:14:20 +0000 (12:14 +0200)]
cephadm: delete /tmp/cephadm-<fsid> when removing the cluster
Fixes: https://tracker.ceph.com/issues/61361
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit 0c742857d8789f984fe67122bdb32b8d4c1840fe)

2 years agomgr/cephadm: show meaningful messages when failing to execute cmds
Redouane Kachach [Fri, 31 Mar 2023 07:04:10 +0000 (09:04 +0200)]
mgr/cephadm: show meaningful messages when failing to execute cmds
Fixes: https://tracker.ceph.com/issues/59254
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
(cherry picked from commit a66bdaafbc26098faf6a105c2e0109816d63ad35)

2 years agoMerge pull request #53094 from zdover23/wip-doc-2023-08-23-backport-53076-to-reef
Anthony D'Atri [Wed, 23 Aug 2023 13:27:08 +0000 (09:27 -0400)]
Merge pull request #53094 from zdover23/wip-doc-2023-08-23-backport-53076-to-reef

reef: doc/start: refactor ABC test chart

2 years agoMerge pull request #53090 from cloudbehl/wip-62540-reef
Avan [Wed, 23 Aug 2023 13:19:36 +0000 (18:49 +0530)]
Merge pull request #53090 from cloudbehl/wip-62540-reef

reef: Overview graph improvements

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
2 years agodoc/start: refactor ABC test chart
Zac Dover [Tue, 22 Aug 2023 05:30:21 +0000 (15:30 +1000)]
doc/start: refactor ABC test chart

Refactor the ABC test chart so that the information about which tests
have been run is presented in the center of the chart instead of, as it
was before, in a superscript.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit ea1dc3c027d505aefb5a7f5cff2eb9ef441de609)

2 years agomgr/dashboard: Overview graph improvemntments
cloudbehl [Thu, 10 Aug 2023 12:20:38 +0000 (17:50 +0530)]
mgr/dashboard: Overview graph improvemntments

Fixes: https://tracker.ceph.com/issues/62367
Signed-off-by: cloudbehl <cloudbehl@gmail.com>
(cherry picked from commit 9fcc176162d39e5797042de301ffa0dea7f0254c)

2 years agoMerge pull request #52880 from idryomov/wip-52913-reef
Yuri Weinstein [Tue, 22 Aug 2023 21:18:32 +0000 (14:18 -0700)]
Merge pull request #52880 from idryomov/wip-52913-reef

reef: rbd-mirror: fix image replayer shut down description on force promote

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
2 years agoMerge pull request #52816 from cbodley/wip-62323-reef
Yuri Weinstein [Tue, 22 Aug 2023 21:16:03 +0000 (14:16 -0700)]
Merge pull request #52816 from cbodley/wip-62323-reef

reef: rgw: fetch_remote_obj() preserves original part lengths for BlockDecrypt

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2 years agoMerge pull request #52798 from cbodley/wip-62301-reef
Yuri Weinstein [Tue, 22 Aug 2023 21:15:25 +0000 (14:15 -0700)]
Merge pull request #52798 from cbodley/wip-62301-reef

reef: rgw: retry metadata cache notifications with INVALIDATE_OBJ

Reviewed-by: Adam Emerson <aemerson@redhat.com>
2 years agoMerge pull request #52796 from cbodley/wip-62311-reef
Yuri Weinstein [Tue, 22 Aug 2023 21:14:35 +0000 (14:14 -0700)]
Merge pull request #52796 from cbodley/wip-62311-reef

reef: rgw/crypt: apply rgw_crypt_default_encryption_key by default

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
2 years agoMerge pull request #52627 from nbalacha/wip-62113-reef
Yuri Weinstein [Tue, 22 Aug 2023 21:13:46 +0000 (14:13 -0700)]
Merge pull request #52627 from nbalacha/wip-62113-reef

reef: rbd-mirror: fix race preventing local image deletion

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
2 years agoMerge pull request #53075 from zdover23/wip-doc-2023-08-22-backport-53069-to-reef
Anthony D'Atri [Tue, 22 Aug 2023 16:41:19 +0000 (12:41 -0400)]
Merge pull request #53075 from zdover23/wip-doc-2023-08-22-backport-53069-to-reef

reef: doc/start: update "platforms" table

2 years agoMerge pull request #53065 from rhcs-dashboard/rgw-overview-dashboard-backport-reef
Aashish Sharma [Tue, 22 Aug 2023 05:18:12 +0000 (10:48 +0530)]
Merge pull request #53065 from rhcs-dashboard/rgw-overview-dashboard-backport-reef

reef: Rgw overview dashboard backport

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
2 years agodoc/start: update "platforms" table
Zac Dover [Mon, 21 Aug 2023 15:18:40 +0000 (01:18 +1000)]
doc/start: update "platforms" table

Update the table that reports which versions of which Linux releases
have been used in tests of Ceph.

Fixes: https://tracker.ceph.com/issues/62354
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 78bf08249886d86c5112a66e39a7444bb7e1f879)

2 years agomgr/dashboard: multisite sync status card for rgw overview dashboard
Aashish Sharma [Tue, 25 Jul 2023 12:07:38 +0000 (17:37 +0530)]
mgr/dashboard: multisite sync status card for rgw overview dashboard

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 1d6f19e53b68c180a2d0301889974949fe899a2c)

2 years agoMerge pull request #52918 from rhcs-dashboard/wip-62376-reef
Pedro Gonzalez Gomez [Mon, 21 Aug 2023 15:09:06 +0000 (17:09 +0200)]
Merge pull request #52918 from rhcs-dashboard/wip-62376-reef

reef: mgr/dashboard: paginate hosts

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: cloudbehl <NOT@FOUND>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2 years agoMerge pull request #53059 from zdover23/wip-doc-2023-08-21-backport-52963-to-reef
Anthony D'Atri [Mon, 21 Aug 2023 13:38:47 +0000 (09:38 -0400)]
Merge pull request #53059 from zdover23/wip-doc-2023-08-21-backport-52963-to-reef

reef: doc/troubleshooting: edit cpu-profiling.rst

2 years agomgr/dashboard: fix average object size calculation in rgw overview
Aashish Sharma [Thu, 3 Aug 2023 12:14:55 +0000 (17:44 +0530)]
mgr/dashboard: fix average object size calculation in rgw overview
dashboard

Fixes: https://tracker.ceph.com/issues/62318
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
2 years agoadd graphs to rgw overview dashboard
Aashish Sharma [Thu, 20 Jul 2023 09:08:59 +0000 (14:38 +0530)]
add graphs to rgw overview dashboard

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

2 years agomgr/dashboard: Add inventory card and two single stat panels to rgw
Aashish Sharma [Thu, 20 Jul 2023 07:01:59 +0000 (12:31 +0530)]
mgr/dashboard: Add inventory card and two single stat panels to rgw
overview dashboard

Signed-off-by: Aashish Sharma <aasharma@redhat.com>