Fuel-agent built-in partitioning algorithm has correct "utils.execute('udevadm', 'settle',"... ) part for RAID devices only.
For single disks it still uses 30 one-second timed out attempts in order to wait for the device free.
These 30 seconds may be not enough if target disk device is plugged in as free/JBOD drive to the corporate class RAID controller.
Please implement the same wait-for-device is free procedure for single drives.
Error message from Dell PERC controller and JBOD target:
2015-01-13T01:34:00.761586+00:00 info: 2015-01-13 01:34:00.304 7447 DEBUG fuel_agent.utils.partition_utils [-] Last time output contained "Device or resource busy". Trying to re-read partition table on device /dev/sda
2015-01-13T01:34:00.761697+00:00 info: 2015-01-13 01:34:00.304 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: partprobe /dev/sda
2015-01-13T01:34:00.761805+00:00 info: 2015-01-13 01:34:00.383 7447 DEBUG fuel_agent.utils.partition_utils [-] Partprobe output:
2015-01-13T01:34:00.761928+00:00 info:
2015-01-13T01:34:00.762053+00:00 info: 2015-01-13 01:34:00.384 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: partx -a /dev/sda
2015-01-13T01:34:00.762174+00:00 info: 2015-01-13 01:34:00.386 7447 DEBUG fuel_agent.utils.partition_utils [-] Partx output:
2015-01-13T01:34:00.762278+00:00 info:
2015-01-13T01:34:01.764229+00:00 info: 2015-01-13 01:34:01.388 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:02.765855+00:00 info: 2015-01-13 01:34:02.392 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:03.767398+00:00 info: 2015-01-13 01:34:03.396 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:04.768908+00:00 info: 2015-01-13 01:34:04.401 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:05.770497+00:00 info: 2015-01-13 01:34:05.406 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:06.772084+00:00 info: 2015-01-13 01:34:06.411 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:07.773810+00:00 info: 2015-01-13 01:34:07.415 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:08.775330+00:00 info: 2015-01-13 01:34:08.420 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:09.776862+00:00 info: 2015-01-13 01:34:09.425 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:10.778403+00:00 info: 2015-01-13 01:34:10.430 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:11.779934+00:00 info: 2015-01-13 01:34:11.435 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:12.781458+00:00 info: 2015-01-13 01:34:12.439 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:13.783053+00:00 info: 2015-01-13 01:34:13.444 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:14.784698+00:00 info: 2015-01-13 01:34:14.449 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:15.786339+00:00 info: 2015-01-13 01:34:15.453 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:16.788149+00:00 info: 2015-01-13 01:34:16.458 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:17.789863+00:00 info: 2015-01-13 01:34:17.463 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:18.791639+00:00 info: 2015-01-13 01:34:18.467 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:19.793116+00:00 info: 2015-01-13 01:34:19.472 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:20.794767+00:00 info: 2015-01-13 01:34:20.476 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:21.796541+00:00 info: 2015-01-13 01:34:21.481 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:22.798286+00:00 info: 2015-01-13 01:34:22.486 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:23.800021+00:00 info: 2015-01-13 01:34:23.491 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:24.801495+00:00 info: 2015-01-13 01:34:24.495 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:25.803133+00:00 info: 2015-01-13 01:34:25.500 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:26.804776+00:00 info: 2015-01-13 01:34:26.505 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:27.806522+00:00 info: 2015-01-13 01:34:27.509 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:28.807994+00:00 info: 2015-01-13 01:34:28.514 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:29.809612+00:00 info: 2015-01-13 01:34:29.518 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:30.811256+00:00 info: 2015-01-13 01:34:30.523 7447 DEBUG fuel_agent.utils.utils [-] Trying to execute command: test -e /dev/sda6
2015-01-13T01:34:31.812967+00:00 info: 2015-01-13 01:34:31.528 7447 ERROR fuel_agent.errors [-]
2015-01-13T01:34:31.813168+00:00 info: 2015-01-13 01:34:31.528 7447 CRITICAL fuel-agent [-] PartitionNotFoundError
2015-01-13T01:34:31.813328+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent Traceback (most recent call last):
2015-01-13T01:34:31.813468+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent File "/usr/bin/provision", line 10, in <module>
2015-01-13T01:34:31.813609+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent sys.exit(provision())
2015-01-13T01:34:31.813754+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent File "/usr/lib/python2.6/site-packages/fuel_agent/cmd/agent.py", line 37, in provision
2015-01-13T01:34:31.813891+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent main(['do_provisioning'])
2015-01-13T01:34:31.814032+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent File "/usr/lib/python2.6/site-packages/fuel_agent/cmd/agent.py", line 67, in main
2015-01-13T01:34:31.814185+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent getattr(mgr, action)()
2015-01-13T01:34:31.814292+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent File "/usr/lib/python2.6/site-packages/fuel_agent/manager.py", line 296, in do_provisioning
2015-01-13T01:34:31.814424+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent self.do_partitioning()
2015-01-13T01:34:31.814566+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent File "/usr/lib/python2.6/site-packages/fuel_agent/manager.py", line 95, in do_partitioning
2015-01-13T01:34:31.814699+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent 'Partition not found' % prt.name)
2015-01-13T01:34:31.814834+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent PartitionNotFoundError
2015-01-13T01:34:31.814970+00:00 info: 2015-01-13 01:34:31.528 7447 TRACE fuel-agent
Fix proposed https:/ /review. openstack. org/#/c/ 147083/