Skip to content

Make cephx key creation syntax consistent#56

Merged
liewegas merged 2 commits intoceph:masterfrom
codenrhoden:doc_cephx
Feb 14, 2013
Merged

Make cephx key creation syntax consistent#56
liewegas merged 2 commits intoceph:masterfrom
codenrhoden:doc_cephx

Conversation

@codenrhoden
Copy link
Contributor

These are a couple of simple fixes to clarify things when creating or updating cephx keys.

I found one place where the example was not consistent with every other example on the page by not using "osd 'allow rw'" syntax, isntead it was just "osd rw". That was confusing.

The second bit clarifies that a pool= specification should be inside of single quotes.

I ran across this when trying to create a new key and limit permissions to a single pool. The docs here on CephX were not as useful about how to do that as the Block Devices/OpenStack page is. This should bring them in parity, I think.

When specifying caps, the entire 'allow ...' bit needs to be in the
single quotes, including the pool= part.

Signed-off-by: Travis Rhoden <trhoden@gmail.com>
The ceph auth get-or-create example here is the only place on the
page that does not use 'allow <perms.' syntax.  I found that
confusing.  Update to use allow and single quotes.

Signed-off-by: Travis Rhoden <trhoden@gmail.com>
liewegas added a commit that referenced this pull request Feb 14, 2013
Make cephx key creation syntax consistent

Reviewed-by: Sage Weil <sage@inktank.com>
@liewegas liewegas merged commit e31baee into ceph:master Feb 14, 2013
@liewegas
Copy link
Member

Thanks!

chamdoo pushed a commit to chamdoo/ceph that referenced this pull request Nov 13, 2015
Refactor build_tools/build_detect_version
XinzeChi pushed a commit to XinzeChi/ceph that referenced this pull request Jan 29, 2016
…pping

osd/OSD.cc: shutdown after flapping certain times
jan--f pushed a commit to jan--f/ceph that referenced this pull request Feb 24, 2017
cmake: fix declaration position of WITH_TESTS option
LenzGr pushed a commit to LenzGr/ceph that referenced this pull request Feb 1, 2018
mgr/dashboard_v2: Use Awesome Bootstrap Checkbox
votdev referenced this pull request in votdev/ceph Nov 8, 2022
rgw/sfs: Initial Garbage collector thread.
tobias-urdin pushed a commit to tobias-urdin/ceph that referenced this pull request Aug 2, 2023
s3tests: Test copying foreign object in foreign bucket

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
yuvalif pushed a commit to yuvalif/ceph that referenced this pull request Mar 13, 2024
Resolves: rhbz#2268422
          https://bugzilla.redhat.com/show_bug.cgi?id=2268422

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit f2a902a09d7d23d7fbba9094ec43437757685d73)
yuvalif pushed a commit to yuvalif/ceph that referenced this pull request Aug 21, 2024
This is a combination of 18 commits to ease maintenance.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit c9deac1)

Resolves: rhbz#2235256
(cherry picked from commit eb3b298)
(cherry picked from commit de6cbfb)

Conflicts:
    ceph.spec.in

    A new line was missing between the block of "%files node-proxy"
    and that of "%files mgr-callhome".

Please note that the changes in de6cbfb
to src/cephadm/cephadm.py were reset in this commit, since they were
extracted and cherry-picked to a separate call-home-cephadm branch.

pybind/mgr: add call_home_agent to CMakeLists.txt and tox.ini

This fixes the previous commit
(c9deac1) and could be squashed down in
future rebases.

Related: rhbz#2235256

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit e74a8c4)
(cherry picked from commit a58aff2)

mgr/call_home_agent: fix reports frequency

Inventory reports frequency should be daily (60*60*24).
Status reports frequency should be every 30 minutes (60*30).

Move content of options.py into module.py, no reason for separate files.

Resolves: rhbz#2241825

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27da98d)
(cherry picked from commit 0bd94e2)

mgr/call_home_agent: add "request_time" to all events payload

Storage Insights requires that a "request_time" key will be included in
the "payload" section of all events. Its value is unix timestamp
milliseconds.

Resolves: rhbz#2248640
https://bugzilla.redhat.com/show_bug.cgi?id=2248640

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 981b0ea)
(cherry picked from commit 0b79454)

mgr/ccha: Fix decoding issue

The encoded JWT token inside password must be managed as raw string

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e7e618e7f064a75434e3822c4ef9499ddab43fd1)
(cherry picked from commit 9acaa16)

mgr/ccha: Fix help for ceph callhome show command

Resolves: rhbz#2243795
          https://bugzilla.redhat.com/show_bug.cgi?id=2243795

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit cd4356588a615d83d9ae3cd7806008bd8b4cdae1)
(cherry picked from commit 14bb3e9)

mgr/ccha: Fix ceph callhome get user output

Call home manager module options names and fields shown in the
callhome get user command are now the same

Resolves: rhbz#2243796
          https://bugzilla.redhat.com/show_bug.cgi?id=2243796

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

mgr/callhome: Add hardware status to inventory reports (ceph#48)

Hardware status will be fetched daily from Node Proxy, and will be added to the
inventory reports.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 9be771d7e63e21b185a65f1d0fecb4c959a3c058)

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434
(cherry picked from commit 209527a)

mgr/callhome: Send alerts to Call Home (ceph#47)

Add the functionality of sending Prometheus alerts to IBM Call Home.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit aed81302e05451fb2c0d271d199a099623b205d9)

Resolves: rhbz#2264432
          https://bugzilla.redhat.com/show_bug.cgi?id=2264432
(cherry picked from commit e5a1462)

mgr/callhome: Upload diagnostics

Implementation of the upload diagnostics functionality in Call Home Agent

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

Resolves: rhbz#2264444
          https://bugzilla.redhat.com/show_bug.cgi?id=2264444
(cherry picked from commit 6a3d65e)

mgr/ccha: Fix sos report file corrupted in EcuRep

The sos report file upload to EcuRep cannot be unpacked

    This commit can be safely squashed along with:
    6a3d65e
    mgr/callhome: Upload diagnostics

Resolves: rhbz#2266236
          https://bugzilla.redhat.com/show_bug.cgi?id=2266236

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit a56fe4624845d248fe534f87f145abc984f281fb)
(cherry picked from commit 89a4ea1)

mgr/ccha: Fix inventory report (ceph#54)

The inventory report cannot be generated

This commit can be safely squashed along with:
    209527a
    mgr/callhome: Add hardware status to inventory reports
in future releases

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 0320c857e0a7151f4846f2187c48c1fc2a3c0c98)
(cherry picked from commit 6e4b152)

mgr/ccha: Upload diagnostics level 1 report error (ceph#55)

Resolves: rhbz#2268399
          https://bugzilla.redhat.com/show_bug.cgi?id=2268399

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

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the call home module changes.

See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54?merge_request_iid=520

This commit was created with:

  $ git format-patch -1 bac75bb -- src/pybind/mgr/call_home_agent/module.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

mgr/ccha: Remove jti error message when no credentials (ceph#61)

Avoid the annoying error message if not credentials present
Fix error if registry credentials are set using ceph cephadm registry-reg_credentials
Changed default regex for registry urls

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit aac9d3a359af145ec6cae92836e387d65978602e)
(cherry picked from commit 9dd5647)

mgr/callhome: use static Transfer ID

ECuRep requires Transfer ID credentials (user ID and password). In this fix we
are adding the option to load them from the encrypted keys file instead of
asking the user to populate them. The keys from the files are the default. As a
workaround, we are leaving the option to manually populate the module options,
in case we ever need it.

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27eddcb76bd2f67eee13b7539bb006d286ba560d)
(cherry picked from commit 55e45c7)

mgr/ccha: Increase default value for cooling window

Increased upload_snap_cooling_window_seconds option value to 1 day

Resolves: rhbz#2273565
          https://bugzilla.redhat.com/show_bug.cgi?id=2273565

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e6787dbdca28e2a007d405775f145dbad94a68c9)
(cherry picked from commit 7181f16)

BF-2271537: mgr/callhome: pick up SI event ID (ceph#65)

Storage Insights event ID was not picked up correctly which prevented Ceph from
listening to SI triggered requests, and thus not fulfilling them and updating
on their status.
Status for operations updated to match SI expectations

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Co-authored-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 7d87f5cd50a21ff16675c69ff6dac55235cdbc22)
(cherry picked from commit 5290a81)
yuvalif pushed a commit to yuvalif/ceph that referenced this pull request Aug 21, 2024
This is a combination of 7 commits in order to ease maintenance.

This commit is extracted from the initial commit that added the
call_home_agent mgr module (de6cbfb),
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/de6cbfbde53c64877941751d2ef5f8198ae5dccc

This commit was created with:

  $ git format-patch -1 de6cbfb -- src/cephadm/cephadm.py
  0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  $
  $ git apply -3 0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.
  $
  $ git add src/cephadm/cephadm.py

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

cephadm: fix setting first and last name fields for call home

During bootstrap we were setting the email field to
be the email, first name, and last name in succession
so if all these fields were provided the email would end
up as the last name and the actual email and first name
would be thrown away.

The fix is pretty self-explanatory

Resvoles: rhbz#2242916

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

cephadm: fix call home bootstrap error message

Specifically

--ceph-call-home-contect-email ("contect")-> --ceph-call-home-contact-email
--ceph-call-home-context-phone ("context") -> --ceph-call-home-contact-phone
--ceph-call-home-contact-first-name (for last name setting)
-> --ceph-call-home-contact-last-name

Resolves: rhbz#2242918

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

cephadm: fix bootstrap with --enable-storage-insights set

If --enable-storage-insights is set, there was an
additional check that we aren't enabling storage insights
but not call home. This check was broken as it was
checking "enable_call_home" instead of "enable_ibm_call_home"
attribute on the ctx object.

Resolves: rhbz#2243115

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

