summaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | | | | | | Merge pull request #48010 from ljflores/wip-lflores-primary-balancerLaura Flores2023-02-285-13/+583
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd, tools, test/osd: implement read balancer
| * | | | | | | | | | | | | test/osd: add read balancer unit testsLaura Flores2023-02-221-1/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds unit test coverage to the read balancing feature, including small vs. large osdmap scenarios, random osdmap scenarios, and scenarios that involve tweaking primary affinity on an OSD. Signed-off-by: Laura Flores <lflores@redhat.com>
| * | | | | | | | | | | | | tools, test/cli: add read balancer to osdmaptoolLaura Flores2023-02-222-9/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the capability to balance reads on a given osdmap with the osdmaptool. The user has the option of performing a "dry run" of read balancing OR taking it a step further and applying the results to a live cluster. Performing a "dry run" would involve simply running an osdmaptool command and inspecting the results. The template for the command is: `osdmaptool <osd map file> --read <file for command output> --read-pool <pool name>` An example command a user might run is: `osdmaptool om --read out.txt --read-pool default.rgw.control` This commit also adds a `--vstart` flag that allows a user to print ceph commands in the outfile formatted for a vstart cluster. An example command a user might run is: `./bin/osdmaptool om --vstart --read out.txt --read-pool default.rgw.control` The out.txt file would contain ceph commands prefixed with `./bin/`. The `--vstart` flag may also be applied to an `--upmap` osdmaptool command. If the user wants to apply read balancing results from their dry run to a live cluster, they may either manually apply the ceph commands from the out file, or run `source <outfile>`. Signed-off-by: Laura Flores <lflores@redhat.com>
| * | | | | | | | | | | | | osd: implement read balancerLaura Flores2023-02-222-3/+215
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements two functions: 1. calc_desired_primary_distribution Based on the number of pgs in a pool and the pool's replica count, we calculate the ideal number of primary pgs that should be assigned to each OSD on that pool in order for reads to be balanced. 2. balance_primaries This is the overall algorithm used to balance reads (primary pgs) in a pool. Based on the first function, we re-distribute primaries on the OSDs in a pool so each OSD has the ideal number of primaries. This is done without data movement. Signed-off-by: Laura Flores <lflores@redhat.com>
* | | | | | | | | | | | | | Merge pull request #49482 from amathuria/wip-amathuria-mclock-high-prio-queueLaura Flores2023-02-283-14/+167
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / / / / / |/| | | | | | | | | | | | | mClock: Add ability to handle high priority operations
| * | | | | | | | | | | | | mClock: Replace immediate queue with high priority queueAishwarya Mathuria2023-02-083-15/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the introduction of a high priority queue in the mClock workflow, we no longer need a separate queue for ops that need to be processed immediately. We will be using the high_priority queue with a very high priority for all items having op_scheduler_class as immediate. Signed-off-by: Aishwarya Mathuria <amathuri@redhat.com>
| * | | | | | | | | | | | | mClock: Add ability to handle high priority operationsAishwarya Mathuria2023-02-083-6/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are some cases that may require mClock to handle high priority operations before other items in the queue. In order to make this possible, we are introducing a "High Queue" that will hold high priority operations. The high queue will be dequeued before the mClock queue. High queue has been implemented as a priority queue, operations with higher priority will get preference at time of dequeue. Trello: https://trello.com/c/Kelm8z0x/775-qos-add-ability-to-handle-high-priority-operations Signed-off-by: Aishwarya Mathuria <amathuri@redhat.com>
* | | | | | | | | | | | | | Merge pull request #48706 from Matan-B/wip-matanb-max-oldest-mapYuri Weinstein2023-02-2715-60/+115
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OSD: Fix check_past_interval_bounds() Reviewed-by: Samuel Just <sjust@redhat.com> Reviewed-by: Neha Ojha <nojha@redhat.com> Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
| * | | | | | | | | | | | | | messages/MOSDMap: Remove get_oldest/newestMatan Breizman2023-02-022-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cluster_osdmap_trim_lower_bound and newest_map are public. Signed-off-by: Matan Breizman <mbreizma@redhat.com>
| * | | | | | | | | | | | | | crimson/osd: Rename MOSDMap::oldest_map usersMatan Breizman2023-02-022-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matan Breizman <mbreizma@redhat.com>
| * | | | | | | | | | | | | | messages/MOSDMap: Rename oldest_map to cluster_osdmap_trim_lower_boundMatan Breizman2023-02-024-26/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, MOSDMap messages sent to other OSDs were populated with the superblocks's oldest_map. We should, instead, use the superblock's cluster_osdmap_trim_lower_bound because oldest map is merely a marker for each osd's trimming progress. As specified in the docs: *** We use cluster_osdmap_trim_lower_bound rather than a specific osd's oldest_map because we don't necessarily trim all MOSDMap::oldest_map. In order to avoid doing too much work at once we limit the amount of osdmaps trimmed using ``osd_target_transaction_size`` in OSD::trim_maps(). For this reason, a specific OSD's oldest_map can lag behind OSDSuperblock::cluster_osdmap_trim_lower_bound for a while. *** Signed-off-by: Matan Breizman <mbreizma@redhat.com>
| * | | | | | | | | | | | | | crimson/osd/osd.cc: Add cluster_osdmap_trim_lower_bound to printMatan Breizman2023-02-021-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matan Breizman <mbreizma@redhat.com>
| * | | | | | | | | | | | | | osd/OSD.cc: Add cluster_osdmap_trim_lower_bound to statusMatan Breizman2023-02-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matan Breizman <mbreizma@redhat.com>
| * | | | | | | | | | | | | | osd: Rename max_oldest_map to cluster_osdmap_trim_lower_boundMatan Breizman2023-02-028-25/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Matan Breizman <mbreizma@redhat.com>
| * | | | | | | | | | | | | | osd: Remove oldest_stored_osdmap()Matan Breizman2023-02-015-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only usage was for identyfing map gaps on new intervals. We should use max_oldest_stored_osdmap() instead, since a specific osd's oldest_map may lag behind. Signed-off-by: Matan Breizman <mbreizma@redhat.com>
| * | | | | | | | | | | | | | osd: Fix check_past_interval_bounds()Matan Breizman2023-02-015-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When getting the required past interval bounds we use oldest_map or current pg info (lec/ec). Before this change we set oldest_map epoch using the osd's superblock.oldest_map. The fix will use the max_oldest_map received with other peers instead since a specific osd's oldest_map can lag for a while in order to avoid large workloads. Fixes: https://tracker.ceph.com/issues/49689 Signed-off-by: Matan Breizman <mbreizma@redhat.com>
| * | | | | | | | | | | | | | osd: move OSDService::max_oldest_map into OSDSuperblockMatan Breizman2023-02-014-14/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Persist max_oldest_map to the superblock. Signed-off-by: Matan Breizman <mbreizma@redhat.com>
* | | | | | | | | | | | | | | Merge pull request #49990 from rzarzynski/wip-osd-mon-public_bind_in_bindvLaura Flores2023-02-278-48/+91
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mon, osd: rework the public_bind_addr support. Bring it to OSD
| * | | | | | | | | | | | | | | osd: OSD's public messenger respects public_bind_addrsRadosław Zarzyński2023-02-201-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: https://tracker.ceph.com/issues/58779 Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
| * | | | | | | | | | | | | | | mon, msgr: rework the public addrs supportRadosław Zarzyński2023-02-205-42/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A monitor does support two kinds of addresses when binding msgr: 1) `bind_addrs` which are basically passed down the stack to e.g. the `bind()` syscall -- they are physical, low-level ones; 2) `public_addrs` which are exposed to peers over Ceph's on-wire protocols. This differentation is crucial for Rook and K8S use scenarios where, due to ephemeral nature of node's physical IPs, virtual _cluster IPs_ must be used instead for mon accesses. Although monitors still bind to physical ones, virtuals are exposed. Then, thankfully to NAT, the latter are converted to the former ones. Unfortunately, the current implmentation of this feature is based on the idea to 1) bind-as-usually and then 2) change-the-addrs via powerful `set_addrs()` setter. This setter is too powerful but the main issue is the `rebind()` sceario. It doesn't happen in monitors but OSDs may rebind when they get marked down by a monitor. Fixes: https://tracker.ceph.com/issues/58779 Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
| * | | | | | | | | | | | | | | common: make pick_address() aware about public_bind_addrRadoslaw Zarzynski2023-02-202-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: https://tracker.ceph.com/issues/58779 Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
* | | | | | | | | | | | | | | | Merge pull request #50047 from rhcs-dashboard/post-css-error-teuthYuri Weinstein2023-02-271-3/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mgr/dashboard: fix conflicting peer dependency: postcss@8.4.21 Reviewed-by: Laura Flores <lflores@redhat.com>
| * | | | | | | | | | | | | | | | mgr/dashboard: fix conflicting peer dependency: postcss@8.4.21Nizamudeen A2023-02-091-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The overrides was done by me as a workaround for an issue in postcss when i upgraded to angular 13. but it looks like that issue was no more when i tested with the latest. Fixes: https://tracker.ceph.com/issues/58475 Signed-off-by: Nizamudeen A <nia@redhat.com>
* | | | | | | | | | | | | | | | | Merge pull request #49507 from Matan-B/wip-matanb-check_pg_num-editYuri Weinstein2023-02-273-63/+60
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mon/OSDMontior: Simplify check_pg_num() Reviewed-by: Nitzan Mordechai <nmordech@redhat.com>
| * | | | | | | | | | | | | | | | | osd/OSDMapping: Remove get_num_acting_pgsMatan Breizman2022-12-201-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced here: bd9813f5e1a3addca1a57360d58b50b120e0e5f3 As check_pg_num() is changed, this method is no longer needed. Signed-off-by: Matan Breizman <mbreizma@redhat.com>
| * | | | | | | | | | | | | | | | | mon/OSDMonitor: Skip check_pg_num on pool size decreaseMatan Breizman2022-12-201-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When changing the pool size we use check_pg_num to not exceed `mon_max_pg_per_osd` value. This check should only be applied when increasing the size to avoid underflows. (Same already applied when changing pg_num) Signed-off-by: Matan Breizman <mbreizma@redhat.com>
| * | | | | | | | | | | | | | | | | mon/OSDMointor: Simplify check_pg_num()Matan Breizman2022-12-202-44/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * See: https://tracker.ceph.com/issues/47062. Originally check_pg_num did not take into account the root osds by the crash rule. This behavior resulted in an inaccurate pg num per osd count. * Avoid summing all of the projecetd pg num and only later on subtracting the pg num if the pool did exist. * With this change, we only count the projected pg num which are part the pools affected by the crush rule. Same for osd number, instead of dividing the projected pg number by all of the osdmap osds, divide only by the osds used by the crush rule. * Avoid differentiating between whether the mapping epoch is later than the osdmap epoch or not. Always check the pg num according to crush rule. Signed-off-by: Matan Breizman <mbreizma@redhat.com>
* | | | | | | | | | | | | | | | | | Merge pull request #48192 from amathuria/amathuria-edit-pg-deletion-costYuri Weinstein2023-02-272-0/+16
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd: Change default value of osd_pg_delete_cost Reviewed-by: Sridhar Seshasayee <sseshasa@redhat.com>
| * | | | | | | | | | | | | | | | | | osd: Change default value of osd_pg_delete_costAishwarya Mathuria2023-01-172-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd_pg_delete_cost defines the cost of the PG deletion operation. This cost is used by WPQ to determine which operation should be dequeued. Lower the cost, higher the chance of the operation being dequeued next. mClock scheduler uses the cost parameter in a similar way. However, with the osd_delete_sleep_ssd and osd_delete_sleep_hdd options disabled with mClock, we noticed that PG deletion was completing much faster with mClock scheduler. In order to achieve behavior similar to WPQ with mClock scheduler, the osd_pg_delete_cost has been increased. Signed-off-by: Aishwarya Mathuria <amathuri@redhat.com>
* | | | | | | | | | | | | | | | | | | Merge pull request #48657 from alimaredia/wip-rgw-labeled-perf-counters-cacheIlya Dryomov2023-02-2724-28/+933
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Labeled Perf Counters Reviewed-by: Casey Bodley <cbodley@redhat.com> Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
| * | | | | | | | | | | | | | | | | | | common: Add labeled perf countersAli Maredia2023-02-2319-28/+435
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the ability to dump labeled perf counters for a daemon. Labeled perf counters are stored in a CephContext's PerfCountersCollection. Labeled and unlabeled perf counters are dumped to the admin socket via `counters dump` command. The schema for labeled and unlabeled perf counters are dumped to the admin socket via `counters schema` command. This commit includes docs and additional unit tests Signed-off-by: Ali Maredia <amaredia@redhat.com>
| * | | | | | | | | | | | | | | | | | | common: add abstraction for label-aware perf counter keysCasey Bodley2023-02-235-0/+498
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a flat representation of a set of prometheus labels, returned as a std::string. this string can either be used for sorting an ordered container of perf counters, or for hashing an unordered container Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | | | | | | | | | | | | | | | | | | | Merge pull request #50230 from idryomov/wip-58833Ilya Dryomov2023-02-271-2/+3
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|/ / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | librbd: call apply_changes() after setting librados_thread_count Reviewed-by: Mykola Golub <mgolub@suse.com> Reviewed-by: Christopher Hoffman <choffman@redhat.com>
| * | | | | | | | | | | | | | | | | | | librbd: call apply_changes() after setting librados_thread_countIlya Dryomov2023-02-231-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise the setting doesn't take effect. While at it, replace home-grown stringify() with standard to_string(). Fixes: https://tracker.ceph.com/issues/58833 Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
* | | | | | | | | | | | | | | | | | | | Merge PR #50178 into mainVenky Shankar2023-02-271-0/+3
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|_|_|_|_|/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/pull/50178/head: client: add comment about how quota affect space usage report Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Xiubo Li <xiubli@redhat.com>
| * | | | | | | | | | | | | | | | | | | client: add comment about how quota affect space usage reportRishabh Dave2023-02-201-0/+3
| | |_|_|_|_|/ / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a comment to explain that setting quota on a CephFS directory makes a difference to how much available space on CephFS is reported when that directory serves as the root of the CephFS mount. Signed-off-by: Rishabh Dave <ridave@redhat.com>
* | | | | | | | | | | | | | | | | | | Merge pull request #50238 from rhcs-dashboard/fix-fix-58827_2-mainNizamudeen A2023-02-271-6/+6
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mgr/dashboard: fix constraints.txt again Reviewed-by: Nizamudeen A <nia@redhat.com> Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
| * | | | | | | | | | | | | | | | | | | mgr/dashboard: fix constraints.txt againErnesto Puerta2023-02-231-6/+6
| | |_|/ / / / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous attempt to fix this issue (https://github.com/ceph/ceph/pull/50207) was not successful, since the PIP syntax for compatible versions (~=) behaves differently compared to other package management tools (e.g.: npm). In this case, package~=x.y.z equasl to package>=x.y.z;package==x.y.*, instead of the desired package>=x.y.z;package==x.*. Fixes: tracker.ceph.com/issues/58827 Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
* | | | | | | | | | | | | | | | | | | Merge pull request #49299 from weirdwiz/status-updateIlya Dryomov2023-02-262-4/+12
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|_|_|/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rbd-mirror: add information about the last snapshot sync to image status Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Reviewed-by: Ramana Raja <rraja@redhat.com>
| * | | | | | | | | | | | | | | | | | rbd-mirror: add information about the last snapshot sync to image statusDivyansh Kamboj2023-02-202-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this commit adds fields for time taken to sync and bytes in the last snapshot to the mirror image status command. Fixes: https://tracker.ceph.com/issues/58755 Signed-off-by: Divyansh Kamboj <dkamboj@redhat.com>
* | | | | | | | | | | | | | | | | | | Merge pull request #50191 from ↵Yingxin2023-02-242-25/+35
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | xxhdx1985126/wip-weak-backref-retrieval-trans-issue-fix crimson/os/seastore: make weak transactions conflict with others on ROOT Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
| * | | | | | | | | | | | | | | | | | | crimson/os/seastore/async_cleaner: make backref retrieval trans non-weakXuehan Xu2023-02-231-24/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | backref retrieval transactions may conflict with others on RootBlock Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
| * | | | | | | | | | | | | | | | | | | crimson/os/seastore/cache: return the RootBlock it's waiting on inXuehan Xu2023-02-231-1/+1
| | |_|_|_|_|_|_|_|_|_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `Cache::get_root()` Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
* | | | | | | | | | | | | | | | | | | Merge pull request #48516 from athanatos/sjust/wip-57801Samuel Just2023-02-2415-9/+243
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | crimson,mon: add guards to avoid accidental crimson deployment and to avoid usage of unsupported features with crimson Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com> Reviewed-by: Greg Farnum <gfarnum@redhat.com>
| * | | | | | | | | | | | | | | | | | test/librados: SKIP_IF_CRIMSON remaining ec/cache testsSamuel Just2023-02-145-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Samuel Just <sjust@redhat.com>
| * | | | | | | | | | | | | | | | | | vstart: set osd_pool_default_crimson for crimson clustersSamuel Just2023-02-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Samuel Just <sjust@redhat.com>
| * | | | | | | | | | | | | | | | | | mon/OSDMonitor: set FLAG_NOPGCHANGE for crimson pools, disallow unsetting itSamuel Just2023-02-141-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Samuel Just <sjust@redhat.com>
| * | | | | | | | | | | | | | | | | | mon/OSDMonitor: disallow setting a crimson pool as a tier or a baseSamuel Just2023-02-141-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Samuel Just <sjust@redhat.com>
| * | | | | | | | | | | | | | | | | | mon/OSDMonitor: disallow changing pg_num_actual if pool has FLAG_NOPGCHANGESamuel Just2023-02-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The corresponding pg_num, pgp_num, and pgp_num_actual cases already have this guard. Signed-off-by: Samuel Just <sjust@redhat.com>
| * | | | | | | | | | | | | | | | | | mon/OSDMonitor: add crimson pool support, enforce crimson restrictionsSamuel Just2023-02-144-3/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Samuel Just <sjust@redhat.com>