multi-l3 adding foreign node to cluster causes traceback
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Fix Released
|
Medium
|
Ryan Moe |
Bug Description
adding a node to a cluster with a admin IP that is foreign admin network internals returns 500 and ejects node from from the nodes list
2014-01-21 06:39:04.671 DEBUG [7ff73ebfd700] (logger) Request PUT /api/v1/nodes/
from 127.0.0.1:45760 [{"pending_
], "cluster_id": "1", "id": 4, "pending_deletion": false}]
2014-01-21 06:39:04.731 ERROR [7ff73ebfd700] (logger) Traceback (most recent cal
l last):
File "/opt/nailgun/
in process
return self.handle()
File "/opt/nailgun/
in handle
return self._delegate(fn, self.fvars, args)
File "/opt/nailgun/
in _delegate
return handle_class(cls)
File "/opt/nailgun/
in handle_class
return tocall(*args)
File "<string>", line 2, in PUT
File "/opt/nailgun/
line 55, in content_json
data = func(*args, **kwargs)
File "/opt/nailgun/
network_
File "/opt/nailgun/
ifaces = [node.admin_
File "/opt/nailgun/
return self.interfaces[0]
IndexError: list index out of range
2014-01-21 06:39:04.732 ERROR [7ff73ebfd700] (logger) Response code '500 Internal Server Error' for PUT /api/v1/nodes/ from 127.0.0.1:45760
tags: | added: nailgun |
Changed in fuel: | |
milestone: | none → 4.1 |
Changed in fuel: | |
assignee: | Andrew Woodward (xarses) → Ryan Moe (rmoe) |
Changed in fuel: | |
status: | Fix Committed → Fix Released |
summary: |
- adding foreign node to cluster causes traceback + multi-l3 adding foreign node to cluster causes traceback |
We found that the actual issue is that during the agent update, it would remove all of the interfaces from the host because no interface in the list was tagged as the admin interface.
To fix this, we will add the same fall-back method that the agent uses. If a suitable interface isn't found, we will match the mac that matched the system interface (the one that contacted fuel in the first place) and use that one.