Conflicts:
	src/cephadm/cephadm.py

<<<<<<< HEAD
    # initial vars
    ctx.fsid = ctx.fsid or make_fsid()
    fsid = ctx.fsid
    if not is_fsid(fsid):
        raise Error('not an fsid: %s' % fsid)

    if ctx.enable_storage_insights and not ctx.enable_call_home:
=======
    if ctx.enable_storage_insights and not ctx.enable_ibm_call_home:
>>>>>>> 4d8b471 (cephadm: fix bootstrap with --enable-storage-insights set)
        raise Error('Cannot enable Storage Insights without enabling call home (--enable-ibm-call-home)')
    elif ctx.enable_ibm_call_home:
        verify_call_home_settings(ctx)

Conflict was reslolved by keeping everything, except for:
    if ctx.enable_storage_insights and not ctx.enable_call_home:

mgr/callhome: cephadm sos command wrapper

Implementation of a wrapper for the sos command in cephadm

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

Resolves: rhbz#2264462
          https://bugzilla.redhat.com/show_bug.cgi?id=2264462
(cherry picked from commit 4b0049f)

mgr/ccha: Fix cephadm sos command error (ceph#53)

The cephadm sos command fails

This commit can be safely squashed along with:
4b0049f
mgr/callhome: cephadm sos command wrapper
in future releases

Resolves: rhbz#2267676
          https://bugzilla.redhat.com/show_bug.cgi?id=2267676

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 1d413c767d4dc034202907e1393f9e69808004db)
(cherry picked from commit 873b28e)

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54

This commit was created with:

  $ git format-patch -1 bac75bb -- src/cephadm/cephadm.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
yuvalif pushed a commit to yuvalif/ceph that referenced this pull request Sep 16, 2024
This is a combination of 18 commits to ease maintenance.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit c9deac1)

Resolves: rhbz#2235256
(cherry picked from commit eb3b298)
(cherry picked from commit de6cbfb)

Conflicts:
    ceph.spec.in

    A new line was missing between the block of "%files node-proxy"
    and that of "%files mgr-callhome".

Please note that the changes in de6cbfb
to src/cephadm/cephadm.py were reset in this commit, since they were
extracted and cherry-picked to a separate call-home-cephadm branch.

pybind/mgr: add call_home_agent to CMakeLists.txt and tox.ini

This fixes the previous commit
(c9deac1) and could be squashed down in
future rebases.

Related: rhbz#2235256

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit e74a8c4)
(cherry picked from commit a58aff2)

mgr/call_home_agent: fix reports frequency

Inventory reports frequency should be daily (60*60*24).
Status reports frequency should be every 30 minutes (60*30).

Move content of options.py into module.py, no reason for separate files.

Resolves: rhbz#2241825

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27da98d)
(cherry picked from commit 0bd94e2)

mgr/call_home_agent: add "request_time" to all events payload

Storage Insights requires that a "request_time" key will be included in
the "payload" section of all events. Its value is unix timestamp
milliseconds.

Resolves: rhbz#2248640
https://bugzilla.redhat.com/show_bug.cgi?id=2248640

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 981b0ea)
(cherry picked from commit 0b79454)

mgr/ccha: Fix decoding issue

The encoded JWT token inside password must be managed as raw string

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e7e618e7f064a75434e3822c4ef9499ddab43fd1)
(cherry picked from commit 9acaa16)

mgr/ccha: Fix help for ceph callhome show command

Resolves: rhbz#2243795
          https://bugzilla.redhat.com/show_bug.cgi?id=2243795

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit cd4356588a615d83d9ae3cd7806008bd8b4cdae1)
(cherry picked from commit 14bb3e9)

mgr/ccha: Fix ceph callhome get user output

Call home manager module options names and fields shown in the
callhome get user command are now the same

Resolves: rhbz#2243796
          https://bugzilla.redhat.com/show_bug.cgi?id=2243796

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

mgr/callhome: Add hardware status to inventory reports (ceph#48)

Hardware status will be fetched daily from Node Proxy, and will be added to the
inventory reports.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 9be771d7e63e21b185a65f1d0fecb4c959a3c058)

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434
(cherry picked from commit 209527a)

mgr/callhome: Send alerts to Call Home (ceph#47)

Add the functionality of sending Prometheus alerts to IBM Call Home.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit aed81302e05451fb2c0d271d199a099623b205d9)

Resolves: rhbz#2264432
          https://bugzilla.redhat.com/show_bug.cgi?id=2264432
(cherry picked from commit e5a1462)

mgr/callhome: Upload diagnostics

Implementation of the upload diagnostics functionality in Call Home Agent

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

Resolves: rhbz#2264444
          https://bugzilla.redhat.com/show_bug.cgi?id=2264444
(cherry picked from commit 6a3d65e)

mgr/ccha: Fix sos report file corrupted in EcuRep

The sos report file upload to EcuRep cannot be unpacked

    This commit can be safely squashed along with:
    6a3d65e
    mgr/callhome: Upload diagnostics

Resolves: rhbz#2266236
          https://bugzilla.redhat.com/show_bug.cgi?id=2266236

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit a56fe4624845d248fe534f87f145abc984f281fb)
(cherry picked from commit 89a4ea1)

mgr/ccha: Fix inventory report (ceph#54)

The inventory report cannot be generated

This commit can be safely squashed along with:
    209527a
    mgr/callhome: Add hardware status to inventory reports
in future releases

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 0320c857e0a7151f4846f2187c48c1fc2a3c0c98)
(cherry picked from commit 6e4b152)

mgr/ccha: Upload diagnostics level 1 report error (ceph#55)

Resolves: rhbz#2268399
          https://bugzilla.redhat.com/show_bug.cgi?id=2268399

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

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the call home module changes.

See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54?merge_request_iid=520

This commit was created with:

  $ git format-patch -1 bac75bb -- src/pybind/mgr/call_home_agent/module.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

mgr/ccha: Remove jti error message when no credentials (ceph#61)

Avoid the annoying error message if not credentials present
Fix error if registry credentials are set using ceph cephadm registry-reg_credentials
Changed default regex for registry urls

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit aac9d3a359af145ec6cae92836e387d65978602e)
(cherry picked from commit 9dd5647)

mgr/callhome: use static Transfer ID

ECuRep requires Transfer ID credentials (user ID and password). In this fix we
are adding the option to load them from the encrypted keys file instead of
asking the user to populate them. The keys from the files are the default. As a
workaround, we are leaving the option to manually populate the module options,
in case we ever need it.

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27eddcb76bd2f67eee13b7539bb006d286ba560d)
(cherry picked from commit 55e45c7)

mgr/ccha: Increase default value for cooling window

Increased upload_snap_cooling_window_seconds option value to 1 day

Resolves: rhbz#2273565
          https://bugzilla.redhat.com/show_bug.cgi?id=2273565

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e6787dbdca28e2a007d405775f145dbad94a68c9)
(cherry picked from commit 7181f16)

BF-2271537: mgr/callhome: pick up SI event ID (ceph#65)

Storage Insights event ID was not picked up correctly which prevented Ceph from
listening to SI triggered requests, and thus not fulfilling them and updating
on their status.
Status for operations updated to match SI expectations

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Co-authored-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 7d87f5cd50a21ff16675c69ff6dac55235cdbc22)
(cherry picked from commit 5290a81)
(cherry picked from commit 514fc29)
yuvalif pushed a commit to yuvalif/ceph that referenced this pull request Sep 16, 2024
This is a combination of 7 commits in order to ease maintenance.

This commit is extracted from the initial commit that added the
call_home_agent mgr module (de6cbfb),
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/de6cbfbde53c64877941751d2ef5f8198ae5dccc

This commit was created with:

  $ git format-patch -1 de6cbfb -- src/cephadm/cephadm.py
  0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  $
  $ git apply -3 0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.
  $
  $ git add src/cephadm/cephadm.py

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

cephadm: fix setting first and last name fields for call home

During bootstrap we were setting the email field to
be the email, first name, and last name in succession
so if all these fields were provided the email would end
up as the last name and the actual email and first name
would be thrown away.

The fix is pretty self-explanatory

Resvoles: rhbz#2242916

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

cephadm: fix call home bootstrap error message

Specifically

--ceph-call-home-contect-email ("contect")-> --ceph-call-home-contact-email
--ceph-call-home-context-phone ("context") -> --ceph-call-home-contact-phone
--ceph-call-home-contact-first-name (for last name setting)
-> --ceph-call-home-contact-last-name

Resolves: rhbz#2242918

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

cephadm: fix bootstrap with --enable-storage-insights set

If --enable-storage-insights is set, there was an
additional check that we aren't enabling storage insights
but not call home. This check was broken as it was
checking "enable_call_home" instead of "enable_ibm_call_home"
attribute on the ctx object.

Resolves: rhbz#2243115

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

Conflicts:
	src/cephadm/cephadm.py

<<<<<<< HEAD
    # initial vars
    ctx.fsid = ctx.fsid or make_fsid()
    fsid = ctx.fsid
    if not is_fsid(fsid):
        raise Error('not an fsid: %s' % fsid)

    if ctx.enable_storage_insights and not ctx.enable_call_home:
=======
    if ctx.enable_storage_insights and not ctx.enable_ibm_call_home:
>>>>>>> 4d8b471 (cephadm: fix bootstrap with --enable-storage-insights set)
        raise Error('Cannot enable Storage Insights without enabling call home (--enable-ibm-call-home)')
    elif ctx.enable_ibm_call_home:
        verify_call_home_settings(ctx)

Conflict was reslolved by keeping everything, except for:
    if ctx.enable_storage_insights and not ctx.enable_call_home:

mgr/callhome: cephadm sos command wrapper

Implementation of a wrapper for the sos command in cephadm

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

Resolves: rhbz#2264462
          https://bugzilla.redhat.com/show_bug.cgi?id=2264462
