Skip to content

fix more issues from clang(++) and cppchecker#47

Merged
liewegas merged 13 commits intoceph:masterfrom
dalgaaf:wip-da-sca-cppcheck-clang-2
Feb 11, 2013
Merged

fix more issues from clang(++) and cppchecker#47
liewegas merged 13 commits intoceph:masterfrom
dalgaaf:wip-da-sca-cppcheck-clang-2

Conversation

@dalgaaf
Copy link
Contributor

@dalgaaf dalgaaf commented Feb 11, 2013

Here another set of patches to fix issues found by clang/clang++ and cppcheck. As already send to the ceph-ML for review. Doesn't contain the 2 patches sage commented on (01/15 and 13/15).

Please pull from wip-da-sca-cppcheck-clang-2, I will close pull request #43.

Change declaration of config_option from 'class' to 'struct' since
it's defined as struct and used this way (access members). The declaration
as class doesn't change the behaviour.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix "Function parameter 'm' should be passed by reference." from cppchecker.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix warning for usage of queue.size() in do_queues(). Use empty()
since it should be prefered as it has, following the standard, a
constant time complexity regardless of the containter type. The
same is not guaranteed for size().

warning from cppchecker was:
[common/AsyncReserver.h:40]: (performance) Possible inefficient
  checking for 'queue' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix warning for usage of out->size() in _void_dequeue(). Use empty()
since it should be prefered as it has, following the standard, a
constant time complexity regardless of the containter type. The
same is not guaranteed for size().

warning from cppchecker was:
[common/WorkQueue.h:97]: (performance) Possible inefficient
  checking for 'queue' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix "(performance) Function parameter 's' should be passed by reference."
from cppchecker.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Remove unused variable to fix:

mon/PGMonitor.cc:170:11: warning: unused variable 'now'
  [-Wunused-variable]

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix "(performance) Function parameter 'm' should be passed by reference."
from cppchecker.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix warning for usage of *.size(). Use empty() since it should be
prefered as it has, following the standard, a constant time
complexity regardless of the containter type. The same is not
guaranteed for size().

warning from cppchecker was:
[osd/OSD.h:265]: (performance) Possible inefficient checking for
   'last_scrub_pg' emptiness.
[osd/OSD.h:274]: (performance) Possible inefficient checking for
   'last_scrub_pg' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix warning for usage of objects.size(). Use empty() since it
should be prefered as it has, following the standard, a constant
time complexity regardless of the containter type. The same is not
guaranteed for size().

warning from cppchecker was:
[osd/PG.h:599]: (performance) Possible inefficient checking for
  'objects' emptiness.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix warning from clang(++):

 test/mon/test_mon_workloadgen.cc:311:23: warning: in-class
 initializer for static data member of type 'const double' is
 a GNU extension [-Wgnu]

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix warning from clang(++):

librados/librados.cc:15:17: warning: using directive refers to
 implicitly-defined namespace 'std'
using namespace std;
                ^
Include what we need and use the related classes.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix warning from clang(++):

ceph_authtool.cc:15:17: warning: using directive refers to
 implicitly-defined namespace 'std'
using namespace std;
                ^
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Fix warning from clang(++):

common/Mutex.cc:14:17: warning: using directive refers to
  implicitly-defined namespace 'std'
using namespace std;
                ^

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
liewegas added a commit that referenced this pull request Feb 11, 2013
fix more issues from clang(++) and cppchecker

Reviewed-by: Sage Weil <sage@inktank.com>
@liewegas liewegas merged commit a39a48c into ceph:master Feb 11, 2013
@dalgaaf dalgaaf deleted the wip-da-sca-cppcheck-clang-2 branch February 26, 2013 19:48
chamdoo pushed a commit to chamdoo/ceph that referenced this pull request Nov 13, 2015
An initial implementation of kCompactionStopStyleSimilarSize for universal compaction
XinzeChi pushed a commit to XinzeChi/ceph that referenced this pull request Jan 29, 2016
using single transaction if possible
ddiss pushed a commit to ddiss/ceph that referenced this pull request Oct 25, 2016
Enable ExclusiveArch for x86-64 and aarch64 (bsc#989512)
rjfd pushed a commit to rjfd/ceph that referenced this pull request Jan 30, 2018
mgr/dasboard_v2: Refactor controller
votdev referenced this pull request in votdev/ceph Oct 5, 2022
rgw/sfs: Fix versioned object tests.
tobias-urdin pushed a commit to tobias-urdin/ceph that referenced this pull request Aug 2, 2023
Replace and retain Content-Type in copy tests

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
ivoalmeida pushed a commit to ivoalmeida/ceph that referenced this pull request Feb 27, 2024
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
yuvalif pushed a commit to yuvalif/ceph that referenced this pull request Mar 13, 2024
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
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 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)
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)
andrewschoen referenced this pull request in ibmstorage/ceph 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)
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)
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.
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.
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