yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #32272
[Bug 1447642] [NEW] Ironic: Driver should validate the node's properties
Public bug reported:
The Ironic nova driver will look at the Ironic node to fetch the amount
of CPUs, memory, disk etc... But it doesn't validate any of this
properties making it fail horribly if the node is misconfigured. It
should be more resilient to failures.
Traceback:
Apr 21 11:11:33 nova-compute[32119]: Traceback (most recent call last):
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/eventlet/queue.py", line 117, in switch
Apr 21 11:11:33 nova-compute[32119]: self.greenlet.switch(value)
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 214, in main
Apr 21 11:11:33 nova-compute[32119]: result = function(*args, **kwargs)
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/openstack/common/service.py", line 497, in run_service
Apr 21 11:11:33 nova-compute[32119]: service.start()
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/service.py", line 183, in start
Apr 21 11:11:33 nova-compute[32119]: self.manager.pre_start_hook()
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1250, in pre_start_hook
Apr 21 11:11:33 nova-compute[32119]: self.update_available_resource(nova.context.get_admin_context())
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 6197, in update_available_resource
Apr 21 11:11:33 nova-compute[32119]: rt.update_available_resource(context)
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 376, in update_available_resource
Apr 21 11:11:33 nova-compute[32119]: resources = self.driver.get_available_resource(self.nodename)
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 535, in get_available_resource
Apr 21 11:11:33 nova-compute[32119]: return self._node_resource(node)
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 228, in _node_resource
Apr 21 11:11:33 nova-compute[32119]: vcpus = int(node.properties.get('cpus', 0))
Apr 21 11:11:33 nova-compute[32119]: ValueError: invalid literal for int() with base 10: 'None'
+------------------------+-------------------------------------------------------------------------+
| Property | Value |
+------------------------+-------------------------------------------------------------------------+
...
| properties | {u'memory_mb': u'None', u'cpu_arch': None, u'local_gb': u'None', |
| | u'cpus': u'None', u'capabilities': u'boot_option:local'} |
...
** Affects: nova
Importance: Undecided
Assignee: Lucas Alvares Gomes (lucasagomes)
Status: New
** Changed in: nova
Assignee: (unassigned) => Lucas Alvares Gomes (lucasagomes)
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1447642
Title:
Ironic: Driver should validate the node's properties
Status in OpenStack Compute (Nova):
New
Bug description:
The Ironic nova driver will look at the Ironic node to fetch the
amount of CPUs, memory, disk etc... But it doesn't validate any of
this properties making it fail horribly if the node is misconfigured.
It should be more resilient to failures.
Traceback:
Apr 21 11:11:33 nova-compute[32119]: Traceback (most recent call last):
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/eventlet/queue.py", line 117, in switch
Apr 21 11:11:33 nova-compute[32119]: self.greenlet.switch(value)
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 214, in main
Apr 21 11:11:33 nova-compute[32119]: result = function(*args, **kwargs)
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/openstack/common/service.py", line 497, in run_service
Apr 21 11:11:33 nova-compute[32119]: service.start()
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/service.py", line 183, in start
Apr 21 11:11:33 nova-compute[32119]: self.manager.pre_start_hook()
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1250, in pre_start_hook
Apr 21 11:11:33 nova-compute[32119]: self.update_available_resource(nova.context.get_admin_context())
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 6197, in update_available_resource
Apr 21 11:11:33 nova-compute[32119]: rt.update_available_resource(context)
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 376, in update_available_resource
Apr 21 11:11:33 nova-compute[32119]: resources = self.driver.get_available_resource(self.nodename)
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 535, in get_available_resource
Apr 21 11:11:33 nova-compute[32119]: return self._node_resource(node)
Apr 21 11:11:33 nova-compute[32119]: File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 228, in _node_resource
Apr 21 11:11:33 nova-compute[32119]: vcpus = int(node.properties.get('cpus', 0))
Apr 21 11:11:33 nova-compute[32119]: ValueError: invalid literal for int() with base 10: 'None'
+------------------------+-------------------------------------------------------------------------+
| Property | Value |
+------------------------+-------------------------------------------------------------------------+
...
| properties | {u'memory_mb': u'None', u'cpu_arch': None, u'local_gb': u'None', |
| | u'cpus': u'None', u'capabilities': u'boot_option:local'} |
...
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1447642/+subscriptions
Follow ups
References