(cherry picked from commit 4b0049f)

mgr/ccha: Fix cephadm sos command error (ceph#53)

The cephadm sos command fails

This commit can be safely squashed along with:
4b0049f
mgr/callhome: cephadm sos command wrapper
in future releases

Resolves: rhbz#2267676
          https://bugzilla.redhat.com/show_bug.cgi?id=2267676

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 1d413c767d4dc034202907e1393f9e69808004db)
(cherry picked from commit 873b28e)

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54

This commit was created with:

  $ git format-patch -1 bac75bb -- src/cephadm/cephadm.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 37be1c3)

Conflicts:
        src/cephadm/cephadm.py

The conflict we saw:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

<<<<<<< HEAD
=======
    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # enable autotune for osd_memory_target
    logger.info('Enabling autotune for osd_memory_target')
    cli(['config', 'set', 'osd', 'osd_memory_target_autotune', 'true'])

>>>>>>> 37be1c3 (cephadm: add Call Home and Storage Insights)
    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

The conflict was resolved by removing the osd autotune lines:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```
mattbenjamin pushed a commit to linuxbox2/ceph that referenced this pull request Oct 22, 2024
This is a combination of 18 commits to ease maintenance.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit c9deac1)

Resolves: rhbz#2235256
(cherry picked from commit eb3b298)
(cherry picked from commit de6cbfb)

Conflicts:
    ceph.spec.in

    A new line was missing between the block of "%files node-proxy"
    and that of "%files mgr-callhome".

Please note that the changes in de6cbfb
to src/cephadm/cephadm.py were reset in this commit, since they were
extracted and cherry-picked to a separate call-home-cephadm branch.

pybind/mgr: add call_home_agent to CMakeLists.txt and tox.ini

This fixes the previous commit
(c9deac1) and could be squashed down in
future rebases.

Related: rhbz#2235256

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit e74a8c4)
(cherry picked from commit a58aff2)

mgr/call_home_agent: fix reports frequency

Inventory reports frequency should be daily (60*60*24).
Status reports frequency should be every 30 minutes (60*30).

Move content of options.py into module.py, no reason for separate files.

Resolves: rhbz#2241825

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27da98d)
(cherry picked from commit 0bd94e2)

mgr/call_home_agent: add "request_time" to all events payload

Storage Insights requires that a "request_time" key will be included in
the "payload" section of all events. Its value is unix timestamp
milliseconds.

Resolves: rhbz#2248640
https://bugzilla.redhat.com/show_bug.cgi?id=2248640

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 981b0ea)
(cherry picked from commit 0b79454)

mgr/ccha: Fix decoding issue

The encoded JWT token inside password must be managed as raw string

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e7e618e7f064a75434e3822c4ef9499ddab43fd1)
(cherry picked from commit 9acaa16)

mgr/ccha: Fix help for ceph callhome show command

Resolves: rhbz#2243795
          https://bugzilla.redhat.com/show_bug.cgi?id=2243795

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit cd4356588a615d83d9ae3cd7806008bd8b4cdae1)
(cherry picked from commit 14bb3e9)

mgr/ccha: Fix ceph callhome get user output

Call home manager module options names and fields shown in the
callhome get user command are now the same

Resolves: rhbz#2243796
          https://bugzilla.redhat.com/show_bug.cgi?id=2243796

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

mgr/callhome: Add hardware status to inventory reports (ceph#48)

Hardware status will be fetched daily from Node Proxy, and will be added to the
inventory reports.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 9be771d7e63e21b185a65f1d0fecb4c959a3c058)

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434
(cherry picked from commit 209527a)

mgr/callhome: Send alerts to Call Home (ceph#47)

Add the functionality of sending Prometheus alerts to IBM Call Home.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit aed81302e05451fb2c0d271d199a099623b205d9)

Resolves: rhbz#2264432
          https://bugzilla.redhat.com/show_bug.cgi?id=2264432
(cherry picked from commit e5a1462)

mgr/callhome: Upload diagnostics

Implementation of the upload diagnostics functionality in Call Home Agent

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

Resolves: rhbz#2264444
          https://bugzilla.redhat.com/show_bug.cgi?id=2264444
(cherry picked from commit 6a3d65e)

mgr/ccha: Fix sos report file corrupted in EcuRep

The sos report file upload to EcuRep cannot be unpacked

    This commit can be safely squashed along with:
    6a3d65e
    mgr/callhome: Upload diagnostics

Resolves: rhbz#2266236
          https://bugzilla.redhat.com/show_bug.cgi?id=2266236

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit a56fe4624845d248fe534f87f145abc984f281fb)
(cherry picked from commit 89a4ea1)

mgr/ccha: Fix inventory report (ceph#54)

The inventory report cannot be generated

This commit can be safely squashed along with:
    209527a
    mgr/callhome: Add hardware status to inventory reports
in future releases

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 0320c857e0a7151f4846f2187c48c1fc2a3c0c98)
(cherry picked from commit 6e4b152)

mgr/ccha: Upload diagnostics level 1 report error (ceph#55)

Resolves: rhbz#2268399
          https://bugzilla.redhat.com/show_bug.cgi?id=2268399

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

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the call home module changes.

See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54?merge_request_iid=520

This commit was created with:

  $ git format-patch -1 bac75bb -- src/pybind/mgr/call_home_agent/module.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

mgr/ccha: Remove jti error message when no credentials (ceph#61)

Avoid the annoying error message if not credentials present
Fix error if registry credentials are set using ceph cephadm registry-reg_credentials
Changed default regex for registry urls

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit aac9d3a359af145ec6cae92836e387d65978602e)
(cherry picked from commit 9dd5647)

mgr/callhome: use static Transfer ID

ECuRep requires Transfer ID credentials (user ID and password). In this fix we
are adding the option to load them from the encrypted keys file instead of
asking the user to populate them. The keys from the files are the default. As a
workaround, we are leaving the option to manually populate the module options,
in case we ever need it.

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27eddcb76bd2f67eee13b7539bb006d286ba560d)
(cherry picked from commit 55e45c7)

mgr/ccha: Increase default value for cooling window

Increased upload_snap_cooling_window_seconds option value to 1 day

Resolves: rhbz#2273565
          https://bugzilla.redhat.com/show_bug.cgi?id=2273565

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e6787dbdca28e2a007d405775f145dbad94a68c9)
(cherry picked from commit 7181f16)

BF-2271537: mgr/callhome: pick up SI event ID (ceph#65)

Storage Insights event ID was not picked up correctly which prevented Ceph from
listening to SI triggered requests, and thus not fulfilling them and updating
on their status.
Status for operations updated to match SI expectations

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Co-authored-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 7d87f5cd50a21ff16675c69ff6dac55235cdbc22)
(cherry picked from commit 5290a81)
(cherry picked from commit 514fc29)
mattbenjamin pushed a commit to linuxbox2/ceph that referenced this pull request Oct 22, 2024
This is a combination of 7 commits in order to ease maintenance.

This commit is extracted from the initial commit that added the
call_home_agent mgr module (de6cbfb),
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/de6cbfbde53c64877941751d2ef5f8198ae5dccc

This commit was created with:

  $ git format-patch -1 de6cbfb -- src/cephadm/cephadm.py
  0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  $
  $ git apply -3 0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.
  $
  $ git add src/cephadm/cephadm.py

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

cephadm: fix setting first and last name fields for call home

During bootstrap we were setting the email field to
be the email, first name, and last name in succession
so if all these fields were provided the email would end
up as the last name and the actual email and first name
would be thrown away.

The fix is pretty self-explanatory

Resvoles: rhbz#2242916

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

cephadm: fix call home bootstrap error message

Specifically

--ceph-call-home-contect-email ("contect")-> --ceph-call-home-contact-email
--ceph-call-home-context-phone ("context") -> --ceph-call-home-contact-phone
--ceph-call-home-contact-first-name (for last name setting)
-> --ceph-call-home-contact-last-name

Resolves: rhbz#2242918

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

cephadm: fix bootstrap with --enable-storage-insights set

If --enable-storage-insights is set, there was an
additional check that we aren't enabling storage insights
but not call home. This check was broken as it was
checking "enable_call_home" instead of "enable_ibm_call_home"
attribute on the ctx object.

Resolves: rhbz#2243115

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

Conflicts:
	src/cephadm/cephadm.py

<<<<<<< HEAD
    # initial vars
    ctx.fsid = ctx.fsid or make_fsid()
    fsid = ctx.fsid
    if not is_fsid(fsid):
        raise Error('not an fsid: %s' % fsid)

    if ctx.enable_storage_insights and not ctx.enable_call_home:
=======
    if ctx.enable_storage_insights and not ctx.enable_ibm_call_home:
>>>>>>> 4d8b471 (cephadm: fix bootstrap with --enable-storage-insights set)
        raise Error('Cannot enable Storage Insights without enabling call home (--enable-ibm-call-home)')
    elif ctx.enable_ibm_call_home:
        verify_call_home_settings(ctx)

Conflict was reslolved by keeping everything, except for:
    if ctx.enable_storage_insights and not ctx.enable_call_home:

mgr/callhome: cephadm sos command wrapper

Implementation of a wrapper for the sos command in cephadm

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

Resolves: rhbz#2264462
          https://bugzilla.redhat.com/show_bug.cgi?id=2264462
(cherry picked from commit 4b0049f)

mgr/ccha: Fix cephadm sos command error (ceph#53)

The cephadm sos command fails

This commit can be safely squashed along with:
4b0049f
mgr/callhome: cephadm sos command wrapper
in future releases

Resolves: rhbz#2267676
          https://bugzilla.redhat.com/show_bug.cgi?id=2267676

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 1d413c767d4dc034202907e1393f9e69808004db)
(cherry picked from commit 873b28e)

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54

This commit was created with:

  $ git format-patch -1 bac75bb -- src/cephadm/cephadm.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 37be1c3)

Conflicts:
        src/cephadm/cephadm.py

The conflict we saw:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

<<<<<<< HEAD
=======
    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # enable autotune for osd_memory_target
    logger.info('Enabling autotune for osd_memory_target')
    cli(['config', 'set', 'osd', 'osd_memory_target_autotune', 'true'])

>>>>>>> 37be1c3 (cephadm: add Call Home and Storage Insights)
    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

The conflict was resolved by removing the osd autotune lines:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```
andrewschoen pushed a commit to ibmstorage/ceph that referenced this pull request Feb 25, 2025
This is a combination of 18 commits to ease maintenance.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit c9deac1)

