Create VNFFG error "Request Failed: internal server error while processing your request."

Asked by Vo Anh Hoang

I'm stuck at creating a VNFFG, the error log file of apache2 and tacker return the same error. Can somebody help, below are the info of my vnfd and vnffgd

1. vnfd
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0

description: Demo example

metadata:
  template_name: sample-tosca-vnfd1

topology_template:
  node_templates:
    VDU1:
      type: tosca.nodes.nfv.VDU.Tacker
      capabilities:
        nfv_compute:
          properties:
            num_cpus: 1
            mem_size: 512 MB
            disk_size: 1 GB
      properties:
        image: OpenWRT
        availability_zone: nova
        mgmt_driver: noop
        config: |
          param0: key1
          param1: key2

    CP11:
      type: tosca.nodes.nfv.CP.Tacker
      properties:
        management: true
        order: 0
        anti_spoofing_protection: false
      requirements:
        - virtualLink:
            node: VL11
        - virtualBinding:
            node: VDU1

    VL11:
      type: tosca.nodes.nfv.VL
      properties:
        network_name: net-mgmt
        vendor: Tacker

2. vnffgd
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0

description: Sample VNFFG template

topology_template:
  description: Sample VNFFG template

  node_templates:

    Forwarding_path1:
      type: tosca.nodes.nfv.FP.Tacker
      description: creates path (CP11->CP21)
      properties:
        id: 51
        policy:
          type: ACL
          criteria:
            - network_src_port_id: bd60cabf-7791-4822-9af2-d8d40e20ccca
            - destination_port_range: 1024-65535
            - ip_proto: 17
        path:
          - forwarder: VNF1
            capability: CP11
          - forwarder: VNF2
            capability: CP21

  groups:
    VNFFG1:
      type: tosca.groups.nfv.VNFFG
      description: Traceroute from Dest to Source
      properties:
        vendor: tacker
        version: 1.0
        number_of_endpoints: 2
        dependent_virtual_link: [VL11,VL21]
        connection_point: [CP11,CP21]
        constituent_vnfs: [VNF1,VNF2]
      members: [Forwarding_path1]

3. list those by tacker

root@controller:~# tacker vnf-list
+-------------------------+------+-------------------------+--------+-------------------------+--------------------------+
| id | name | mgmt_url | status | vim_id | vnfd_id |
+-------------------------+------+-------------------------+--------+-------------------------+--------------------------+
| 377ee6fc-75c2-4fb1-a284 | VNF2 | {"VDU1": "10.0.10.113"} | ACTIVE | 1b973850-2771-45eb- | b7c421f9-2715-422d-b36c- |
| -f98f4622ba41 | | | | 8c5d-c78e9a384281 | 04f8f26ac634 |
| f52a76f5-e165-46e8-bbb7 | VNF1 | {"VDU1": "10.0.10.107"} | ACTIVE | 1b973850-2771-45eb- | e9f15deb-4b01-4402-b5bb- |
| -d7db7cc9e4ae | | | | 8c5d-c78e9a384281 | 14d4ec5efd55 |
+-------------------------+------+-------------------------+--------+-------------------------+--------------------------+
root@controller:~# tacker vnffgd-list
+--------------------------------------+---------+-------------+
| id | name | description |
+--------------------------------------+---------+-------------+
| 9f21029f-be41-4a13-bd2e-cf933b57bc58 | VNFFGD1 | |
+--------------------------------------+---------+-------------+
root@controller:~# tacker vnffg-create --vnffgd-name VNFFGD1 --vnf-mapping VNF1:'VNF1',VNF2:'VNF2' VNFFG1
Request Failed: internal server error while processing your request.

Question information

Language:
English Edit question
Status:
Solved
For:
tacker Edit question
Assignee:
No assignee Edit question
Solved by:
Vo Anh Hoang
Solved:
Last query:
Last reply:
Revision history for this message
Vo Anh Hoang (vahoang) said :
#1

I check the neutron-server-log file and there's a error as below

2017-10-18 10:56:31.536 13529 INFO neutron.api.v2.resource [req-1fb5cf45-c14f-4f53-8745-e2aefabca410 8fff2d64a450435fa0443c0d3a79c134 a8153b633a584b5dab9000236749d4ee - - -] create failed (client error): The server could not comply with the request since it is either malformed or otherwise incorrect.

Revision history for this message
Cong Phuoc Hoang (hoangphuoc) said :
#2
Revision history for this message
Vo Anh Hoang (vahoang) said :
#3

I think I found the error, its appear that when I create a VNFFGD with the wrong/invalid network_src_port_id, tacker return the error but it still create a corresponding flow_classifier, so even the next time I use the correct network_src_port_id it will be error still cause the new flow_classifier conflict with the old one (which should be delete automatically when the previous VNFFG creation is error, but it was not).

So I have to show all the flow_classifier and delete all of it, then create everything again, and its work.

Tks for your help hoangphuoc :D

Revision history for this message
Vo Anh Hoang (vahoang) said :
#4

So the solution in my case should be:

1. List all the flow_classifier with cmd

neutron flow-classifier-list

2. check if there's a unused or conflict in those (check the port chains and path)
3. delete those conflict
4. create your new VNFFG

Revision history for this message
Vo Anh Hoang (vahoang) said :
#5

Also check for port-pair and port-pair-group too, it have the same issue with the flow-classifier

Revision history for this message
Cong Phuoc Hoang (hoangphuoc) said :
#6

I think you can contribute to Tacker to fix this bug :)

Revision history for this message
Vo Anh Hoang (vahoang) said :
#7

hoangphuoc I think it gonna takes lots of time and effort and its out of the range and scope of my current work too. So :)

Revision history for this message
Nguyen Hai (nguyentrihai93-deactivatedaccount) said :
#8

The VNFFG TOSCA syntax has been changed to address the multiple flow classifiers. Therefore, instead of using this:

    Forwarding_path1:
      type: tosca.nodes.nfv.FP.Tacker
      description: creates path (CP11->CP21)
      properties:
        id: 51
        policy:
          type: ACL
          criteria:
            - network_src_port_id: bd60cabf-7791-4822-9af2-d8d40e20ccca
            - destination_port_range: 1024-65535
            - ip_proto: 17

We should use this:

    Forwarding_path1:
      type: tosca.nodes.nfv.FP.Tacker
      description: creates path (CP11->CP21)
      properties:
        id: 51
        policy:
          type: ACL
          criteria:
            - network_src_port_id: bd60cabf-7791-4822-9af2-d8d40e20ccca
              destination_port_range: 1024-65535
              ip_proto: 17