Bug 1333547

Summary: Create volume fails with taskflow MissingDependencies error
Product: Red Hat OpenStack Reporter: Eric Harney <eharney>
Component: openstack-cinderAssignee: Eric Harney <eharney>
Status: CLOSED ERRATA QA Contact: Prasanth Anbalagan <panbalag>
Severity: high Docs Contact:
Priority: high    
Version: 9.0 (Mitaka)CC: aditi.ag2511, eharney, jjoyce, mlopes, panbalag, sgotliv, srevivo, tbarron
Target Milestone: gaKeywords: TestOnly
Target Release: 9.0 (Mitaka)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-taskflow-1.30.0-2.el7ost Doc Type: Bug Fix
Doc Text:
Previously, python-taskflow was missing a dependency on a suitable version of python-networkx. Consequently, `cinder create volume` did not function as expected. With this update, python-taskflow package has the correct dependencies, and `cinder create volume` works as expected.
Story Points: ---
Clone Of:
: 1333564 (view as bug list) Environment:
Last Closed: 2016-08-11 12:18:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1333564    

Description Eric Harney 2016-05-05 19:33:51 UTC
OSP9
python-cinder-8.0.0-1.el7ost.noarch
python-taskflow-1.30.0-1.el7ost.noarch

Install with packstack, then "cinder create 1" leads to HTTP 500.