Resolves: rhbz#2235256
(cherry picked from commit eb3b298)
(cherry picked from commit de6cbfb)

Conflicts:
    ceph.spec.in

    A new line was missing between the block of "%files node-proxy"
    and that of "%files mgr-callhome".

Please note that the changes in de6cbfb
to src/cephadm/cephadm.py were reset in this commit, since they were
extracted and cherry-picked to a separate call-home-cephadm branch.

pybind/mgr: add call_home_agent to CMakeLists.txt and tox.ini

This fixes the previous commit
(c9deac1) and could be squashed down in
future rebases.

Related: rhbz#2235256

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit e74a8c4)
(cherry picked from commit a58aff2)

mgr/call_home_agent: fix reports frequency

Inventory reports frequency should be daily (60*60*24).
Status reports frequency should be every 30 minutes (60*30).

Move content of options.py into module.py, no reason for separate files.

Resolves: rhbz#2241825

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27da98d)
(cherry picked from commit 0bd94e2)

mgr/call_home_agent: add "request_time" to all events payload

Storage Insights requires that a "request_time" key will be included in
the "payload" section of all events. Its value is unix timestamp
milliseconds.

Resolves: rhbz#2248640
https://bugzilla.redhat.com/show_bug.cgi?id=2248640

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 981b0ea)
(cherry picked from commit 0b79454)

mgr/ccha: Fix decoding issue

The encoded JWT token inside password must be managed as raw string

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e7e618e7f064a75434e3822c4ef9499ddab43fd1)
(cherry picked from commit 9acaa16)

mgr/ccha: Fix help for ceph callhome show command

Resolves: rhbz#2243795
          https://bugzilla.redhat.com/show_bug.cgi?id=2243795

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit cd4356588a615d83d9ae3cd7806008bd8b4cdae1)
(cherry picked from commit 14bb3e9)

mgr/ccha: Fix ceph callhome get user output

Call home manager module options names and fields shown in the
callhome get user command are now the same

Resolves: rhbz#2243796
          https://bugzilla.redhat.com/show_bug.cgi?id=2243796

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

mgr/callhome: Add hardware status to inventory reports (#48)

Hardware status will be fetched daily from Node Proxy, and will be added to the
inventory reports.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 9be771d7e63e21b185a65f1d0fecb4c959a3c058)

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434
(cherry picked from commit 209527a)

mgr/callhome: Send alerts to Call Home (#47)

Add the functionality of sending Prometheus alerts to IBM Call Home.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit aed81302e05451fb2c0d271d199a099623b205d9)

Resolves: rhbz#2264432
          https://bugzilla.redhat.com/show_bug.cgi?id=2264432
(cherry picked from commit e5a1462)

mgr/callhome: Upload diagnostics

Implementation of the upload diagnostics functionality in Call Home Agent

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

Resolves: rhbz#2264444
          https://bugzilla.redhat.com/show_bug.cgi?id=2264444
(cherry picked from commit 6a3d65e)

mgr/ccha: Fix sos report file corrupted in EcuRep

The sos report file upload to EcuRep cannot be unpacked

    This commit can be safely squashed along with:
    6a3d65e
    mgr/callhome: Upload diagnostics

Resolves: rhbz#2266236
          https://bugzilla.redhat.com/show_bug.cgi?id=2266236

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit a56fe4624845d248fe534f87f145abc984f281fb)
(cherry picked from commit 89a4ea1)

mgr/ccha: Fix inventory report (ceph#54)

The inventory report cannot be generated

This commit can be safely squashed along with:
    209527a
    mgr/callhome: Add hardware status to inventory reports
in future releases

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 0320c857e0a7151f4846f2187c48c1fc2a3c0c98)
(cherry picked from commit 6e4b152)

mgr/ccha: Upload diagnostics level 1 report error (ceph#55)

Resolves: rhbz#2268399
          https://bugzilla.redhat.com/show_bug.cgi?id=2268399

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

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the call home module changes.

See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54?merge_request_iid=520

This commit was created with:

  $ git format-patch -1 bac75bb -- src/pybind/mgr/call_home_agent/module.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

mgr/ccha: Remove jti error message when no credentials (ceph#61)

Avoid the annoying error message if not credentials present
Fix error if registry credentials are set using ceph cephadm registry-reg_credentials
Changed default regex for registry urls

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit aac9d3a359af145ec6cae92836e387d65978602e)
(cherry picked from commit 9dd5647)

mgr/callhome: use static Transfer ID

ECuRep requires Transfer ID credentials (user ID and password). In this fix we
are adding the option to load them from the encrypted keys file instead of
asking the user to populate them. The keys from the files are the default. As a
workaround, we are leaving the option to manually populate the module options,
in case we ever need it.

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27eddcb76bd2f67eee13b7539bb006d286ba560d)
(cherry picked from commit 55e45c7)

mgr/ccha: Increase default value for cooling window

Increased upload_snap_cooling_window_seconds option value to 1 day

Resolves: rhbz#2273565
          https://bugzilla.redhat.com/show_bug.cgi?id=2273565

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e6787dbdca28e2a007d405775f145dbad94a68c9)
(cherry picked from commit 7181f16)

BF-2271537: mgr/callhome: pick up SI event ID (ceph#65)

Storage Insights event ID was not picked up correctly which prevented Ceph from
listening to SI triggered requests, and thus not fulfilling them and updating
on their status.
Status for operations updated to match SI expectations

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Co-authored-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 7d87f5cd50a21ff16675c69ff6dac55235cdbc22)
(cherry picked from commit 5290a81)
(cherry picked from commit 514fc29)
andrewschoen pushed a commit to ibmstorage/ceph that referenced this pull request Feb 25, 2025
This is a combination of 7 commits in order to ease maintenance.

This commit is extracted from the initial commit that added the
call_home_agent mgr module (de6cbfb),
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/de6cbfbde53c64877941751d2ef5f8198ae5dccc

This commit was created with:

  $ git format-patch -1 de6cbfb -- src/cephadm/cephadm.py
  0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  $
  $ git apply -3 0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.
  $
  $ git add src/cephadm/cephadm.py

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

cephadm: fix setting first and last name fields for call home

During bootstrap we were setting the email field to
be the email, first name, and last name in succession
so if all these fields were provided the email would end
up as the last name and the actual email and first name
would be thrown away.

The fix is pretty self-explanatory

Resvoles: rhbz#2242916

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

cephadm: fix call home bootstrap error message

Specifically

--ceph-call-home-contect-email ("contect")-> --ceph-call-home-contact-email
--ceph-call-home-context-phone ("context") -> --ceph-call-home-contact-phone
--ceph-call-home-contact-first-name (for last name setting)
-> --ceph-call-home-contact-last-name

Resolves: rhbz#2242918

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

cephadm: fix bootstrap with --enable-storage-insights set

If --enable-storage-insights is set, there was an
additional check that we aren't enabling storage insights
but not call home. This check was broken as it was
checking "enable_call_home" instead of "enable_ibm_call_home"
attribute on the ctx object.

Resolves: rhbz#2243115

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

Conflicts:
	src/cephadm/cephadm.py

<<<<<<< HEAD
    # initial vars
    ctx.fsid = ctx.fsid or make_fsid()
    fsid = ctx.fsid
    if not is_fsid(fsid):
        raise Error('not an fsid: %s' % fsid)

    if ctx.enable_storage_insights and not ctx.enable_call_home:
=======
    if ctx.enable_storage_insights and not ctx.enable_ibm_call_home:
>>>>>>> 4d8b471 (cephadm: fix bootstrap with --enable-storage-insights set)
        raise Error('Cannot enable Storage Insights without enabling call home (--enable-ibm-call-home)')
    elif ctx.enable_ibm_call_home:
        verify_call_home_settings(ctx)

Conflict was reslolved by keeping everything, except for:
    if ctx.enable_storage_insights and not ctx.enable_call_home:

mgr/callhome: cephadm sos command wrapper

Implementation of a wrapper for the sos command in cephadm

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

Resolves: rhbz#2264462
          https://bugzilla.redhat.com/show_bug.cgi?id=2264462
(cherry picked from commit 4b0049f)

mgr/ccha: Fix cephadm sos command error (#53)

The cephadm sos command fails

This commit can be safely squashed along with:
4b0049f
mgr/callhome: cephadm sos command wrapper
in future releases

Resolves: rhbz#2267676
          https://bugzilla.redhat.com/show_bug.cgi?id=2267676

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 1d413c767d4dc034202907e1393f9e69808004db)
(cherry picked from commit 873b28e)

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54

This commit was created with:

  $ git format-patch -1 bac75bb -- src/cephadm/cephadm.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 37be1c3)

Conflicts:
        src/cephadm/cephadm.py

The conflict we saw:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

<<<<<<< HEAD
=======
    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # enable autotune for osd_memory_target
    logger.info('Enabling autotune for osd_memory_target')
    cli(['config', 'set', 'osd', 'osd_memory_target_autotune', 'true'])

>>>>>>> 37be1c3 (cephadm: add Call Home and Storage Insights)
    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

