[Yahoo-eng-team] [Bug 1423427] Re: tempest baremetal client is creating node with wrong property keys
** Changed in: nova/juno Status: Fix Committed => Fix Released -- 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/1423427 Title: tempest baremetal client is creating node with wrong property keys Status in OpenStack Compute (nova): Invalid Status in OpenStack Compute (nova) juno series: Fix Released Status in tempest: Fix Released Bug description: A new test has been added to tempest to stress the os-baremetal-nodes API extension. The test periodically fails in the gate with traceback in n-api log: [req-01dcd35b-55f4-4688-ba18-7fe0c6defd52 BaremetalNodesAdminTestJSON-1864409967 BaremetalNodesAdminTestJSON-1481542636] Caught error: 'cpus' 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack Traceback (most recent call last): 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/opt/stack/new/nova/nova/api/openstack/__init__.py", line 125, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return req.get_response(self.application) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack application, catch_exc_info=False) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack app_iter = application(self.environ, start_response) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return resp(environ, start_response) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py", line 977, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return self._call_app(env, start_response) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py", line 902, in _call_app 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return self._app(env, _fake_start_response) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/routes/middleware.py", line 136, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack response = self.app(environ, start_response) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return self.func(req, *args, **kwargs) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/opt/stack/new/nova/nova/api/openstack/wsgi.py", line 749, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack content_type, body, accept) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/opt/stack/new/nova/nova/api/openstack/wsgi.py", line 814, in _process_stack 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/opt/stack/new/nova/nova/api/openstack/wsgi.py", line 904, in dispatch 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return method(req=request, **action_args) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/opt/stack/new/nova/nova/api/openstack/compute/contrib/baremetal_nodes.py", line 123, in index 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack 'cpus': inode.properties['cpus'], 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack KeyError: 'cpus' 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack This hits only periodically and only when another tempest baremetal test is running in parallel to the new test. The other tests (tempest.api.baremetal.*) create some nodes in Ironic with node properties that are not the standard resource properties the nova->ironic proxy expects (from nova/api/openstack/compute/contrib/baremetal_nodes.py:201): for inode in ironic_nodes: node = {'id': inode.uuid, 'interfaces': [], 'host': 'IRONIC MANAGED', 'task_state': inode.provision_state, 'cpus': inode.properties['cpus'], 'memory_mb': inode.properties['memory_mb'],
[Yahoo-eng-team] [Bug 1423427] Re: tempest baremetal client is creating node with wrong property keys
** Also affects: nova Importance: Undecided Status: New ** Changed in: nova Status: New => Invalid ** Also affects: nova/juno Importance: Undecided Status: New ** Changed in: nova/juno Status: New => Fix Committed ** Changed in: nova/juno Importance: Undecided => High ** Changed in: nova/juno Assignee: (unassigned) => Adam Gandelman (gandelman-a) -- 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/1423427 Title: tempest baremetal client is creating node with wrong property keys Status in OpenStack Compute (nova): Invalid Status in OpenStack Compute (nova) juno series: Fix Committed Status in tempest: Fix Released Bug description: A new test has been added to tempest to stress the os-baremetal-nodes API extension. The test periodically fails in the gate with traceback in n-api log: [req-01dcd35b-55f4-4688-ba18-7fe0c6defd52 BaremetalNodesAdminTestJSON-1864409967 BaremetalNodesAdminTestJSON-1481542636] Caught error: 'cpus' 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack Traceback (most recent call last): 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/opt/stack/new/nova/nova/api/openstack/__init__.py", line 125, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return req.get_response(self.application) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack application, catch_exc_info=False) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack app_iter = application(self.environ, start_response) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return resp(environ, start_response) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py", line 977, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return self._call_app(env, start_response) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py", line 902, in _call_app 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return self._app(env, _fake_start_response) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/routes/middleware.py", line 136, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack response = self.app(environ, start_response) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return self.func(req, *args, **kwargs) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/opt/stack/new/nova/nova/api/openstack/wsgi.py", line 749, in __call__ 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack content_type, body, accept) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/opt/stack/new/nova/nova/api/openstack/wsgi.py", line 814, in _process_stack 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/opt/stack/new/nova/nova/api/openstack/wsgi.py", line 904, in dispatch 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack return method(req=request, **action_args) 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack File "/opt/stack/new/nova/nova/api/openstack/compute/contrib/baremetal_nodes.py", line 123, in index 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack 'cpus': inode.properties['cpus'], 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack KeyError: 'cpus' 2015-02-19 01:37:41.910 2521 TRACE nova.api.openstack This hits only periodically and only when another tempest baremetal test is running in parallel to the new test. The other tests (tempest.api.baremetal.*) create some nodes in Ironic with node properties that are not the standard resource properties the nova->ironic proxy expects (from nova/api/openstack/compute/contrib/baremetal_nodes.py:201): for inode in ironic_nodes: node =