when I run
(1) tacker vnfd-create --vnfd-file test-vnffg-vnfd1.yaml VNFFG_VNFD1
(2) tacker vnfd-create --vnfd-file test-vnffg-vnfd2.yaml VNFFG_VNFD2
(3) tacker vnf-create --vnfd-id vnfd1-id(need real vnfd1-id) test_vnf1
(4) tacker vnf-create --vnfd-id vnfd2-id(need real vnfd2-id) test_vnf2
(5) tacker vnffgd-create --vnffgd-file test-vnffg-vnffgd.yaml --param-file network_param.yaml
tacker-server throw out these logs
2017-03-22 16:47:48.362 DEBUG tacker.db.vnfm.vnfm_db [req-20f1651b-3983-4077-8cbf-a4e72fb56ed9 nfv nfv_user] vnf_db attributes ([<tacker.db.vnfm.vnfm_db.VNFAttribute[object at 7f6ddad6acd0] {id=u'4ac2f9b7-566a-4a38-94ce-1c51c0ff913e', vnf_id=u'0b9d1780-b6e6-4f2d-8915-3d48aceb16c0', key=u'heat_template', value=u"heat_template_version: 2013-05-23\ndescription: 'Demo example\n\n '\nparameters: {}\nresources:\n CP21:\n type: OS::Neutron::Port\n properties:\n port_security_enabled: false\n network: net_mgmt\n CP22:\n type: OS::Neutron::Port\n properties:\n port_security_enabled: false\n network: net0\n CP23:\n type: OS::Neutron::Port\n properties:\n port_security_enabled: false\n network: net1\n VDU1:\n type: OS::Nova::Server\n properties:\n user_data_format: RAW\n availability_zone: nova\n image: cirros-0.3.4-x86_64-uec\n flavor:\n get_resource: VDU1_flavor\n networks:\n - port:\n get_resource: CP21\n - port:\n get_resource: CP22\n - port:\n get_resource: CP23\n config_drive: false\n VDU1_flavor:\n type: OS::Nova::Flavor\n properties:\n vcpus: 1\n disk: 1\n ram: 512\noutputs:\n mgmt_ip-VDU1:\n value:\n get_attr: [CP21, fixed_ips, 0, ip_address]\n"}>],) from (pid=43214) _make_vnf_dict /opt/stack/stack_ocata/tacker/tacker/db/vnfm/vnfm_db.py:200
2017-03-22 16:47:48.376 DEBUG tacker.db.nfvo.vnffg_db [req-20f1651b-3983-4077-8cbf-a4e72fb56ed9 nfv nfv_user] chain: [{'connection_points': [u'14907a4e-9c6c-42cb-991b-f80ef4285086'], 'name': u'test_vnf1'}, {'connection_points': [u'c1cecb6a-0bc2-4985-8a5b-a7ad98729dd8'], 'name': u'test_vnf2'}] from (pid=43214) _create_vnffg_pre /opt/stack/stack_ocata/tacker/tacker/db/nfvo/vnffg_db.py:333
2017-03-22 16:47:48.378 DEBUG tacker.db.nfvo.vnffg_db [req-20f1651b-3983-4077-8cbf-a4e72fb56ed9 nfv nfv_user] acl_match {u'network_src_port_id': {u'get_input': u'network_src_port_id'}, u'ip_proto': 6, u'ip_dst_prefix': u'10.10.0.100/24', u'destination_port_min': 80, u'destination_port_max': 1024} from (pid=43214) _create_vnffg_pre /opt/stack/stack_ocata/tacker/tacker/db/nfvo/vnffg_db.py:354
2017-03-22 16:47:48.401 ERROR oslo_db.sqlalchemy.exc_filters [req-20f1651b-3983-4077-8cbf-a4e72fb56ed9 nfv nfv_user] DB exception wrapped.
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters Traceback (most recent call last):
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1073, in _execute_context
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters context = constructor(dialect, self, conn, *args)
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 610, in _init_compiled
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters for key in compiled_params
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 610, in <genexpr>
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters for key in compiled_params
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/type_api.py", line 982, in process
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters return process_param(value, dialect)
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters File "/opt/stack/stack_ocata/tacker/tacker/db/types.py", line 27, in process_bind_param
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters uuid.UUID(value, version=4)
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters File "/usr/lib/python2.7/uuid.py", line 133, in __init__
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters hex = hex.replace('urn:', '').replace('uuid:', '')
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters AttributeError: 'dict' object has no attribute 'replace'
2017-03-22 16:47:48.401 TRACE oslo_db.sqlalchemy.exc_filters
2017-03-22 16:47:48.421 ERROR tacker.api.v1.resource [req-20f1651b-3983-4077-8cbf-a4e72fb56ed9 nfv nfv_user] create failed: No details.
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource Traceback (most recent call last):
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/opt/stack/stack_ocata/tacker/tacker/api/v1/resource.py", line 77, in resource
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource result = method(request=request, **args)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/opt/stack/stack_ocata/tacker/tacker/api/v1/base.py", line 395, in create
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource obj = obj_creator(request.context, **kwargs)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/opt/stack/stack_ocata/tacker/tacker/common/log.py", line 35, in wrapper
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource return method(*args, **kwargs)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/opt/stack/stack_ocata/tacker/tacker/nfvo/nfvo_plugin.py", line 240, in create_vnffg
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource vnffg_dict = super(NfvoPlugin, self)._create_vnffg_pre(context, vnffg)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/opt/stack/stack_ocata/tacker/tacker/db/nfvo/vnffg_db.py", line 361, in _create_vnffg_pre
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource context.session.add(match_db_table)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 553, in __exit__
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource self.rollback()
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource compat.reraise(exc_type, exc_value, exc_tb)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 550, in __exit__
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource self.commit()
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 455, in commit
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource self._prepare_impl()
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 435, in _prepare_impl
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource self.session.flush()
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2080, in flush
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource self._flush(objects)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2198, in _flush
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource transaction.rollback(_capture_exception=True)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource compat.reraise(exc_type, exc_value, exc_tb)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2162, in _flush
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource flush_context.execute()
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 373, in execute
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource rec.execute(self)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 532, in execute
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource uow
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 178, in save_obj
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource mapper, table, insert)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 771, in _emit_insert_statements
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource execute(statement, multiparams)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 914, in execute
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource return meth(self, multiparams, params)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 323, in _execute_on_connection
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource return connection._execute_clauseelement(self, multiparams, params)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1010, in _execute_clauseelement
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource compiled_sql, distilled_params
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1078, in _execute_context
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource None, None)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1337, in _handle_dbapi_exception
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource util.raise_from_cause(newraise, exc_info)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource reraise(type(exception), exception, tb=exc_tb, cause=cause)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1073, in _execute_context
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource context = constructor(dialect, self, conn, *args)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 610, in _init_compiled
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource for key in compiled_params
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 610, in <genexpr>
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource for key in compiled_params
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/type_api.py", line 982, in process
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource return process_param(value, dialect)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/opt/stack/stack_ocata/tacker/tacker/db/types.py", line 27, in process_bind_param
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource uuid.UUID(value, version=4)
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource File "/usr/lib/python2.7/uuid.py", line 133, in __init__
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource hex = hex.replace('urn:', '').replace('uuid:', '')
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource DBError: (exceptions.AttributeError) 'dict' object has no attribute 'replace' [SQL: u'INSERT INTO aclmatchcriterias (id, vnffgc_id, eth_src, eth_dst, eth_type, vlan_id, vlan_pcp, mpls_label, mpls_tc, ip_dscp, ip_ecn, ip_src_prefix, ip_dst_prefix, source_port_min, source_port_max, destination_port_min, destination_port_max, ip_proto, network_id, network_src_port_id, network_dst_port_id, tenant_id, icmpv4_type, icmpv4_code, arp_op, arp_spa, arp_tpa, arp_sha, arp_tha, ipv6_src, ipv6_dst, ipv6_flabel, icmpv6_type, icmpv6_code, ipv6_nd_target, ipv6_nd_sll, ipv6_nd_tll) VALUES (%(id)s, %(vnffgc_id)s, %(eth_src)s, %(eth_dst)s, %(eth_type)s, %(vlan_id)s, %(vlan_pcp)s, %(mpls_label)s, %(mpls_tc)s, %(ip_dscp)s, %(ip_ecn)s, %(ip_src_prefix)s, %(ip_dst_prefix)s, %(source_port_min)s, %(source_port_max)s, %(destination_port_min)s, %(destination_port_max)s, %(ip_proto)s, %(network_id)s, %(network_src_port_id)s, %(network_dst_port_id)s, %(tenant_id)s, %(icmpv4_type)s, %(icmpv4_code)s, %(arp_op)s, %(arp_spa)s, %(arp_tpa)s, %(arp_sha)s, %(arp_tha)s, %(ipv6_src)s, %(ipv6_dst)s, %(ipv6_flabel)s, %(icmpv6_type)s, %(icmpv6_code)s, %(ipv6_nd_target)s, %(ipv6_nd_sll)s, %(ipv6_nd_tll)s)'] [parameters: [{'ipv6_flabel': None, 'vlan_pcp': None, 'ipv6_dst': None, 'arp_tpa': None, 'icmpv6_type': None, 'destination_port_min': 80, 'arp_sha': None, 'ipv6_src': None, 'eth_src': None, 'icmpv6_code': None, 'id': '03c8cf12-d05e-4e19-9575-3c0003a5cbb2', 'vlan_id': None, 'network_src_port_id': {u'get_input': u'network_src_port_id'}, 'eth_dst': None, 'ip_dst_prefix': u'10.10.0.100/24', 'ipv6_nd_sll': None, 'mpls_tc': None, 'arp_op': None, 'eth_type': None, 'arp_tha': None, 'ip_dscp': None, 'network_dst_port_id': None, 'icmpv4_code': None, 'ip_src_prefix': None, 'arp_spa': None, 'ip_ecn': None, 'source_port_max': None, 'source_port_min': None, 'ipv6_nd_target': None, 'network_id': None, 'tenant_id': None, 'destination_port_max': 1024, 'ipv6_nd_tll': None, 'icmpv4_type': None, 'mpls_label': None, 'vnffgc_id': '9d2a4fd1-a7fb-4c4a-9386-c8c2bdcdd1a1', 'ip_proto': 6}]]
2017-03-22 16:47:48.421 TRACE tacker.api.v1.resource
test-vnffg- vnfd1.yaml
tosca_definitio ns_version: tosca_simple_ profile_ for_nfv_ 1_0_0
description: Demo example
metadata:
template_name: test-vnffg-vnfd1
topology_template: nfv.VDU. Tacker
nfv_compute:
properties:
num_ cpus: 1
mem_ size: 512 MB
disk_ size: 1 GB
user_data_ format: RAW 0.3.4-x86_ 64-uec
availability_ zone: nova
mgmt_driver: noop nfv.CP. Tacker
anti_spoofing_ protection: false
node_templates:
VDU1:
type: tosca.nodes.
capabilities:
properties:
image: cirros-
config: |
param0: key1
param1: key2
CP11:
type: tosca.nodes.
properties:
management: true
order: 0
requirements:
- virtualLink:
node: VL11
- virtualBinding:
node: VDU1
CP12: nfv.CP. Tacker
anti_spoofing_ protection: false
type: tosca.nodes.
properties:
order: 1
requirements:
- virtualLink:
node: VL12
- virtualBinding:
node: VDU1
CP13: nfv.CP. Tacker
anti_spoofing_ protection: false
type: tosca.nodes.
properties:
order: 2
requirements:
- virtualLink:
node: VL13
- virtualBinding:
node: VDU1
VL11:
network_ name: net_mgmt
type: tosca.nodes.nfv.VL
properties:
vendor: Tacker
VL12:
network_ name: net0
type: tosca.nodes.nfv.VL
properties:
vendor: Tacker
VL13:
network_ name: net1
type: tosca.nodes.nfv.VL
properties:
vendor: Tacker