The conflict was resolved by removing the osd autotune lines:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```
rishabh-d-dave pushed a commit to rishabh-d-dave/ceph that referenced this pull request Mar 19, 2025
This is a combination of 18 commits to ease maintenance.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit c9deac1)

Resolves: rhbz#2235256
(cherry picked from commit eb3b298)
(cherry picked from commit de6cbfb)

Conflicts:
    ceph.spec.in

    A new line was missing between the block of "%files node-proxy"
    and that of "%files mgr-callhome".

Please note that the changes in de6cbfb
to src/cephadm/cephadm.py were reset in this commit, since they were
extracted and cherry-picked to a separate call-home-cephadm branch.

pybind/mgr: add call_home_agent to CMakeLists.txt and tox.ini

This fixes the previous commit
(c9deac1) and could be squashed down in
future rebases.

Related: rhbz#2235256

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit e74a8c4)
(cherry picked from commit a58aff2)

mgr/call_home_agent: fix reports frequency

Inventory reports frequency should be daily (60*60*24).
Status reports frequency should be every 30 minutes (60*30).

Move content of options.py into module.py, no reason for separate files.

Resolves: rhbz#2241825

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27da98d)
(cherry picked from commit 0bd94e2)

mgr/call_home_agent: add "request_time" to all events payload

Storage Insights requires that a "request_time" key will be included in
the "payload" section of all events. Its value is unix timestamp
milliseconds.

Resolves: rhbz#2248640
https://bugzilla.redhat.com/show_bug.cgi?id=2248640

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 981b0ea)
(cherry picked from commit 0b79454)

mgr/ccha: Fix decoding issue

The encoded JWT token inside password must be managed as raw string

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e7e618e7f064a75434e3822c4ef9499ddab43fd1)
(cherry picked from commit 9acaa16)

mgr/ccha: Fix help for ceph callhome show command

Resolves: rhbz#2243795
          https://bugzilla.redhat.com/show_bug.cgi?id=2243795

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit cd4356588a615d83d9ae3cd7806008bd8b4cdae1)
(cherry picked from commit 14bb3e9)

mgr/ccha: Fix ceph callhome get user output

Call home manager module options names and fields shown in the
callhome get user command are now the same

Resolves: rhbz#2243796
          https://bugzilla.redhat.com/show_bug.cgi?id=2243796

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

mgr/callhome: Add hardware status to inventory reports (ceph#48)

Hardware status will be fetched daily from Node Proxy, and will be added to the
inventory reports.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 9be771d7e63e21b185a65f1d0fecb4c959a3c058)

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434
(cherry picked from commit 209527a)

mgr/callhome: Send alerts to Call Home (ceph#47)

Add the functionality of sending Prometheus alerts to IBM Call Home.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit aed81302e05451fb2c0d271d199a099623b205d9)

Resolves: rhbz#2264432
          https://bugzilla.redhat.com/show_bug.cgi?id=2264432
(cherry picked from commit e5a1462)

mgr/callhome: Upload diagnostics

Implementation of the upload diagnostics functionality in Call Home Agent

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

Resolves: rhbz#2264444
          https://bugzilla.redhat.com/show_bug.cgi?id=2264444
(cherry picked from commit 6a3d65e)

mgr/ccha: Fix sos report file corrupted in EcuRep

The sos report file upload to EcuRep cannot be unpacked

    This commit can be safely squashed along with:
    6a3d65e
    mgr/callhome: Upload diagnostics

Resolves: rhbz#2266236
          https://bugzilla.redhat.com/show_bug.cgi?id=2266236

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit a56fe4624845d248fe534f87f145abc984f281fb)
(cherry picked from commit 89a4ea1)

mgr/ccha: Fix inventory report (ceph#54)

The inventory report cannot be generated

This commit can be safely squashed along with:
    209527a
    mgr/callhome: Add hardware status to inventory reports
in future releases

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 0320c857e0a7151f4846f2187c48c1fc2a3c0c98)
(cherry picked from commit 6e4b152)

mgr/ccha: Upload diagnostics level 1 report error (ceph#55)

Resolves: rhbz#2268399
          https://bugzilla.redhat.com/show_bug.cgi?id=2268399

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

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the call home module changes.

See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54?merge_request_iid=520

This commit was created with:

  $ git format-patch -1 bac75bb -- src/pybind/mgr/call_home_agent/module.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

mgr/ccha: Remove jti error message when no credentials (ceph#61)

Avoid the annoying error message if not credentials present
Fix error if registry credentials are set using ceph cephadm registry-reg_credentials
Changed default regex for registry urls

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit aac9d3a359af145ec6cae92836e387d65978602e)
(cherry picked from commit 9dd5647)

mgr/callhome: use static Transfer ID

ECuRep requires Transfer ID credentials (user ID and password). In this fix we
are adding the option to load them from the encrypted keys file instead of
asking the user to populate them. The keys from the files are the default. As a
workaround, we are leaving the option to manually populate the module options,
in case we ever need it.

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27eddcb76bd2f67eee13b7539bb006d286ba560d)
(cherry picked from commit 55e45c7)

mgr/ccha: Increase default value for cooling window

Increased upload_snap_cooling_window_seconds option value to 1 day

Resolves: rhbz#2273565
          https://bugzilla.redhat.com/show_bug.cgi?id=2273565

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e6787dbdca28e2a007d405775f145dbad94a68c9)
(cherry picked from commit 7181f16)

BF-2271537: mgr/callhome: pick up SI event ID (ceph#65)

Storage Insights event ID was not picked up correctly which prevented Ceph from
listening to SI triggered requests, and thus not fulfilling them and updating
on their status.
Status for operations updated to match SI expectations

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Co-authored-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 7d87f5cd50a21ff16675c69ff6dac55235cdbc22)
(cherry picked from commit 5290a81)
(cherry picked from commit 514fc29)
rishabh-d-dave pushed a commit to rishabh-d-dave/ceph that referenced this pull request Mar 19, 2025
This is a combination of 7 commits in order to ease maintenance.

This commit is extracted from the initial commit that added the
call_home_agent mgr module (de6cbfb),
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/de6cbfbde53c64877941751d2ef5f8198ae5dccc

This commit was created with:

  $ git format-patch -1 de6cbfb -- src/cephadm/cephadm.py
  0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  $
  $ git apply -3 0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.
  $
  $ git add src/cephadm/cephadm.py

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

cephadm: fix setting first and last name fields for call home

During bootstrap we were setting the email field to
be the email, first name, and last name in succession
so if all these fields were provided the email would end
up as the last name and the actual email and first name
would be thrown away.

The fix is pretty self-explanatory

Resvoles: rhbz#2242916

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

cephadm: fix call home bootstrap error message

Specifically

--ceph-call-home-contect-email ("contect")-> --ceph-call-home-contact-email
--ceph-call-home-context-phone ("context") -> --ceph-call-home-contact-phone
--ceph-call-home-contact-first-name (for last name setting)
-> --ceph-call-home-contact-last-name

Resolves: rhbz#2242918

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

cephadm: fix bootstrap with --enable-storage-insights set

If --enable-storage-insights is set, there was an
additional check that we aren't enabling storage insights
but not call home. This check was broken as it was
checking "enable_call_home" instead of "enable_ibm_call_home"
attribute on the ctx object.

Resolves: rhbz#2243115

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

Conflicts:
	src/cephadm/cephadm.py

<<<<<<< HEAD
    # initial vars
    ctx.fsid = ctx.fsid or make_fsid()
    fsid = ctx.fsid
    if not is_fsid(fsid):
        raise Error('not an fsid: %s' % fsid)

    if ctx.enable_storage_insights and not ctx.enable_call_home:
=======
    if ctx.enable_storage_insights and not ctx.enable_ibm_call_home:
>>>>>>> 4d8b471 (cephadm: fix bootstrap with --enable-storage-insights set)
        raise Error('Cannot enable Storage Insights without enabling call home (--enable-ibm-call-home)')
    elif ctx.enable_ibm_call_home:
        verify_call_home_settings(ctx)

Conflict was reslolved by keeping everything, except for:
    if ctx.enable_storage_insights and not ctx.enable_call_home:

mgr/callhome: cephadm sos command wrapper

Implementation of a wrapper for the sos command in cephadm

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

Resolves: rhbz#2264462
          https://bugzilla.redhat.com/show_bug.cgi?id=2264462
(cherry picked from commit 4b0049f)

mgr/ccha: Fix cephadm sos command error (ceph#53)

The cephadm sos command fails

This commit can be safely squashed along with:
4b0049f
mgr/callhome: cephadm sos command wrapper
in future releases

Resolves: rhbz#2267676
          https://bugzilla.redhat.com/show_bug.cgi?id=2267676

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 1d413c767d4dc034202907e1393f9e69808004db)
(cherry picked from commit 873b28e)

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54

This commit was created with:

  $ git format-patch -1 bac75bb -- src/cephadm/cephadm.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 37be1c3)

Conflicts:
        src/cephadm/cephadm.py

The conflict we saw:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

<<<<<<< HEAD
=======
    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # enable autotune for osd_memory_target
    logger.info('Enabling autotune for osd_memory_target')
    cli(['config', 'set', 'osd', 'osd_memory_target_autotune', 'true'])

>>>>>>> 37be1c3 (cephadm: add Call Home and Storage Insights)
    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

The conflict was resolved by removing the osd autotune lines:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```
Moisi pushed a commit to Moisi/ceph that referenced this pull request Jun 30, 2025
…of ceph 18

Merge in STORAGEENG/ceph from ~DAVIDH/ceph-davidh:OBJGEN1-1034-ceph-18-trivy to aka_version_18.2.1

* commit 'cb3f7c7bd9b6201c46798f08f564f7fe62a45aa4':
  Update make-debs.sh
  OBJGEN1-1034 ceph 19 trivy when make_debs.sh is called by source-build.sh