2016-05-05 15:02:01.400 25779 DEBUG cinder.api.openstack.wsgi [req-68d0f076-b0ad-46c7-80ef-0344f7c6f0e0 bfec0e3cf6194b75a33a0057dec083f6 fcffce6c722547a78f29241c0ac534b4 - - -] Action: 'create', calling method: <bound method VolumeController.create of <cinder.api.v2.volumes.VolumeController object at 0x512f690>>, body: {"volume": {"status": "creating", "user_id": null, "name": null, "imageRef": null, "availability_zone": null, "description": null, "multiattach": false, "attach_status": "detached", "volume_type": null, "metadata": {}, "consistencygroup_id": null, "source_volid": null, "snapshot_id": null, "project_id": null, "source_replica": null, "size": 1}} _process_stack /usr/lib/python2.7/site-packages/cinder/api/openstack/wsgi.py:1089
2016-05-05 15:02:01.400 25779 DEBUG cinder.api.v2.volumes [req-68d0f076-b0ad-46c7-80ef-0344f7c6f0e0 bfec0e3cf6194b75a33a0057dec083f6 fcffce6c722547a78f29241c0ac534b4 - - -] Create volume request body: {u'volume': {u'status': u'creating', u'size': 1, u'project_id': None, u'user_id': None, u'description': None, u'imageRef': None, u'availability_zone': None, 'scheduler_hints': {}, u'multiattach': False, u'attach_status': u'detached', u'volume_type': None, u'consistencygroup_id': None, u'source_volid': None, u'snapshot_id': None, u'metadata': {}, u'source_replica': None, u'name': None}} create /usr/lib/python2.7/site-packages/cinder/api/v2/volumes.py:298
2016-05-05 15:02:01.400 25779 INFO cinder.api.v2.volumes [req-68d0f076-b0ad-46c7-80ef-0344f7c6f0e0 bfec0e3cf6194b75a33a0057dec083f6 fcffce6c722547a78f29241c0ac534b4 - - -] Create volume of 1 GB
2016-05-05 15:02:01.404 25779 DEBUG oslo_db.sqlalchemy.engines [req-68d0f076-b0ad-46c7-80ef-0344f7c6f0e0 bfec0e3cf6194b75a33a0057dec083f6 fcffce6c722547a78f29241c0ac534b4 - - -] MySQL server mode set to STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION _check_effective_sql_mode /usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py:256
2016-05-05 15:02:01.407 25779 DEBUG cinder.volume.api [req-68d0f076-b0ad-46c7-80ef-0344f7c6f0e0 bfec0e3cf6194b75a33a0057dec083f6 fcffce6c722547a78f29241c0ac534b4 - - -] Availability zone cache updated, next update will occur around 2016-05-05 20:02:01.407722. list_availability_zones /usr/lib/python2.7/site-packages/cinder/volume/api.py:170
2016-05-05 15:02:01.408 25779 INFO cinder.volume.api [req-68d0f076-b0ad-46c7-80ef-0344f7c6f0e0 bfec0e3cf6194b75a33a0057dec083f6 fcffce6c722547a78f29241c0ac534b4 - - -] Availability Zones retrieved successfully.
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault [req-68d0f076-b0ad-46c7-80ef-0344f7c6f0e0 bfec0e3cf6194b75a33a0057dec083f6 fcffce6c722547a78f29241c0ac534b4 - - -] Caught error: <class 'taskflow.exceptions.MissingDependencies'> 'linear_flow.Flow: volume_create_api(len=5)' requires ['reservations', 'volume_properties'] but no other entity produces said requirements
  MissingDependencies: 'cinder.volume.flows.api.create_volume.QuotaCommitTask;volume:create==1.0' requires ['reservations', 'volume_properties'] but no other entity produces said requirements
    MissingDependencies: 'cinder.volume.flows.api.create_volume.EntryCreateTask;volume:create==1.0' requires ['reservations'] but no other entity produces said requirements
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault Traceback (most recent call last):
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/cinder/api/middleware/fault.py", line 79, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return req.get_response(self.application)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/request.py", line 1317, in send
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     application, catch_exc_info=False)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/request.py", line 1281, in call_application
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     app_iter = application(self.environ, start_response)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return resp(environ, start_response)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     resp = self.call_func(req, *args, **self.kwargs)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return self.func(req, *args, **kwargs)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/osprofiler/web.py", line 108, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return request.get_response(self.application)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/request.py", line 1317, in send
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     application, catch_exc_info=False)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/request.py", line 1281, in call_application
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     app_iter = application(self.environ, start_response)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     resp = self.call_func(req, *args, **self.kwargs)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return self.func(req, *args, **kwargs)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 467, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     response = req.get_response(self._app)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/request.py", line 1317, in send
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     application, catch_exc_info=False)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/request.py", line 1281, in call_application
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     app_iter = application(self.environ, start_response)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return resp(environ, start_response)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return resp(environ, start_response)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/routes/middleware.py", line 131, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     response = self.app(environ, start_response)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return resp(environ, start_response)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     resp = self.call_func(req, *args, **self.kwargs)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return self.func(req, *args, **kwargs)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/cinder/api/openstack/wsgi.py", line 1061, in __call__
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     content_type, body, accept)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/cinder/api/openstack/wsgi.py", line 1123, in _process_stack
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     action_result = self.dispatch(meth, request, action_args)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/cinder/api/openstack/wsgi.py", line 1221, in dispatch
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return method(req=request, **action_args)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/cinder/api/v2/volumes.py", line 405, in create
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     **kwargs)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/cinder/volume/api.py", line 327, in create
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     flow_engine.run()
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/taskflow/engines/action_engine/engine.py", line 230, in run
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     for _state in self.run_iter(timeout=timeout):
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/taskflow/engines/action_engine/engine.py", line 256, in run_iter
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     self.validate()
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/fasteners/lock.py", line 306, in wrapper
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return f(self, *args, **kwargs)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/taskflow/engines/action_engine/engine.py", line 78, in wrapper
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     return meth(self, *args, **kwargs)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   File "/usr/lib/python2.7/site-packages/taskflow/engines/action_engine/engine.py", line 392, in validate
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     cause=last_cause)
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault MissingDependencies: 'linear_flow.Flow: volume_create_api(len=5)' requires ['reservations', 'volume_properties'] but no other entity produces said requirements
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault   MissingDependencies: 'cinder.volume.flows.api.create_volume.QuotaCommitTask;volume:create==1.0' requires ['reservations', 'volume_properties'] but no other entity produces said requirements
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault     MissingDependencies: 'cinder.volume.flows.api.create_volume.EntryCreateTask;volume:create==1.0' requires ['reservations'] but no other entity produces said requirements
2016-05-05 15:02:01.429 25779 ERROR cinder.api.middleware.fault
2016-05-05 15:02:01.432 25779 INFO cinder.api.middleware.fault [req-68d0f076-b0ad-46c7-80ef-0344f7c6f0e0 bfec0e3cf6194b75a33a0057dec083f6 fcffce6c722547a78f29241c0ac534b4 - - -] http://10.13.57.208:8776/v2/fcffce6c722547a78f29241c0ac534b4/volumes returned with HTTP 500

