IPA service to (re)scan SCSI devices prior to getting a list of it
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ironic-python-agent |
Fix Released
|
High
|
Lucas Alvares Gomes |
Bug Description
Reporting this bug upstream from an internal ticket [0].
Since we boot from a ramdisk the IPA service can be started prior to the SCSI devices nodes being detected in the host OS, this will make the function list_all_
In my local tests I've tried a couple of ways to do it:
1) Sleeping 60 seconds prior to invoking list_all_
This works but sleeping is ugly and should be avoided.
2) Modified the .service file adding a Requirement to the systemd's systemd-
For some reason it didn't work, I've also tried the "Wants: " tag for the systemd unit but failed with the same error
3) invoked the "udevadm" utility prior to listing the devices, e.g:
# udevadm trigger --verbose --dry-run --type=devices --subsystem-
# udevadm settle
This works
[0] https:/
[1] https:/
Changed in ironic-python-agent: | |
assignee: | nobody → Lucas Alvares Gomes (lucasagomes) |
Changed in ironic-python-agent: | |
status: | New → In Progress |
Changed in ironic-python-agent: | |
importance: | Undecided → High |
Reviewed: https:/ /review. openstack. org/284796 /git.openstack. org/cgit/ openstack/ ironic- python- agent/commit/ ?id=055998c8121 7ededacc95f0f96 a4a8bf684fbfe0
Committed: https:/
Submitter: Jenkins
Branch: master
commit 055998c81217ede dacc95f0f96a4a8 bf684fbfe0
Author: Lucas Alvares Gomes <email address hidden>
Date: Thu Feb 25 16:32:47 2016 +0000
Wait for udev to settle before listing the block devices
This patch is making the list_all_ block_devices( ) method to wait for
udev to settle it's event queue prior to listing the devices.
Sometimes the ironic-python-agent service may start before all devices
were detected and end up erroring out because it couldn't find a
suitable disk for deployment.
Closes-Bug: #1551300 a1ea14b79ae9ace 7ddd2fff9d5
Change-Id: I1ae2062a711115