hasan4791 pushed a commit to hasan4791/ceph that referenced this pull request Jan 6, 2026
This is a combination of 18 commits to ease maintenance.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit c9deac1)

Resolves: rhbz#2235256
(cherry picked from commit eb3b298)
(cherry picked from commit de6cbfb)

Conflicts:
    ceph.spec.in

    A new line was missing between the block of "%files node-proxy"
    and that of "%files mgr-callhome".

Please note that the changes in de6cbfb
to src/cephadm/cephadm.py were reset in this commit, since they were
extracted and cherry-picked to a separate call-home-cephadm branch.

pybind/mgr: add call_home_agent to CMakeLists.txt and tox.ini

This fixes the previous commit
(c9deac1) and could be squashed down in
future rebases.

Related: rhbz#2235256

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit e74a8c4)
(cherry picked from commit a58aff2)

mgr/call_home_agent: fix reports frequency

Inventory reports frequency should be daily (60*60*24).
Status reports frequency should be every 30 minutes (60*30).

Move content of options.py into module.py, no reason for separate files.

Resolves: rhbz#2241825

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27da98d)
(cherry picked from commit 0bd94e2)

mgr/call_home_agent: add "request_time" to all events payload

Storage Insights requires that a "request_time" key will be included in
the "payload" section of all events. Its value is unix timestamp
milliseconds.

Resolves: rhbz#2248640
https://bugzilla.redhat.com/show_bug.cgi?id=2248640

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 981b0ea)
(cherry picked from commit 0b79454)

mgr/ccha: Fix decoding issue

The encoded JWT token inside password must be managed as raw string

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e7e618e7f064a75434e3822c4ef9499ddab43fd1)
(cherry picked from commit 9acaa16)

mgr/ccha: Fix help for ceph callhome show command

Resolves: rhbz#2243795
          https://bugzilla.redhat.com/show_bug.cgi?id=2243795

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit cd4356588a615d83d9ae3cd7806008bd8b4cdae1)
(cherry picked from commit 14bb3e9)

mgr/ccha: Fix ceph callhome get user output

Call home manager module options names and fields shown in the
callhome get user command are now the same

Resolves: rhbz#2243796
          https://bugzilla.redhat.com/show_bug.cgi?id=2243796

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

mgr/callhome: Add hardware status to inventory reports (ceph#48)

Hardware status will be fetched daily from Node Proxy, and will be added to the
inventory reports.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 9be771d7e63e21b185a65f1d0fecb4c959a3c058)

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434
(cherry picked from commit 209527a)

mgr/callhome: Send alerts to Call Home (ceph#47)

Add the functionality of sending Prometheus alerts to IBM Call Home.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit aed81302e05451fb2c0d271d199a099623b205d9)

Resolves: rhbz#2264432
          https://bugzilla.redhat.com/show_bug.cgi?id=2264432
(cherry picked from commit e5a1462)

mgr/callhome: Upload diagnostics

Implementation of the upload diagnostics functionality in Call Home Agent

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

Resolves: rhbz#2264444
          https://bugzilla.redhat.com/show_bug.cgi?id=2264444
(cherry picked from commit 6a3d65e)

mgr/ccha: Fix sos report file corrupted in EcuRep

The sos report file upload to EcuRep cannot be unpacked

    This commit can be safely squashed along with:
    6a3d65e
    mgr/callhome: Upload diagnostics

Resolves: rhbz#2266236
          https://bugzilla.redhat.com/show_bug.cgi?id=2266236

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit a56fe4624845d248fe534f87f145abc984f281fb)
(cherry picked from commit 89a4ea1)

mgr/ccha: Fix inventory report (ceph#54)

The inventory report cannot be generated

This commit can be safely squashed along with:
    209527a
    mgr/callhome: Add hardware status to inventory reports
in future releases

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 0320c857e0a7151f4846f2187c48c1fc2a3c0c98)
(cherry picked from commit 6e4b152)

mgr/ccha: Upload diagnostics level 1 report error (ceph#55)

Resolves: rhbz#2268399
          https://bugzilla.redhat.com/show_bug.cgi?id=2268399

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

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the call home module changes.

See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54?merge_request_iid=520

This commit was created with:

  $ git format-patch -1 bac75bb -- src/pybind/mgr/call_home_agent/module.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

mgr/ccha: Remove jti error message when no credentials (ceph#61)

Avoid the annoying error message if not credentials present
Fix error if registry credentials are set using ceph cephadm registry-reg_credentials
Changed default regex for registry urls

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit aac9d3a359af145ec6cae92836e387d65978602e)
(cherry picked from commit 9dd5647)

mgr/callhome: use static Transfer ID

ECuRep requires Transfer ID credentials (user ID and password). In this fix we
are adding the option to load them from the encrypted keys file instead of
asking the user to populate them. The keys from the files are the default. As a
workaround, we are leaving the option to manually populate the module options,
in case we ever need it.

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27eddcb76bd2f67eee13b7539bb006d286ba560d)
(cherry picked from commit 55e45c7)

mgr/ccha: Increase default value for cooling window

Increased upload_snap_cooling_window_seconds option value to 1 day

Resolves: rhbz#2273565
          https://bugzilla.redhat.com/show_bug.cgi?id=2273565

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e6787dbdca28e2a007d405775f145dbad94a68c9)
(cherry picked from commit 7181f16)

BF-2271537: mgr/callhome: pick up SI event ID (ceph#65)

Storage Insights event ID was not picked up correctly which prevented Ceph from
listening to SI triggered requests, and thus not fulfilling them and updating
on their status.
Status for operations updated to match SI expectations

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Co-authored-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 7d87f5cd50a21ff16675c69ff6dac55235cdbc22)
(cherry picked from commit 5290a81)
(cherry picked from commit 9786c32e2f98840a249405f64639e43606d09b87)

When cherry-picking to the 9.0 branch, this conflict occurred:

Conflicts:
    src/pybind/mgr/tox.ini

[testenv:test]
setenv = {[testenv]setenv}
deps = {[testenv]deps}
commands = {[testenv]commands}

<<<<<<< HEAD
=======
[testenv:fix]
basepython = python3
deps =
    autopep8
modules =
    alerts \
    balancer \
    call_home_agent \
    cephadm \
    cli_api \
    crash \
    devicehealth \
    diskprediction_local \
    insights \
    iostat \
    nfs \
    orchestrator \
    prometheus \
    rgw \
    status \
    telemetry
commands =
    python --version
    autopep8 {[autopep8]addopts} \
      {posargs:{[testenv:fix]modules}}
>>>>>>> 9786c32e2f9 (mgr/call_home_agent: IBM Call Home Agent module)

[testenv:pylint]

We ewsolved it by removing the original changes.
hasan4791 pushed a commit to hasan4791/ceph that referenced this pull request Jan 6, 2026
This is a combination of 7 commits in order to ease maintenance.

This commit is extracted from the initial commit that added the
call_home_agent mgr module (de6cbfb),
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/de6cbfbde53c64877941751d2ef5f8198ae5dccc

This commit was created with:

  $ git format-patch -1 de6cbfb -- src/cephadm/cephadm.py
  0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  $
  $ git apply -3 0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.
  $
  $ git add src/cephadm/cephadm.py

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

cephadm: fix setting first and last name fields for call home

During bootstrap we were setting the email field to
be the email, first name, and last name in succession
so if all these fields were provided the email would end
up as the last name and the actual email and first name
would be thrown away.

The fix is pretty self-explanatory

Resvoles: rhbz#2242916

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

cephadm: fix call home bootstrap error message

Specifically

--ceph-call-home-contect-email ("contect")-> --ceph-call-home-contact-email
--ceph-call-home-context-phone ("context") -> --ceph-call-home-contact-phone
--ceph-call-home-contact-first-name (for last name setting)
-> --ceph-call-home-contact-last-name

Resolves: rhbz#2242918

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

cephadm: fix bootstrap with --enable-storage-insights set

If --enable-storage-insights is set, there was an
additional check that we aren't enabling storage insights
but not call home. This check was broken as it was
checking "enable_call_home" instead of "enable_ibm_call_home"
attribute on the ctx object.

Resolves: rhbz#2243115

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

Conflicts:
	src/cephadm/cephadm.py

<<<<<<< HEAD
    # initial vars
    ctx.fsid = ctx.fsid or make_fsid()
    fsid = ctx.fsid
    if not is_fsid(fsid):
        raise Error('not an fsid: %s' % fsid)

    if ctx.enable_storage_insights and not ctx.enable_call_home:
=======
    if ctx.enable_storage_insights and not ctx.enable_ibm_call_home:
>>>>>>> 4d8b471 (cephadm: fix bootstrap with --enable-storage-insights set)
        raise Error('Cannot enable Storage Insights without enabling call home (--enable-ibm-call-home)')
    elif ctx.enable_ibm_call_home:
        verify_call_home_settings(ctx)

Conflict was reslolved by keeping everything, except for:
    if ctx.enable_storage_insights and not ctx.enable_call_home:

mgr/callhome: cephadm sos command wrapper

Implementation of a wrapper for the sos command in cephadm

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

Resolves: rhbz#2264462
          https://bugzilla.redhat.com/show_bug.cgi?id=2264462
(cherry picked from commit 4b0049f)

mgr/ccha: Fix cephadm sos command error (ceph#53)

The cephadm sos command fails

This commit can be safely squashed along with:
4b0049f
mgr/callhome: cephadm sos command wrapper
in future releases

Resolves: rhbz#2267676
          https://bugzilla.redhat.com/show_bug.cgi?id=2267676

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 1d413c767d4dc034202907e1393f9e69808004db)
(cherry picked from commit 873b28e)

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54

This commit was created with:

  $ git format-patch -1 bac75bb -- src/cephadm/cephadm.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 37be1c3)

Conflicts:
        src/cephadm/cephadm.py

The conflict we saw:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

