FA: hardware utils uses wrong source when looking at device vendor
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Fix Released
|
High
|
Alexander Gordeev | ||
6.1.x |
Won't Fix
|
High
|
MOS Maintenance |
Bug Description
Apparently fuel-nailgun-agent uses ohai to get information about vendor of block device.
https:/
ohai relies on the values which will be reported by sysfs. It just reads /sys/block/
fuel-nailgun-agent is using this 'vendor' value to accept block devices which are reported as 'removable' by sysfs from particular vendors.
https:/
if fuel-nailgun-agent rejects block device, then nailgun won't be able to use it.
During provisioning fuel-agent has it own hardware utils which will try to find block devices on a node too.
https:/
Bad thing, that the similar judging is done by looking at ID_VENDOR from udev property.
So if ID_VENDOR property and sysfs 'vendor' the same it's fine. They could differ, but i'm not sure.
BUT
Sometimes there's no ID_VENDOR udev property for device, but vendor from sysfs is still here.
player@agordeev:~$ cat /sys/block/
ATA
player@agordeev:~$ udevadm info --query property --name /dev/sda|grep -i vendor
ID_ATA_
That situation will definitely lead to provisioning failure as fuel-agent won't be able to find block device as hardware.py will accidentally reject it from processing.
It affects block devices which reported as 'removable' but should be accepted by fuel. It's a regression.
Fix proposed to branch: master /review. openstack. org/215587
Review: https:/