Now that oldest/newest maps are stored as an interval set we no longer
move the oldest_map forward to `first` epoch. We simply add the new osdmap range
from `first` to `last` regardless of `skip_maps`.
trim_maps now erases the oldest_map each iteration and support epoch gaps.
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
replace oldest/newest_map members with an interval_set in order to
support the tracking of an osdmap range gap.
Map gap example:
```
2023-08-28T18:21:05.452+0000 7f409bce2640 3 osd.4 84 handle_osd_map epochs [85,86], i have 84, src has [1,86]
2023-08-28T18:26:25.829+0000 7fcfea0c1640 3 osd.4 86 handle_osd_map epochs [208,208], i have 86, src has [208,400]
2023-08-28T18:26:25.829+0000 7fcfea0c1640 10 osd.4 86 superblock cluster_osdmap_trim_lower_bound new epoch is: 208
2023-08-28T18:26:25.829+0000 7fcfea0c1640 10 osd.4 86 handle_osd_map osd map gap [16~71,208~1]
2023-08-28T18:26:25.829+0000 7fcfea0c1640 3 osd.4 86 handle_osd_map epochs [209,248], i have 208, src has [208,400]
2023-08-28T18:26:25.833+0000 7fcfea0c1640 10 osd.4 86 handle_osd_map osd map gap [31~56,208~4]
2023-08-28T18:26:25.941+0000 7fcfea0c1640 3 osd.4 211 handle_osd_map epochs [212,248], i have 211, src has [208,400]
2023-08-28T18:26:25.945+0000 7fcfea0c1640 10 osd.4 211 handle_osd_map osd map gap [46~41,208~41]
2023-08-28T18:26:25.949+0000 7fcfea0c1640 3 osd.4 211 handle_osd_map epochs [209,248], i have 248, src has [208,400]
2023-08-28T18:26:25.949+0000 7fcfea0c1640 3 osd.4 211 handle_osd_map epochs [212,251], i have 248, src has [208,400]
2023-08-28T18:26:25.953+0000 7fcfea0c1640 10 osd.4 211 handle_osd_map osd map gap [61~26,208~44]
2023-08-28T18:26:26.073+0000 7fcfea0c1640 3 osd.4 251 handle_osd_map epochs [249,288], i have 251, src has [208,400]
2023-08-28T18:26:26.081+0000 7fcfea0c1640 10 osd.4 251 handle_osd_map osd map gap [76~11,208~48]
2023-08-28T18:26:26.081+0000 7fcfea0c1640 3 osd.4 251 handle_osd_map epochs [252,291], i have 255, src has [208,400]
```
Full example: https://gist.github.com/Matan-B/9b0eed8daee3bd6c3216bd3b6d11e8fb
Fixes: https://tracker.ceph.com/issues/61962
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
Edit doc/architecture.rst up to "Cluster Map", but not including
"Cluster Map".
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
The "rbd" pool has not been created by default since Luminous. This
commit removes a command that assumed the existence of the "rbd" pool.
Signed-off-by: Zac Dover <zac.dover@proton.me>
mgr/dashboard: Object gateway sync status cards keeps loading when multisite is not configured
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
mgr/dashboard: Object gateway inventory card incorrect Buckets and user count
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
mgr/dashboard: replace sync progress bar with last synced timestamp in rgw multisite sync status card
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Ali Maredia <amaredia@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Currently, ceph-dencoder lacks certain rgw types, preventing us from accurately checking the ceph corpus for encode-decode mismatches.
This pull request aims to address this issue by adding the missing types to ceph-dencoder.
To successfully incorporate these types into ceph-dencoder, we need to introduce the necessary `dump` and `generate_test_instances`
functions that was missing in some types. These functions are essential for proper encode and decode of the added types.
This PR will enhance the functionality of ceph-dencoder by including the missing types, enabling a comprehensive analysis of encode-decode consistency.
With the addition of these types, we can ensure the robustness and correctness of the ceph corpus.
This update will significantly contribute to improving the overall reliability and accuracy of ceph-dencoder.
It allows for a more comprehensive assessment of the encode-decode behavior, leading to enhanced data integrity and stability within the ceph ecosystem.
Fixes: https://tracker.ceph.com/issues/61788
Signed-off-by: Nitzan Mordechai <nmordech@redhat.com>
PR #51942 today and PR #52409 was merged last week. Latter PR changed
"fs" to "fsp" and made mds_map and fscid private and introduced
get_mds_map() and get_fsicd() methods instead.
Combination of former and latter PR introduced compilation errors & made
it impossible to build the binaries on the latest main branch. This
commit attemps to fix this issue.
Fixes: https://tracker.ceph.com/issues/62729
Signed-off-by: Rishabh Dave <ridave@redhat.com>
Replace call to run_ceph_cmd() by call to get_ceph_cmd_stdout() in
method qa.tasks.cephfs.cephfs_test_case.CephFSTestCase.create_client().
run_ceph_cmd() will not return keyring which is wrong.
get_ceph_cmd_stdout() will return the stdout of "ceph auth add"
command, which is the keyring that is expected to be returned by
CephFSTestCase.create_client().
Fixes: https://tracker.ceph.com/issues/62246
Signed-off-by: Rishabh Dave <ridave@redhat.com>