Felipe Sanches Zanoni 2b0c73a1c8 Improve Ceph status check
Improve the Ceph status check by calling the Ceph restful API using
curl instead of the Ceph CLI. Uses the Ceph CLI as a fallback when
the restful api is not working.

The Ceph CLI takes around 250 ms to reply to a request, while the
restful API takes around 35 ms for the same request. It reduces the
load when checking Ceph status.

To make rest API calls using curl, it needs the service url and the
restful key. Since it takes time and resources to acquire those
values, they are cached in the /var/run/ceph_hang directory. The
.ceph_mgr_restful_key keeps the restful API key and the
.ceph_mgr_service keeps the url to the service.

Test-Plan:
 Test coverage:
  - Read/parse osd flag noup with error string injection;
  - Read/parse Ceph osd tree with error string injection;
  - Read/parse Ceph status with error string injection;
  - Read/parse Ceph health detail with error string injection;
  - Fallback to Ceph CLI when restful API is not available;
  - Swact controllers;
  - Power cycle standby controller;
  - Power cycle active controller;
  - Power cycle compute/storage node with ceph monitor;
  - DOR testing.

 PASS: AIO-SX
 PASS: AIO-DX
 PASS: Standard 2+2
 PASS: Storage 2+2+2

Closes-bug: 2077673

Signed-off-by: Felipe Sanches Zanoni <Felipe.SanchesZanoni@windriver.com>
Change-Id: I635bb0dc8dc674ff92567f71be6305271a6f87e0
2024-11-04 10:52:07 +00:00
2024-10-16 18:19:55 -03:00
2024-11-04 10:52:07 +00:00
2023-08-29 16:52:04 -03:00
2024-05-01 16:39:19 -04:00
2024-09-26 13:26:58 -04:00
2024-05-01 16:39:19 -04:00
2019-01-08 11:42:04 -05:00
2019-04-19 19:52:31 +00:00
2023-09-06 17:54:55 -03:00
2021-09-09 19:05:36 +03:00
2018-05-31 07:36:35 -07:00

integ

StarlingX Integration

Description
StarlingX Integration and packaging
Readme 53 MiB
Languages
Shell 29%
Python 21.8%
JavaScript 20.6%
Perl 12.2%
Makefile 6.5%
Other 9.8%