-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[backport][SES5] OSD Migration for changed disk slots #1311
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jschmid1
reviewed
Aug 24, 2018
srv/modules/runners/replace.py
Outdated
for osd_id in osds: | ||
host = _find_host(osd_id, host_osds) | ||
if host: | ||
grains = local.cmd(host, 'grains.get', ['ceph'], tgt_type='compound') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
apparently tgt_type
needs to be expr_form
agraul
force-pushed
the
backport-1302
branch
2 times, most recently
from
August 27, 2018 08:51
6b1bb4b
to
5cfc829
Compare
agraul
force-pushed
the
backport-1302
branch
2 times, most recently
from
August 27, 2018 14:53
f274d7d
to
b88334f
Compare
If no /dev/disk/by-id symlink is found, e.g. because that path does not exist (as it is a case in VMs), the devicename that was provided in the first place is returned. Signed-off-by: Alexander Graul <[email protected]> (cherry picked from commit 3c26439) Signed-off-by: Alexander Graul <[email protected]>
OSD Migration currently only works if the same slot is used. This works because the generation of proposals is deterministic, so if all disks are in the same position we end up with the same proposal. This commit changes that behaviour: instead of creating a new proposal, the old one is used and adapted. This happens in the following steps: 1) When `salt-run replace.osd X` is used and a proposal file (e.g. "data1.ceph.yml" in /srv/pillar/proposals/...) gets the "-replace" suffix, a new attribute is written for the disks that get replaced 2) When `salt-run proposals.populate` is used (e.g. in stage.1), all proposal files that have the "-replace" suffix get parsed and the disks in the proposal are compared to the currently installed disks on the node. 3) Disks in the old proposal that have the attribute inserted in 1) and are still present (i.e. replaced in place) plus new disks (disks that are not in the old proposal but present) are considered free. 4) The disks in the old proposal get interated over and if they are labeled for replacement they are swapped with one of the free disks. 5) This modified proposal gets saved in the place of the original one and can be used by later stages Once the replacement in the proposal went through, new proposals are generated on all other nodes in case replacements and node additions happen at once. Signed-off-by: Alexander Graul <[email protected]> (cherry picked from commit a0196dc) Signed-off-by: Alexander Graul <[email protected]>
Signed-off-by: Alexander Graul <[email protected]> (cherry picked from commit b27e1b9) Signed-off-by: Alexander Graul <[email protected]>
This branch uses different mechanism to gather deepsea minion targets, so a mock of the salt call is needed. Signed-off-by: Alexander Graul <[email protected]>
Signed-off-by: Joshua Schmid <[email protected]> (cherry picked from commit fbe85ff) Signed-off-by: Alexander Graul <[email protected]>
@susebot run teuthology |
Commit d9da2a5 is NOT OK for suite suse:tier1. |
9 passed 6 failed(6 dead) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #1302
Checklist: