Tacker vnf-create fails in latest master due to port_security_enabled error,
$ tacker vnf-create --name test-vnf-1 --vnfd-name test-vnfd-1
ERROR: port_security_enabled not allowed in value_specs
Heat log shows,
h-api.log,
2015-12-02 21:24:49.826 DEBUG heat.common.serializers [req-e197a5ca-5351-4295-8f6e-db9ffb015cd1 tacker service] JSON response : {"explanation": "The ser ver could not comply with the request since it is either malformed or otherwise incorrect.", "code": 400, "error": {"message": "port_security_enabled not allowed in value_specs", "traceback": "Traceback (mo st recent call last):\n\n File \"/opt/stack/heat/heat/common/context.py\", line 296, in wrapped\n return func(self, ctx, *args, **kwargs)\n\n File \"/opt/stack/heat/heat/engine/service.py\", line 731, in create_stack\n parent_resource_name)\n\n File \"/opt/stack/heat/heat/engine/service.py\", line 642, in _parse_template_and_validate_stack\n stack.validate()\n\n File \"/usr/local/lib/python2.7/di st-packages/osprofiler/profiler.py\", line 105, in wrapper\n return f(*args, **kwargs)\n\n File \"/opt/stack/heat/heat/engine/stack.py\", line 704, in validate\n raise exception.StackValidationFailed (message=result)\n\nStackValidationFailed: port_security_enabled not allowed in value_specs\n", "type": "StackValidationFailed"}, "title": "Bad Request"} from (pid=87732) to_json /opt/stack/h eat/heat/common/serializers.py:40
h-eng.log,
2015-12-02 21:24:49.801 DEBUG oslo_messaging.rpc.dispatcher [req-e197a5ca-5351-4295-8f6e-db9ffb015cd1 tacker service] Expected exception during message handling (port_security_enabled not allowed in value_specs) from (pid=87569) _dispatch_and_reply /usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py:145
Tacker logs shows,
718 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource Traceback (most recent call last):
719 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/api/v1/resource.py", line 87, in resource
720 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource result = method(request=request, **args)
721 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/api/v1/base.py", line 398, in create
722 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource obj = obj_creator(request.context, **kwargs)
723 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/vm/plugin.py", line 665, in create_vnf
724 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource vnf_dict = self.create_device(context, vnf)
725 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/vm/plugin.py", line 312, in create_device
726 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource device_dict = self._create_device(context, device)
727 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/vm/plugin.py", line 301, in _create_device
728 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource self.delete_device(context, device_id)
729 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/openstack/common/excutils.py", line 82, in __exit__
730 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource six.reraise(self.type_, self.value, self.tb)
731 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/vm/plugin.py", line 298, in _create_device
732 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource context=context, device=device_dict)
733 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/common/driver_manager.py", line 75, in invoke
734 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource return getattr(driver, method_name)(**kwargs)
735 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/common/log.py", line 34, in wrapper
736 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource return method(*args, **kwargs)
737 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/vm/drivers/heat/heat.py", line 320, in create
738 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource stack = heatclient_.create(fields)
739 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource File "/opt/stack/tacker/tacker/vm/drivers/heat/heat.py", line 489, in create
740 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource raise vnfm.HeatClientException(msg=value)
741 2015-12-02 21:24:50.088 TRACE tacker.api.v1.resource HeatClientException: ERROR: port_security_enabled not allowed in value_specs
Fix proposed to branch: master /review. openstack. org/252698
Review: https:/