Comment 2 Eric Harney 2016-05-05 19:51:55 UTC
Reverting to python-taskflow-1.21.0-1.el7ost.noarch seems to allow volume creation to work.  (Not an option, but a good data point.)

Comment 4 Prasanth Anbalagan 2016-05-19 13:23:28 UTC
Verified as follows,

************
VERSION
************

[root@serverA ~(keystone_admin)]# yum list installed | grep openstack-nova
openstack-nova-api.noarch        1:13.0.0-4.el7ost       @rhelosp-9.0-puddle    
openstack-nova-cert.noarch       1:13.0.0-4.el7ost       @rhelosp-9.0-puddle    
openstack-nova-common.noarch     1:13.0.0-4.el7ost       @rhelosp-9.0-puddle    
openstack-nova-compute.noarch    1:13.0.0-4.el7ost       @rhelosp-9.0-puddle    
openstack-nova-conductor.noarch  1:13.0.0-4.el7ost       @rhelosp-9.0-puddle    
openstack-nova-console.noarch    1:13.0.0-4.el7ost       @rhelosp-9.0-puddle    
openstack-nova-novncproxy.noarch 1:13.0.0-4.el7ost       @rhelosp-9.0-puddle    
openstack-nova-scheduler.noarch  1:13.0.0-4.el7ost       @rhelosp-9.0-puddle    
[root@serverA ~(keystone_admin)]# 


*********
LOGS
*********

[root@serverA ~(keystone_admin)]# cinder create 1
+--------------------------------+--------------------------------------+
|            Property            |                Value                 |
+--------------------------------+--------------------------------------+
|          attachments           |                  []                  |
|       availability_zone        |                 nova                 |
|            bootable            |                false                 |
|      consistencygroup_id       |                 None                 |
|           created_at           |      2016-05-19T13:22:18.000000      |
|          description           |                 None                 |
|           encrypted            |                False                 |
|               id               | 96ba954d-56d2-401e-a9ae-82fdce98faed |
|            metadata            |                  {}                  |
|        migration_status        |                 None                 |
|          multiattach           |                False                 |
|              name              |                 None                 |
|     os-vol-host-attr:host      |                 None                 |
| os-vol-mig-status-attr:migstat |                 None                 |
| os-vol-mig-status-attr:name_id |                 None                 |
|  os-vol-tenant-attr:tenant_id  |   f26351a310404d62bc33af8ee8ce39b7   |
|       replication_status       |               disabled               |
|              size              |                  1                   |
|          snapshot_id           |                 None                 |
|          source_volid          |                 None                 |
|             status             |               creating               |
|           updated_at           |                 None                 |
|            user_id             |   4efa7a9b2626458fa8c58af588b572e7   |
|          volume_type           |                 None                 |
+--------------------------------+--------------------------------------+
[root@serverA ~(keystone_admin)]# cinder list
+--------------------------------------+-----------+------+------+-------------+----------+-------------+
|                  ID                  |   Status  | Name | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+------+------+-------------+----------+-------------+
| 96ba954d-56d2-401e-a9ae-82fdce98faed | available |  -   |  1   |      -      |  false   |             |
+--------------------------------------+-----------+------+------+-------------+----------+-------------+
[root@serverA ~(keystone_admin)]#

Comment 5 Prasanth Anbalagan 2016-05-19 13:25:08 UTC
Above verification done on 

[root@serverA ~(keystone_admin)]# yum list installed | grep python-taskflow
python-taskflow.noarch           1.30.0-2.el7ost         @rhelosp-9.0-puddle

Comment 6 aditi.ag2511 2016-06-28 12:11:27 UTC
HEY!
How did you fix this missing dependency error?
I am getting the sam error but dont know what to do.
Please help.

Comment 8 errata-xmlrpc 2016-08-11 12:18:59 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-1597.html