<<<<<<< HEAD
=======
    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # enable autotune for osd_memory_target
    logger.info('Enabling autotune for osd_memory_target')
    cli(['config', 'set', 'osd', 'osd_memory_target_autotune', 'true'])

>>>>>>> 37be1c3 (cephadm: add Call Home and Storage Insights)
    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

The conflict was resolved by removing the osd autotune lines:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

(cherry picked from commit 8b565c3)
rkachach pushed a commit to rkachach/ceph that referenced this pull request Mar 3, 2026
This is a combination of 7 commits in order to ease maintenance.

This commit is extracted from the initial commit that added the
call_home_agent mgr module (de6cbfb),
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/de6cbfbde53c64877941751d2ef5f8198ae5dccc

This commit was created with:

  $ git format-patch -1 de6cbfb -- src/cephadm/cephadm.py
  0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  $
  $ git apply -3 0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.
  $
  $ git add src/cephadm/cephadm.py

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

cephadm: fix setting first and last name fields for call home

During bootstrap we were setting the email field to
be the email, first name, and last name in succession
so if all these fields were provided the email would end
up as the last name and the actual email and first name
would be thrown away.

The fix is pretty self-explanatory

Resvoles: rhbz#2242916

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

cephadm: fix call home bootstrap error message

Specifically

--ceph-call-home-contect-email ("contect")-> --ceph-call-home-contact-email
--ceph-call-home-context-phone ("context") -> --ceph-call-home-contact-phone
--ceph-call-home-contact-first-name (for last name setting)
-> --ceph-call-home-contact-last-name

Resolves: rhbz#2242918

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

cephadm: fix bootstrap with --enable-storage-insights set

If --enable-storage-insights is set, there was an
additional check that we aren't enabling storage insights
but not call home. This check was broken as it was
checking "enable_call_home" instead of "enable_ibm_call_home"
attribute on the ctx object.

Resolves: rhbz#2243115

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

Conflicts:
	src/cephadm/cephadm.py

<<<<<<< HEAD
    # initial vars
    ctx.fsid = ctx.fsid or make_fsid()
    fsid = ctx.fsid
    if not is_fsid(fsid):
        raise Error('not an fsid: %s' % fsid)

    if ctx.enable_storage_insights and not ctx.enable_call_home:
=======
    if ctx.enable_storage_insights and not ctx.enable_ibm_call_home:
>>>>>>> 4d8b471 (cephadm: fix bootstrap with --enable-storage-insights set)
        raise Error('Cannot enable Storage Insights without enabling call home (--enable-ibm-call-home)')
    elif ctx.enable_ibm_call_home:
        verify_call_home_settings(ctx)

Conflict was reslolved by keeping everything, except for:
    if ctx.enable_storage_insights and not ctx.enable_call_home:

mgr/callhome: cephadm sos command wrapper

Implementation of a wrapper for the sos command in cephadm

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

Resolves: rhbz#2264462
          https://bugzilla.redhat.com/show_bug.cgi?id=2264462
(cherry picked from commit 4b0049f)

mgr/ccha: Fix cephadm sos command error (ceph#53)

The cephadm sos command fails

This commit can be safely squashed along with:
4b0049f
mgr/callhome: cephadm sos command wrapper
in future releases

Resolves: rhbz#2267676
          https://bugzilla.redhat.com/show_bug.cgi?id=2267676

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 1d413c767d4dc034202907e1393f9e69808004db)
(cherry picked from commit 873b28e)

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54

This commit was created with:

  $ git format-patch -1 bac75bb -- src/cephadm/cephadm.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 37be1c3)

Conflicts:
        src/cephadm/cephadm.py

The conflict we saw:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

<<<<<<< HEAD
=======
    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # enable autotune for osd_memory_target
    logger.info('Enabling autotune for osd_memory_target')
    cli(['config', 'set', 'osd', 'osd_memory_target_autotune', 'true'])

>>>>>>> 37be1c3 (cephadm: add Call Home and Storage Insights)
    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

The conflict was resolved by removing the osd autotune lines:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

(cherry picked from commit 8b565c3)
(cherry picked from commit a22f065)
phlogistonjohn pushed a commit to phlogistonjohn/ceph that referenced this pull request Mar 6, 2026
This is a combination of 18 commits to ease maintenance.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit c9deac1)

Resolves: rhbz#2235256
(cherry picked from commit eb3b298)
(cherry picked from commit de6cbfb)

Conflicts:
    ceph.spec.in

    A new line was missing between the block of "%files node-proxy"
    and that of "%files mgr-callhome".

Please note that the changes in de6cbfb
to src/cephadm/cephadm.py were reset in this commit, since they were
extracted and cherry-picked to a separate call-home-cephadm branch.

pybind/mgr: add call_home_agent to CMakeLists.txt and tox.ini

This fixes the previous commit
(c9deac1) and could be squashed down in
future rebases.

Related: rhbz#2235256

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit e74a8c4)
(cherry picked from commit a58aff2)

mgr/call_home_agent: fix reports frequency

Inventory reports frequency should be daily (60*60*24).
Status reports frequency should be every 30 minutes (60*30).

Move content of options.py into module.py, no reason for separate files.

Resolves: rhbz#2241825

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27da98d)
(cherry picked from commit 0bd94e2)

mgr/call_home_agent: add "request_time" to all events payload

Storage Insights requires that a "request_time" key will be included in
the "payload" section of all events. Its value is unix timestamp
milliseconds.

Resolves: rhbz#2248640
https://bugzilla.redhat.com/show_bug.cgi?id=2248640

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 981b0ea)
(cherry picked from commit 0b79454)

mgr/ccha: Fix decoding issue

The encoded JWT token inside password must be managed as raw string

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e7e618e7f064a75434e3822c4ef9499ddab43fd1)
(cherry picked from commit 9acaa16)

mgr/ccha: Fix help for ceph callhome show command

Resolves: rhbz#2243795
          https://bugzilla.redhat.com/show_bug.cgi?id=2243795

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit cd4356588a615d83d9ae3cd7806008bd8b4cdae1)
(cherry picked from commit 14bb3e9)

mgr/ccha: Fix ceph callhome get user output

Call home manager module options names and fields shown in the
callhome get user command are now the same

Resolves: rhbz#2243796
          https://bugzilla.redhat.com/show_bug.cgi?id=2243796

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

mgr/callhome: Add hardware status to inventory reports (ceph#48)

Hardware status will be fetched daily from Node Proxy, and will be added to the
inventory reports.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 9be771d7e63e21b185a65f1d0fecb4c959a3c058)

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434
(cherry picked from commit 209527a)

mgr/callhome: Send alerts to Call Home (ceph#47)

Add the functionality of sending Prometheus alerts to IBM Call Home.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit aed81302e05451fb2c0d271d199a099623b205d9)

Resolves: rhbz#2264432
          https://bugzilla.redhat.com/show_bug.cgi?id=2264432
(cherry picked from commit e5a1462)

mgr/callhome: Upload diagnostics

Implementation of the upload diagnostics functionality in Call Home Agent

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

Resolves: rhbz#2264444
          https://bugzilla.redhat.com/show_bug.cgi?id=2264444
(cherry picked from commit 6a3d65e)

mgr/ccha: Fix sos report file corrupted in EcuRep

The sos report file upload to EcuRep cannot be unpacked

    This commit can be safely squashed along with:
    6a3d65e
    mgr/callhome: Upload diagnostics

Resolves: rhbz#2266236
          https://bugzilla.redhat.com/show_bug.cgi?id=2266236

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit a56fe4624845d248fe534f87f145abc984f281fb)
(cherry picked from commit 89a4ea1)

mgr/ccha: Fix inventory report (ceph#54)

The inventory report cannot be generated

This commit can be safely squashed along with:
    209527a
    mgr/callhome: Add hardware status to inventory reports
in future releases

Resolves: rhbz#2264434
          https://bugzilla.redhat.com/show_bug.cgi?id=2264434

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 0320c857e0a7151f4846f2187c48c1fc2a3c0c98)
(cherry picked from commit 6e4b152)

mgr/ccha: Upload diagnostics level 1 report error (ceph#55)

Resolves: rhbz#2268399
          https://bugzilla.redhat.com/show_bug.cgi?id=2268399

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

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the call home module changes.

See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54?merge_request_iid=520

This commit was created with:

  $ git format-patch -1 bac75bb -- src/pybind/mgr/call_home_agent/module.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

mgr/ccha: Remove jti error message when no credentials (ceph#61)

Avoid the annoying error message if not credentials present
Fix error if registry credentials are set using ceph cephadm registry-reg_credentials
Changed default regex for registry urls

Resolves: rhbz#2231489
          https://bugzilla.redhat.com/show_bug.cgi?id=2231489

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit aac9d3a359af145ec6cae92836e387d65978602e)
(cherry picked from commit 9dd5647)

mgr/callhome: use static Transfer ID

ECuRep requires Transfer ID credentials (user ID and password). In this fix we
are adding the option to load them from the encrypted keys file instead of
asking the user to populate them. The keys from the files are the default. As a
workaround, we are leaving the option to manually populate the module options,
in case we ever need it.

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 27eddcb76bd2f67eee13b7539bb006d286ba560d)
(cherry picked from commit 55e45c7)

mgr/ccha: Increase default value for cooling window

Increased upload_snap_cooling_window_seconds option value to 1 day

Resolves: rhbz#2273565
          https://bugzilla.redhat.com/show_bug.cgi?id=2273565

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit e6787dbdca28e2a007d405775f145dbad94a68c9)
(cherry picked from commit 7181f16)

BF-2271537: mgr/callhome: pick up SI event ID (ceph#65)

Storage Insights event ID was not picked up correctly which prevented Ceph from
listening to SI triggered requests, and thus not fulfilling them and updating
on their status.
Status for operations updated to match SI expectations

Resolves: rhbz#2271537

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
Co-authored-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 7d87f5cd50a21ff16675c69ff6dac55235cdbc22)
(cherry picked from commit 5290a81)
(cherry picked from commit 9786c32e2f98840a249405f64639e43606d09b87)

