Rally scenario CinderVolumes.create_nested_snapshots_and_attach_volume has failed due to lack of names for disk devices

Bug #1708160 reported by Vladyslav Skybin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Rally
Fix Released
Undecided
Unassigned

Bug Description

Step to reproduce:
1. Deploy OpenStack Ocata on lab over 200 nodes
2. Run scenario CinderVolumes.create_nested_snapshots_and_attach_volume with parameters:
    runner": {
      "type": "constant",
      "times": 400,
      "concurrency": 10
    },
    "args": {
      "size": {
        "min": 1,
        "max": 5
      },
      "nested_level": 5
}
Expected result: Scenario passed
Actual result: Part of iteration failed with error:

2017-08-01 20:51:19.970 5013 ERROR rally.task.runner [-] Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
<class 'InternalError_Remote'> (HTTP 500) (Request-ID: req-8c3459dd-a7d1-4527-b701-176eec4756d2)
70 5013 ERROR rally.task.runner raise exceptions.from_response(resp, body, url, method)
2017-08-01 20:51:19.970 5013 ERROR rally.task.runner ClientException: Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
2017-08-01 20:51:19.970 5013 ERROR rally.task.runner <class 'InternalError_Remote'> (HTTP 500) (Request-ID: req-8c3459dd-a7d1-4527-b701-176eec4756d2)
2017-08-01 20:51:19.970 5013 ERROR rally.task.runner

In nova-api.log:
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions [req-8c3459dd-a7d1-4527-b701-176eec4756d2 8c13df7dc98a453abc999bac046f2c35 78951efd7255428a975472fed77036c1 - default default] Unexpected exception in API method:
Traceback
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions Traceback (most recent call last):
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/nova/api/openstack/extensions.py", line 338, in wrapped
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions return f(*args, **kwargs)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/nova/api/validation/__init__.py", line 108, in wrapper
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions return func(*args, **kwargs)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/volumes.py", line 329, in create
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions volume_id, device)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 170, in inner
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions return function(self, context, instance, *args, **kwargs)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 151, in inner
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions return f(self, context, instance, *args, **kw)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 3701, in attach_volume
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions disk_bus, device_type)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 3638, in _attach_volume
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions device_type=device_type)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 3620, in _create_volume_bdm
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions device_type=device_type)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/nova/compute/rpcapi.py", line 935, in reserve_block_device_name
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions return cctxt.call(ctxt, 'reserve_block_device_name', **kw)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/oslo_messaging/rpc/client.py", line 169, in call
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions retry=self.retry)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/oslo_messaging/transport.py", line 97, in _send
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions timeout=timeout, retry=retry)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 505, in send
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions retry=retry)
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 496, in _send
2017-08-01 20:51:19.954 5783 ERROR nova.api.openstack.extensions raise result
InternalError: No free disk device names for prefix 'vd'

I suppose, it relates to lack of names for disk devices (only 26 for disk_bus == "virtio" ).

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to rally (master)

Reviewed: https://review.openstack.org/505918
Committed: https://git.openstack.org/cgit/openstack/rally/commit/?id=a48810e082078f4863d376bb25e6970998b0890f
Submitter: Jenkins
Branch: master

commit a48810e082078f4863d376bb25e6970998b0890f
Author: cxhuawei <email address hidden>
Date: Wed Sep 20 19:14:15 2017 -0700

    create a new server in each iteration when making snapshots from a server

    1. maxinum number of volumes per VM is 26 because of hard-coded limit
    2. detaching will be blocked when large concurency

    Closes-Bug: #1708160
    Change-Id: Ice2126209abd1812d1d133f597660be9e6dd3e6c

Changed in rally:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.