Skip to content

Commit

Permalink
Merge pull request #97 from edmaas/master
Browse files Browse the repository at this point in the history
VNFs and service for active profiling example experiment
  • Loading branch information
mpeuster authored Aug 30, 2017
2 parents aa95325 + 3967a36 commit 4b02d9c
Show file tree
Hide file tree
Showing 33 changed files with 8,706 additions and 4 deletions.
3 changes: 3 additions & 0 deletions service-projects/pack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ son-validate --workspace test_ws --project sonata-ovs-service-emu
son-validate --workspace test_ws --project sonata-ovs-user-service-emu
son-validate --workspace test_ws --project sonata-fw-service-emu
#son-validate --workspace test_ws --project sonata-stress-service-emu
son-validate --workspace test_ws --project sonata-proxy-lb-service-emu

# package all example service projects
which son-package
Expand All @@ -51,6 +52,8 @@ son-package --workspace test_ws --project sonata-ovs-service-emu -n sonata-ovs-s
son-package --workspace test_ws --project sonata-ovs-user-service-emu -n sonata-ovs-user-service
son-package --workspace test_ws --project sonata-fw-service-emu -n sonata-fw-service
son-package --workspace test_ws --project sonata-stress-service-emu -n sonata-stress-service
son-package --workspace test_ws --project sonata-proxy-lb-service-emu -n sonata-proxy-lb-service


# validate platform projects
son-validate --workspace test_ws --project sonata-fw-vtc-service-sp
Expand Down
8 changes: 8 additions & 0 deletions service-projects/sonata-proxy-lb-service-emu/project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package:
description: "Example service for active son-cli profile execution."
maintainer: "Eduard Maas, Paderborn University, [email protected]"
name: sonata-proxy-lb-service-emu
vendor: eu.sonata-nfv.package
version: '0.4'
descriptor_extension: "yml"
version: '0.5'
119 changes: 119 additions & 0 deletions service-projects/sonata-proxy-lb-service-emu/sources/nsd/nsd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@

---
descriptor_version: "1.0"

vendor: "eu.sonata-nfv"
name: "sonata-active-profiling-service"
version: "0.1"
author: "Eduard Maas, Paderborn University, [email protected]"
description: "Example service with three chained empty VNFs"

##
## The various network functions this service
## is composed of.
##
network_functions:
- vnf_id: "squid-vnf"
vnf_vendor: "eu.sonata-nfv"
vnf_name: "squid-vnf"
vnf_version: "0.1"
- vnf_id: "nginx-lb-vnf"
vnf_vendor: "eu.sonata-nfv"
vnf_name: "nginx-lb-vnf"
vnf_version: "0.1"
- vnf_id: "apache-server-vnf"
vnf_vendor: "eu.sonata-nfv"
vnf_name: "apache-server-vnf"
vnf_version: "0.1"

##
## The NS connection points to the
## outside world.
##
connection_points:
- id: "ns:mgmt"
interface: "ipv4"
type: "management"
- id: "ns:input"
interface: "ipv4"
type: "external"

##
## The virtual links that interconnect
## the different connections points.
##
virtual_links:
- id: "mgmt"
connectivity_type: "E-LAN"
connection_points_reference:
- "squid-vnf:mgmt"
- "nginx-lb-vnf:mgmt"
- "apache-server-vnf:mgmt"
- "ns:mgmt"
- id: "link-input"
connectivity_type: "E-Line"
connection_points_reference:
- "ns:input"
- "squid-vnf:input"
- id: "link-input-rev"
connectivity_type: "E-Line"
connection_points_reference:
- "squid-vnf:input"
- "ns:input"
- id: "link-squid-nginx"
connectivity_type: "E-Line"
connection_points_reference:
- "squid-vnf:output"
- "nginx-lb-vnf:input"
- id: "link-squid-nginx-rev"
connectivity_type: "E-Line"
connection_points_reference:
- "nginx-lb-vnf:input"
- "squid-vnf:output"
- id: "link-nginx-apache"
connectivity_type: "E-Line"
connection_points_reference:
- "nginx-lb-vnf:output"
- "apache-server-vnf:input"
- id: "link-nginx-apache-rev"
connectivity_type: "E-Line"
connection_points_reference:
- "apache-server-vnf:input"
- "nginx-lb-vnf:output"

##
## The forwarding graphs.
##
forwarding_graphs:
- fg_id: "ns:fg01"
number_of_endpoints: 2
number_of_virtual_links: 4
constituent_virtual_links:
- "mgmt"
- "link-input"
- "link-input-rev"
- "link-squid-nginx"
- "link-squid-nginx-rev"
- "link-nginx-apache"
- "link-nginx-apache-rev"
constituent_vnfs:
- "squid-vnf"
- "nginx-lb-vnf"
- "apache-server-vnf"
network_forwarding_paths:
- fp_id: "ns:fg01:fp01"
policy: "none"
connection_points:
- connection_point_ref: "ns:input"
position: 1
- connection_point_ref: "squid-vnf:input"
position: 2
- connection_point_ref: "squid-vnf:output"
position: 3
- connection_point_ref: "nginx-lb-vnf:input"
position: 4
- connection_point_ref: "nginx-lb-vnf:output"
position: 5
- connection_point_ref: "apache-server-vnf:input"
position: 6

Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@