When cherry-picking to the 9.0 branch, this conflict occurred:

Conflicts:
    src/pybind/mgr/tox.ini

[testenv:test]
setenv = {[testenv]setenv}
deps = {[testenv]deps}
commands = {[testenv]commands}

<<<<<<< HEAD
=======
[testenv:fix]
basepython = python3
deps =
    autopep8
modules =
    alerts \
    balancer \
    call_home_agent \
    cephadm \
    cli_api \
    crash \
    devicehealth \
    diskprediction_local \
    insights \
    iostat \
    nfs \
    orchestrator \
    prometheus \
    rgw \
    status \
    telemetry
commands =
    python --version
    autopep8 {[autopep8]addopts} \
      {posargs:{[testenv:fix]modules}}
>>>>>>> 9786c32e2f9 (mgr/call_home_agent: IBM Call Home Agent module)

[testenv:pylint]

We ewsolved it by removing the original changes.

(cherry picked from commit 213fde6)

When cherry-picking to the 9.1 branch, this conflict occurred:

Conflicts:

<<<<<<< HEAD
cheroot~=10.0
=======
pyjwt
>>>>>>> 213fde6 (mgr/call_home_agent: IBM Call Home Agent module)

We resolved it by keeping both requirements.
phlogistonjohn pushed a commit to phlogistonjohn/ceph that referenced this pull request Mar 6, 2026
This is a combination of 7 commits in order to ease maintenance.

This commit is extracted from the initial commit that added the
call_home_agent mgr module (de6cbfb),
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/de6cbfbde53c64877941751d2ef5f8198ae5dccc

This commit was created with:

  $ git format-patch -1 de6cbfb -- src/cephadm/cephadm.py
  0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  $
  $ git apply -3 0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.
  $
  $ git add src/cephadm/cephadm.py

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

cephadm: fix setting first and last name fields for call home

During bootstrap we were setting the email field to
be the email, first name, and last name in succession
so if all these fields were provided the email would end
up as the last name and the actual email and first name
would be thrown away.

The fix is pretty self-explanatory

Resvoles: rhbz#2242916

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

cephadm: fix call home bootstrap error message

Specifically

--ceph-call-home-contect-email ("contect")-> --ceph-call-home-contact-email
--ceph-call-home-context-phone ("context") -> --ceph-call-home-contact-phone
--ceph-call-home-contact-first-name (for last name setting)
-> --ceph-call-home-contact-last-name

Resolves: rhbz#2242918

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

cephadm: fix bootstrap with --enable-storage-insights set

If --enable-storage-insights is set, there was an
additional check that we aren't enabling storage insights
but not call home. This check was broken as it was
checking "enable_call_home" instead of "enable_ibm_call_home"
attribute on the ctx object.

Resolves: rhbz#2243115

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

Conflicts:
	src/cephadm/cephadm.py

<<<<<<< HEAD
    # initial vars
    ctx.fsid = ctx.fsid or make_fsid()
    fsid = ctx.fsid
    if not is_fsid(fsid):
        raise Error('not an fsid: %s' % fsid)

    if ctx.enable_storage_insights and not ctx.enable_call_home:
=======
    if ctx.enable_storage_insights and not ctx.enable_ibm_call_home:
>>>>>>> 4d8b471 (cephadm: fix bootstrap with --enable-storage-insights set)
        raise Error('Cannot enable Storage Insights without enabling call home (--enable-ibm-call-home)')
    elif ctx.enable_ibm_call_home:
        verify_call_home_settings(ctx)

Conflict was reslolved by keeping everything, except for:
    if ctx.enable_storage_insights and not ctx.enable_call_home:

mgr/callhome: cephadm sos command wrapper

Implementation of a wrapper for the sos command in cephadm

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

Resolves: rhbz#2264462
          https://bugzilla.redhat.com/show_bug.cgi?id=2264462
(cherry picked from commit 4b0049f)

mgr/ccha: Fix cephadm sos command error (ceph#53)

The cephadm sos command fails

This commit can be safely squashed along with:
4b0049f
mgr/callhome: cephadm sos command wrapper
in future releases

Resolves: rhbz#2267676
          https://bugzilla.redhat.com/show_bug.cgi?id=2267676

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 1d413c767d4dc034202907e1393f9e69808004db)
(cherry picked from commit 873b28e)

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54

This commit was created with:

  $ git format-patch -1 bac75bb -- src/cephadm/cephadm.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 37be1c3)

Conflicts:
        src/cephadm/cephadm.py

The conflict we saw:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

<<<<<<< HEAD
=======
    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # enable autotune for osd_memory_target
    logger.info('Enabling autotune for osd_memory_target')
    cli(['config', 'set', 'osd', 'osd_memory_target_autotune', 'true'])

>>>>>>> 37be1c3 (cephadm: add Call Home and Storage Insights)
    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

The conflict was resolved by removing the osd autotune lines:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

(cherry picked from commit 8b565c3)
(cherry picked from commit a22f065)
phlogistonjohn pushed a commit to phlogistonjohn/ceph that referenced this pull request Mar 6, 2026
This is a combination of 7 commits in order to ease maintenance.

This commit is extracted from the initial commit that added the
call_home_agent mgr module (de6cbfb),
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/de6cbfbde53c64877941751d2ef5f8198ae5dccc

This commit was created with:

  $ git format-patch -1 de6cbfb -- src/cephadm/cephadm.py
  0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  $
  $ git apply -3 0001-mgr-call_home_agent-IBM-Call-Home-Agent-module.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.
  $
  $ git add src/cephadm/cephadm.py

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>

cephadm: fix setting first and last name fields for call home

During bootstrap we were setting the email field to
be the email, first name, and last name in succession
so if all these fields were provided the email would end
up as the last name and the actual email and first name
would be thrown away.

The fix is pretty self-explanatory

Resvoles: rhbz#2242916

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

cephadm: fix call home bootstrap error message

Specifically

--ceph-call-home-contect-email ("contect")-> --ceph-call-home-contact-email
--ceph-call-home-context-phone ("context") -> --ceph-call-home-contact-phone
--ceph-call-home-contact-first-name (for last name setting)
-> --ceph-call-home-contact-last-name

Resolves: rhbz#2242918

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

cephadm: fix bootstrap with --enable-storage-insights set

If --enable-storage-insights is set, there was an
additional check that we aren't enabling storage insights
but not call home. This check was broken as it was
checking "enable_call_home" instead of "enable_ibm_call_home"
attribute on the ctx object.

Resolves: rhbz#2243115

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

Conflicts:
	src/cephadm/cephadm.py

<<<<<<< HEAD
    # initial vars
    ctx.fsid = ctx.fsid or make_fsid()
    fsid = ctx.fsid
    if not is_fsid(fsid):
        raise Error('not an fsid: %s' % fsid)

    if ctx.enable_storage_insights and not ctx.enable_call_home:
=======
    if ctx.enable_storage_insights and not ctx.enable_ibm_call_home:
>>>>>>> 4d8b471 (cephadm: fix bootstrap with --enable-storage-insights set)
        raise Error('Cannot enable Storage Insights without enabling call home (--enable-ibm-call-home)')
    elif ctx.enable_ibm_call_home:
        verify_call_home_settings(ctx)

Conflict was reslolved by keeping everything, except for:
    if ctx.enable_storage_insights and not ctx.enable_call_home:

mgr/callhome: cephadm sos command wrapper

Implementation of a wrapper for the sos command in cephadm

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

Resolves: rhbz#2264462
          https://bugzilla.redhat.com/show_bug.cgi?id=2264462
(cherry picked from commit 4b0049f)

mgr/ccha: Fix cephadm sos command error (ceph#53)

The cephadm sos command fails

This commit can be safely squashed along with:
4b0049f
mgr/callhome: cephadm sos command wrapper
in future releases

Resolves: rhbz#2267676
          https://bugzilla.redhat.com/show_bug.cgi?id=2267676

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@ibm.com>
(cherry picked from commit 1d413c767d4dc034202907e1393f9e69808004db)
(cherry picked from commit 873b28e)

cephadm: make cephadm sos cmd more robust (ceph#56)

This commit is extracted from bac75bb
in order to include only the cephadm changes.
See:
https://gitlab.cee.redhat.com/ceph/ceph/-/commit/bac75bb1b9052982fd9b4ebc3ff5116b67081c54

This commit was created with:

  $ git format-patch -1 bac75bb -- src/cephadm/cephadm.py
  0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  $
  $ git apply -3 0001-mgr-ccha-make-cephadm-sos-cmd-more-robust-56.patch
  Applied patch to 'src/cephadm/cephadm.py' cleanly.

Signed-off-by: Yaarit Hatuka <yhatuka@ibm.com>
(cherry picked from commit 37be1c3)

Conflicts:
        src/cephadm/cephadm.py

The conflict we saw:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

<<<<<<< HEAD
=======
    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # enable autotune for osd_memory_target
    logger.info('Enabling autotune for osd_memory_target')
    cli(['config', 'set', 'osd', 'osd_memory_target_autotune', 'true'])

>>>>>>> 37be1c3 (cephadm: add Call Home and Storage Insights)
    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

The conflict was resolved by removing the osd autotune lines:
```
            logger.info('\nApplying %s to cluster failed!\n' % ctx.apply_spec)

    save_cluster_config(ctx, uid, gid, fsid)

    apply_call_home_settings(ctx, cli, wait_for_mgr_restart)

    # Notify the Dashboard to show the 'Expand cluster' page on first log in.
    cli(['config-key', 'set', 'mgr/dashboard/cluster/status', 'INSTALLED'])
```

(cherry picked from commit 8b565c3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants