failed to delete NS

Bug #1670921 reported by yong sheng gong
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tacker
Fix Released
Medium
yong sheng gong

Bug Description

 tacker vnfd-create --vnfd-file sample-tosca-vnfd1.yaml sample-tosca-vnfd1
 tacker vnfd-create --vnfd-file sample-tosca-vnfd2.yaml sample-tosca-vnfd2
tacker nsd-create --nsd-file ./sample-tosca-nsd.yaml sample-tosca-nsd
tacker ns-create --nsd-name sample-tosca-nsd --param-file ./ns_param.yaml myns

since we have no cirros-0.3.4-uec, the ns creation will lead the ns into ERROR state.
so I want to delete the NS:

gongysh@ubuntu64:/opt/stack/tacker/samples/tosca-templates/nsd$ tacker ns-delete 8351f13b-0ab4-4044-adaa-ad5dfe519ff9

Unable to delete the below ns(s):
 Cannot delete 8351f13b-0ab4-4044-adaa-ad5dfe519ff9: Request Failed: internal server error while processing your request.

2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource Traceback (most recent call last):
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/api/v1/resource.py", line 83, in resource
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource result = method(request=request, **args)
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/api/v1/base.py", line 421, in delete
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource obj_deleter(request.context, id, **kwargs)
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/common/log.py", line 35, in wrapper
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource return method(*args, **kwargs)
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/nfvo/nfvo_plugin.py", line 682, in delete_ns
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource kwargs={'ns': ns})
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/common/driver_manager.py", line 70, in invoke
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource return getattr(driver, method_name)(**kwargs)
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/nfvo/drivers/vim/openstack_driver.py", line 475, in prepare_and_create_workflow
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource workflow = mistral_client.workflows.create(definition_yaml)
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/mistralclient/api/v2/workflows.py", line 46, in create
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource self._raise_api_exception(resp)
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/mistralclient/api/base.py", line 143, in _raise_api_exception
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource error_message=error_data)
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource APIException: Invalid DSL: {} does not have enough properties
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource Failed validating 'minProperties' in schema['properties']['tasks']:
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minProperties': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'patternProperties': {'^\\w+$': {'additionalProperties': False,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'anyOf': [{'not': {'required': ['action',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'workflow'],
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'}},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'oneOf': [{'required': ['action'],
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'required': ['workflow'],
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'}]}],
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'properties': {'action': {'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'concurrency': {'oneOf': [{'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minimum': 0,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'integer'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'description': {'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'input': {'minProperties': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'patternProperties': {'^\\w+$': {'anyOf': [{'type': 'null'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'array'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'boolean'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'integer'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'number'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'object'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'string'}]}},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'join': {'oneOf': [{'enum': ['all',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'one']},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minimum': 0,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'integer'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'keep-result': {'oneOf': [{'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'boolean'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'name': {'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'on-complete': {'oneOf': [{'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'items': {'oneOf': [{'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minProperties': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'patternProperties': {'^\\w+$': {'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]}},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'minItems': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'array',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'uniqueItems': True}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'on-error': {'oneOf': [{'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'items': {'oneOf': [{'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minProperties': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'patternProperties': {'^\\w+$': {'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]}},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'minItems': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'array',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'uniqueItems': True}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'on-success': {'oneOf': [{'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'items': {'oneOf': [{'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minProperties': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'patternProperties': {'^\\w+$': {'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]}},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'minItems': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'array',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'uniqueItems': True}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'pause-before': {'oneOf': [{'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'boolean'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'publish': {'minProperties': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'patternProperties': {'^\\w+$': {'anyOf': [{'type': 'null'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'array'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'boolean'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'integer'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'number'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'object'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'string'}]}},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'publish-on-error': {'minProperties': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'patternProperties': {'^\\w+$': {'anyOf': [{'type': 'null'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'array'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'boolean'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'integer'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'number'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'object'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'string'}]}},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'retry': {'oneOf': [{'additionalProperties': False,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'properties': {'break-on': {'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'continue-on': {'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'count': {'oneOf': [{'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minimum': 0,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'integer'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'delay': {'oneOf': [{'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minimum': 0,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'integer'}]}},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'required': ['delay',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'count'],
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}],
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'properties': {'description': {'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'name': {'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'tags': {'items': {'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'minItems': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'array',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'uniqueItems': True},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'version': {'anyOf': [{'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minimum': 0,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'integer'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minimum': 0.0,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'number'}]}}},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'safe-rerun': {'oneOf': [{'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'type': 'boolean'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'tags': {'items': {'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'minItems': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'array',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'uniqueItems': True},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'target': {'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'timeout': {'oneOf': [{'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minimum': 0,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'integer'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': {'enum': ['direct']},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'version': {'anyOf': [{'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minimum': 0,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'integer'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minimum': 0.0,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'number'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'wait-after': {'oneOf': [{'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minimum': 0,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'integer'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'wait-before': {'oneOf': [{'oneOf': [{'pattern': '^({{(.*)}})\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'pattern': '^<%.*?%>\\s*$',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'minimum': 0,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'integer'}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'with-items': {'oneOf': [{'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {'items': {'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'minItems': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'array',
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'uniqueItems': True}]},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'workflow': {'minLength': 1,
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'string'}},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'}},
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource 'type': 'object'}
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource On instance['tasks']:
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource {}
2017-03-08 10:51:24.301 TRACE tacker.api.v1.resource

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

Fix proposed to branch: master
Review: https://review.openstack.org/448844

Changed in tacker:
assignee: nobody → yong sheng gong (gongysh)
status: New → In Progress
Changed in tacker:
milestone: none → pike-1
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tacker (master)

Reviewed: https://review.openstack.org/448844
Committed: https://git.openstack.org/cgit/openstack/tacker/commit/?id=e22bb960f1b646d7dcd8fae5567a9c6530d5714d
Submitter: Jenkins
Branch: master

commit e22bb960f1b646d7dcd8fae5567a9c6530d5714d
Author: yong sheng gong <gong.yongsheng@99cloud.net>
Date: Thu Mar 23 09:30:33 2017 +0800

    by pass to run workflow if there is no tasks at all

    When system errors, for example, we failed to create the member
    vnf of a ns, the workflow tasks to delete the ns will be empty.

    This patch is to deal with this error situation. in this case,
    the workflow execution is passed by, and the NS object is deleted.

    Change-Id: Ib714ab0dcc38859314239facc3f18bfcc18c0682
    Closes-bug: 1670921

Changed in tacker:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tacker 0.8.0

This issue was fixed in the openstack/tacker 0.8.0 release.

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.