---
##
## Some general information regarding this
## VNF descriptor.
##
descriptor_version: "vnfd-schema-01"
vendor: "eu.sonata-nfv"
name: "apache-server-vnf"
version: "0.1"
author: "Eduard Maas, Paderborn University, [email protected]"
description: "A VNF running an apache server."
##
## The virtual deployment unit.
##
virtual_deployment_units:
- id: "1"
vm_image: "sonatanfv/sonata-apache-server-vnf"
vm_image_format: "docker"
resource_requirements:
cpu:
vcpus: 1
memory:
size: 2
size_unit: "GB"
storage:
size: 10
size_unit: "GB"
connection_points:
- id: "vdu01:cp01"
interface: "ipv4"
type: "internal"
- id: "vdu01:cp02"
interface: "ipv4"
type: "internal"
- id: "vdu01:cp03"
interface: "ipv4"
type: "internal"

##
## The virtual links that interconnect
## the different connections points.
##
virtual_links:
- id: "mgmt"
connectivity_type: "E-LAN"
connection_points_reference:
- "vdu01:cp01"
- "mgmt"
- id: "input"
connectivity_type: "E-Line"
connection_points_reference:
- "vdu01:cp02"
- "input"

##
## The VNF connection points to the
## outside world.
##
connection_points:
- id: "mgmt"
interface: "ipv4"
type: "management"
- id: "input"
interface: "ipv4"
type: "external"
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@

---
##
## Some general information regarding this
## VNF descriptor.
##
descriptor_version: "vnfd-schema-01"
vendor: "eu.sonata-nfv"
name: "nginx-lb-vnf"
version: "0.1"
author: "Manuel Peuster, Paderborn University, [email protected]"
description: "A VNF executing an nginx loadbalancing server"
##
## The virtual deployment unit.
##
virtual_deployment_units:
- id: "1"
vm_image: "sonatanfv/sonata-nginx-lb-vnf"
vm_image_format: "docker"
resource_requirements:
cpu:
vcpus: 1
memory:
size: 2
size_unit: "GB"
storage:
size: 10
size_unit: "GB"
connection_points:
- id: "vdu01:cp01"
interface: "ipv4"
type: "internal"
- id: "vdu01:cp02"
interface: "ipv4"
type: "internal"
- id: "vdu01:cp03"
interface: "ipv4"
type: "internal"

##
## The virtual links that interconnect
## the different connections points.
##
virtual_links:
- id: "mgmt"
connectivity_type: "E-LAN"
connection_points_reference:
- "vdu01:cp01"
- "mgmt"
- id: "input"
connectivity_type: "E-Line"
connection_points_reference:
- "vdu01:cp02"
- "input"
- id: "output"
connectivity_type: "E-Line"
connection_points_reference:
- "vdu01:cp03"
- "output"

##
## The VNF connection points to the
## outside world.
##
connection_points:
- id: "mgmt"
interface: "ipv4"
type: "management"
- id: "input"
interface: "ipv4"
type: "external"
- id: "output"
interface: "ipv4"
type: "external"
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@

---
##
## Some general information regarding this
## VNF descriptor.
##
descriptor_version: "vnfd-schema-01"
vendor: "eu.sonata-nfv"
name: "squid-vnf"
version: "0.1"
author: "Eduard Maas, Paderborn University, [email protected]"
description: "a VNF executing squid"
##
## The virtual deployment unit.
##
virtual_deployment_units:
- id: "1"
vm_image: "sonatanfv/sonata-squid-vnf"
vm_image_format: "docker"
resource_requirements:
cpu:
vcpus: 1
memory:
size: 2
size_unit: "GB"
storage:
size: 10
size_unit: "GB"
connection_points:
- id: "vdu01:cp01"
interface: "ipv4"
type: "internal"
- id: "vdu01:cp02"
interface: "ipv4"
type: "internal"
- id: "vdu01:cp03"
interface: "ipv4"
type: "internal"

##
## The virtual links that interconnect
## the different connections points.
##
virtual_links:
- id: "mgmt"
connectivity_type: "E-LAN"
connection_points_reference:
- "vdu01:cp01"
- "mgmt"
- id: "input"
connectivity_type: "E-Line"
connection_points_reference:
- "vdu01:cp02"
- "input"
- id: "output"
connectivity_type: "E-Line"
connection_points_reference:
- "vdu01:cp03"
- "output "

##
## The VNF connection points to the
## outside world.
##
connection_points:
- id: "mgmt"
interface: "ipv4"
type: "management"
- id: "input"
interface: "ipv4"
type: "external"
- id: "output"
interface: "ipv4"
type: "external"
13 changes: 13 additions & 0 deletions vnfs/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,16 @@ docker build -t $target_repo/sonata-fw-vnf -f sonata-fw-vnf-docker/Dockerfile so

# stress vnf
docker build -t $target_repo/sonata-stress-vnf -f sonata-stress-vnf-docker/Dockerfile sonata-stress-vnf-docker

# squid vnf
docker build -t $target_repo/sonata-squid-vnf -f sonata-squid-vnf-docker/Dockerfile sonata-squid-vnf-docker

# nginx loadbalancer vnf
docker build -t $target_repo/sonata-nginx-lb-vnf -f sonata-nginx-lb-vnf-docker/Dockerfile sonata-nginx-lb-vnf-docker

# apache bench vnf
docker build -t $target_repo/sonata-apache-bench-vnf -f sonata-apache-bench-docker/Dockerfile sonata-apache-bench-docker

# apache server vnf
docker build -t $target_repo/sonata-apache-server-vnf -f sonata-apache-server-docker/Dockerfile sonata-apache-server-docker

Loading

0 comments on commit 4b02d9c

Please sign in to comment.