TOSCA Iperf Scenario

The definition follows the TOSCA Simple Profile for Network Functions Virtualization (NFV) Version 1.0. Information about creating a complete TOSCA Template from scratch can be found in this tutorial.

This tutorial explains how to deploy a network service that uses iPerf. iPerf is a tool for active measurements of the maximum achievable bandwidth between two or more machines. This tutorial makes use of:

Requirements

In order to execute this scenario, you need to have the following components up and running:

  • The NFVO
  • the OpenStack plugin
  • the Generic VNFM (includes already generic EMS)
  • a PoP (of type openstack) registered. You can use the following json descriptor by changing the values to your needs.

More information about the Iperf Scenario here.

Complete Example

tosca_definitions_version: tosca_simple_profile_for_nfv_1_0
description: Example of NSD

metadata:
  ID: NSD-Iperf+FloatingIps
  vendor: Fokus
  version: 1.0

topology_template:

  node_templates:

    iperf-server: #VNF1
        type: openbaton.type.VNF
        properties:
          vendor: Fokus
          version: 1.0
          endpoint: generic
          type: server
          vnfPackageLocation: https://github.com/openbaton/vnf-scripts.git
          deploymentFlavour:
            - flavour_key: m1.small
        requirements:
          - virtualLink: private
          - vdu: VDU1        
        interfaces:
          lifecycle: # lifecycle
            INSTANTIATE:
              - install.sh
              - install-srv.sh

    iperf-client:
      type: openbaton.type.VNF
      properties:
        ID: x
        vendor: Fokus
        version: 1.0
        type: client
        vnfPackageLocation: https://github.com/openbaton/vnf-scripts.git
        deploymentFlavour:
          - flavour_key: m1.small
        endpoint: generic
      requirements:
         - virtualLink: private
         - vdu: VDU2
      interfaces:
          lifecycle: # lifecycle
            INSTANTIATE:
              - install.sh
            CONFIGURE:
              - server_configure.sh

    VDU1:
      type: tosca.nodes.nfv.VDU
      properties:
        scale_in_out: 1
      artifacts:
        VDU1Image:
          type: tosca.artifacts.Deployment.Image.VM
          file: ubuntu-14.04-server-cloudimg-amd64-disk1

    VDU2:
      type: tosca.nodes.nfv.VDU
      properties:
        scale_in_out: 3
      artifacts:
        VDU1Image:
          type: tosca.artifacts.Deployment.Image.VM
          file: ubuntu-14.04-server-cloudimg-amd64-disk1

    CP1:
      type: tosca.nodes.nfv.CP
      properties:
        floatingIP: random
      requirements:
        - virtualBinding: VDU1
        - virtualLink: private

    CP2: #endpoints of VNF2
      type: tosca.nodes.nfv.CP
      requirements:
        - virtualBinding: VDU2
        - virtualLink: private

    private:
      type: tosca.nodes.nfv.VL
      properties:
        vendor: Fokus

relationships_template:
  connection_server_client: 
    type: tosca.nodes.relationships.ConnectsTo
    source: iperf-server
    target: iperf-client
    parameters:
        - private

NOTE: Save the definition in a file called iperf-floating-ips.yaml.

Onboarding

The Iperf Template can be added used in CSAR and onboarded using the Dashboard.