Project

General

Profile

Actions

Idea #12708

closed

[keep-balance] Move blocks to satisfy storage_classes_desired

Added by Tom Clegg over 6 years ago. Updated almost 6 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Keep
Target version:
Start date:
04/19/2018
Due date:
Story points:
0.5
Release:
Release relationship:
Auto

Description

keep-balance needs to take all relevant collections' storage_classes_desired fields into account when deciding to pull/trash replicas of a given block.

When sending pull requests, keep-balance should supply (in "mount_uuid") the UUID of a mount that offers the appropriate storage classes.

keep-balance's log should indicate whether all desired storage classes are achieved. (TBD: how much detail / how should details be reported?)

keep-balance's log should indicate whether all desired storage classes are achievable.

Prerequisites:
  • #7931: keep-balance using the /mounts/{uuid}/blocks API instead of the server-wide index API
  • #11644: keepstore supporting a new "destination mount" field in pull and trash list entries
  • Add `json:"mount_uuid"` tag to the MountUUID field added to PullRequest in keepstore in #11644
Examples:
  • replication_desired=2, storage_classes_desired=["foo","bar"] means at least 2 replicas should be stored on volumes that offer both "foo" and "bar" classes.
  • If a block appears in collection A (replication=2, classes=[foo,bar]) and collection B (replication=3, classes=[default]) then any of the following scenarios are accepted:
    • 2 replicas on 2 volumes with classes=[foo,bar] plus 3 replicas on 3 volumes with classes=[default]
    • 3 replicas on 3 volumes with classes=[foo,bar,default]
    • 2 replicas on 2 volumes with classes=[foo,bar,default] plus 1 replica on a volume with classes=[default]

Subtasks 3 (0 open3 closed)

Task #13295: Review 12708-balance-storage-classesResolvedPeter Amstutz04/19/2018Actions
Task #13415: Report replicas/bytes desired/existing in each storage classResolvedTom Clegg04/19/2018Actions
Task #13483: Review 12708-report-storage-classesResolvedTom Clegg04/19/2018Actions

Related issues

Blocks Arvados - Feature #11184: [Keep] Support multiple storage classesResolvedTom MorrisActions
Blocked by Arvados - Idea #12707: [API] Add columns for desired/actual storage classes for each collectionResolvedLucas Di Pentima02/22/2018Actions
Actions

Also available in: Atom PDF