Merge ~smoser/cloud-init:bug/1692093-sometimes-need-settle into cloud-init:master
| Status: | Merged |
|---|---|
| Merged at revision: | 1815c6d801933c47a01f1a94a8e689824f6797b4 |
| Proposed branch: | ~smoser/cloud-init:bug/1692093-sometimes-need-settle |
| Merge into: | cloud-init:master |
| Diff against target: |
76 lines (+25/-3) 2 files modified
cloudinit/config/cc_disk_setup.py (+23/-3) tests/unittests/test_handler/test_handler_disk_setup.py (+2/-0) |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Server Team CI bot | continuous-integration | Approve on 2017-05-26 | |
| Ryan Harper | 2017-05-25 | Approve on 2017-05-26 | |
| Paul Meyer (community) | 2017-05-25 | Approve on 2017-05-25 | |
|
Review via email:
|
|||
Commit Message
disk_setup: udev settle before attempting partitioning or fs creation.
This attempts to use udevadm settle to wait until devices have been
fully "realized". If a device exists, there may still be events in
the udev queue that would create its partition table entries.
We need to wait until those have been processed also.
LP: #1692093
PASSED: Continuous integration, rev:7e0ab34d118
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
| Scott Moser (smoser) wrote : | # |
I think i'm going to drop the blockdev --rereadpt
It should not strictly be needed during boot.
a udevadm settle shoudl be sufficient.
PASSED: Continuous integration, rev:6b0c90d3370
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
| Ryan Harper (raharper) wrote : | # |
It doesn't look like you dropped blockdev as you say in your comment.
| Chad Smith (chad.smith) wrote : | # |
> It doesn't look like you dropped blockdev as you say in your comment.
The drop was a drop from the previous commit
| Ryan Harper (raharper) wrote : | # |
Other than trying to understand the comment about dropping blkdev command (which I think still is present at line 13) it looks good.
| Scott Moser (smoser) wrote : | # |
dropping blkid:
https:/
See that commit.
I *had* a blkid --rereadpt between the two udevadm calls in assert_
the 'blkid --rereadpt' that you see is in 'read_parttbl', which is a function with the explicit purpose of making the call to blkid --rereadpt (for after wiping a disk or something).
| Ryan Harper (raharper) wrote : | # |
OK; it was an unfortunate diff; and the comment was referring to one inside assert_and_settle.
Thanks for clarifying.
PASSED: Continuous integration, rev:1815c6d8019
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/


FAILED: Continuous integration, rev:a9a45835731 979900e59ff488b 8ac9a2b2f3e830 /jenkins. ubuntu. com/server/ job/cloud- init-ci/ 399/ /jenkins. ubuntu. com/server/ job/cloud- init-ci/ nodes=metal- amd64/399/ console /jenkins. ubuntu. com/server/ job/cloud- init-ci/ nodes=metal- arm64/399/ console /jenkins. ubuntu. com/server/ job/cloud- init-ci/ nodes=metal- ppc64el/ 399/console /jenkins. ubuntu. com/server/ job/cloud- init-ci/ nodes=metal- s390x/399/ console /jenkins. ubuntu. com/server/ job/cloud- init-ci/ nodes=vm- i386/399/ console
https:/
Executed test runs:
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild: /jenkins. ubuntu. com/server/ job/cloud- init-ci/ 399/rebuild
https:/