Skip to content

CNF VNFD Example

Felipe Vicens edited this page Oct 9, 2018 · 13 revisions

This is an example of a VNFD which describes a CNF. It is a living document to define how such a descriptor should look like, so that we can create a schema for it. It completes our CNF examples.

---
descriptor_schema: "https://raw.githubusercontent.com/sonata-nfv/tng-schema/master/function-descriptor/vnfd-schema.yml"

vendor: "eu.5gtango"
name: "cnf-nginx-vnf"
version: "0.1"
author: "Felipe Vicens and Manuel Peuster"
description: "Our first CNF VNFD for K8s deployment of an Nginx."


# Manuel: Have "cloudnative_deployment_units"
# instead of our normal "virtual_deployment_units"
cloudnative_deployment_units:
  - id: "cdu01"
    deployment:
        kind: Deployment
        # Manuel: Have the complete K8s "deployment" structure from example 2 here?
    service:
        kind: Service
        # Manuel: Have the complete K8s "service" structure from example 2 here?
 
connection_points:
# Manuel: Have a single connection point to the service endpoint? Unclear.
  - id: "input"
    interface: "ipv4"
    type: "serviceendpoint"
    

# Manuel Do we even need those?
virtual_links:
  # skipped for now, lets first focus on the deployment unit section

Second iteration:

---
descriptor_schema: "https://raw.githubusercontent.com/sonata-nfv/tng-schema/master/function-descriptor/vnfd-schema.yml"

vendor: "eu.5gtango"
name: "cnf-nginx-vnf"
version: "0.1"
author: "Felipe Vicens and Manuel Peuster"
description: "Our first CNF VNFD for K8s deployment of an Nginx."


# Manuel: Have "cloudnative_deployment_units"
# instead of our normal "virtual_deployment_units"
# Felipe: This represents the containers inside the PODs
cloudnative_deployment_units:
  - id: "cdu01"
    image: nginx
    connection_points:
      - id: "http"
        port: 80
      - id: "https"
        port: 443

connection_points:
# Manuel: Have a single connection point to the service endpoint? Unclear.
# Felipe: This is kubernetes service level so it will be 1 service per cdu.
  - id: "external"
    interface: "ipv4"
    type: "serviceendpoint"
    ports:
      - id: "http"
        port: 80
        target_port: cdu01:http
      - id: "https"
        port: 443
        target_port: cdu01:https    

# Manuel Do we even need those?
# Felipe: Not sure, all connections will be type E-tree from 
# connection_point (service) to cdu. 
#We could move target port to virtual links.
virtual_links:
  # skipped for now, lets first focus on the deployment unit section
Clone this wiki locally