Provisioning failed if inactive md device had been found
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Fix Committed
|
High
|
Alexander Gordeev |
Bug Description
It's hard to reproduce. But the possibility is a bit higher if cluster was re-deployed
Sometimes fuel-agent fails with
2014-11-07 12:45:20.795 4899 CRITICAL fuel-agent [-] KeyError: 'devices'
2014-11-07 12:45:20.795 4899 TRACE fuel-agent Traceback (most recent call last):
2014-11-07 12:45:20.795 4899 TRACE fuel-agent File "/usr/bin/
2014-11-07 12:45:20.795 4899 TRACE fuel-agent sys.exit(
2014-11-07 12:45:20.795 4899 TRACE fuel-agent File "/usr/lib/
2014-11-07 12:45:20.795 4899 TRACE fuel-agent main(['
2014-11-07 12:45:20.795 4899 TRACE fuel-agent File "/usr/lib/
2014-11-07 12:45:20.795 4899 TRACE fuel-agent getattr(mgr, action)()
2014-11-07 12:45:20.795 4899 TRACE fuel-agent File "/usr/lib/
2014-11-07 12:45:20.795 4899 TRACE fuel-agent self.do_
2014-11-07 12:45:20.795 4899 TRACE fuel-agent File "/usr/lib/
2014-11-07 12:45:20.795 4899 TRACE fuel-agent mu.mdcreate(
2014-11-07 12:45:20.795 4899 TRACE fuel-agent File "/usr/lib/
2014-11-07 12:45:20.795 4899 TRACE fuel-agent set(reduce(lambda x, y: x + y, [md['devices'] for md in mds], [])):
2014-11-07 12:45:20.795 4899 TRACE fuel-agent KeyError: 'devices'
2014-11-07 12:45:20.795 4899 TRACE fuel-agent
The actual reason is that '/proc/mdstat' contains information about inactive md devices too.
Eg.:
Personalities :
md127 : inactive vdc3[2](S)
204736 blocks
unused devices: <none>
`mdadm --details` can't get any information about inactive device
mdadm: md device /dev/md127 does not appear to be active.
Changed in fuel: | |
milestone: | none → 6.0 |
Changed in fuel: | |
status: | New → In Progress |
tags: | added: experimental |
Changed in fuel: | |
importance: | Undecided → High |
Changed in fuel: | |
status: | Fix Committed → In Progress |
Changed in fuel: | |
milestone: | 6.0 → 6.1 |
Changed in fuel: | |
milestone: | 6.1 → 6.0 |
Reviewed: https:/ /review. openstack. org/133233 /git.openstack. org/cgit/ stackforge/ fuel-web/ commit/ ?id=45da0235105 8346bdbbf6c2687 8a15c672280ce7
Committed: https:/
Submitter: Jenkins
Branch: master
commit 45da02351058346 bdbbf6c26878a15 c672280ce7
Author: Alexander Gordeev <email address hidden>
Date: Fri Nov 7 17:11:07 2014 +0400
Fix KeyError in md_utils in fuel-agent
fuel-agent failed after reset cluster and re-deploy while creating
new md device if inactive devices were found
Change-Id: I38f086fae7e7c5 cd2a62669509538 e8ddbb092b2
Closes-Bug: #1390492