Example nginx container serving static images
962
This repository contains several example network services and their corresponding VNFs that can be used to test SONATA's SDK tools and SONATA's service platform.
service-projects/)Example service projects that include NSDs, VNFDs, etc. The projects are given as source code and have to be packed before they can be pushed to the service platform or the emulator.
sonata-empty-service-emu: Simple service chain with three empty VNFs (UPB) Tutorial.sonata-snort-service-emu: Service with a single Snort VNF (UPB) Tutorial.sonata-sdk-test-service-emu: Service with 2 empty ubuntu VNFs chained to each other (iMinds).sonata-ovs-service-emu: Service with an ovs switch and a Ryu openflow controller (iMinds).sonata-vtc-service-emu: Service with single vTC VNF to test the vTC VNF in the emulator (UPB) Tutorial.sonata-fw-vtc-service-emu: This will be the service for the Y1 review of son-emu (UPB).sonata-fw-dpi-service-emu: Service with a Firewall (ovs+Ryu) and DPI (Snort) (iMinds).sonata-fw-service-emu : Service with a single firewall VNF to test the firewall in the emulator (iMinds).sonata-fw-vtc-service-sp: This will be the service for the Y1 review of SONATA's service platform.*-emu: Service references Docker-based VNFs that can be executed in son-emu.*-sp: Service references VM-based VNFs that can be executed in SONATA's service platform.The given example projects can be packed with the son-cli tools:
First initialize a local SONATA workspace (if not already done):
son-workspace --initIn service-projects/ do:
son-package --project sonata-empty-service-emu -n sonata-empty-serviceson-package --project sonata-snort-service-emu -n sonata-snort-serviceThe created service packages can be found in:
<service-folder>/target/<package-file.son>vnfs/)Example VNF implementations. Most of them are given as Docker container configurations so that they can directly be used in the emulator. But the Docker containers can also be included and executed within VM images to run them on the service platform.
sonata-empty-vnf-docker: Minimalistic empty VNF (UPB).sonata-iperf3-vnf-docker: Iperf3 traffic generator (UPB).sonata-snort-ids-vnf-docker: Snort 2.9 intrusion detection system (UPB).sonata-ovs1-vnf-docker: OpenvSwitch inside Docker container (Packets are processed in userspace inside the vswitch daemon running in the container) (iMinds).sonata-ryu-snort-vnf-docker: Ryu Openflow controller, running as a learning switch (rest API included) (iMinds).sonata-ryu-vnf-docker: Ryu Openflow controller, running as a learning switch (Snort support and rest API included) (iMinds).sonata-vtc-vnf-docker: nDPI based traffic classifier (requieres PF_RING to be installed on the host machine) (NCSRD).sonata-snort-ovs-docker: Snort intrusion detection system, extended with an interface to send alerts to a Ryu openflow controller (iMinds).sonata-son-emu-sap-docker: Generic container that can be used to be deployed as SAP (Service Access Point) for a service deployed in the SONATA SDK emulator. This container has some basic functionality to generate and capture traffic (iMinds).sonata-fw-vnf-docker : Firewall implemented by a Ryu Openflow controller and OpenVSwithc in one single VNF (iMinds).sonata-fw-vnf-vm : Firewall implemented by a Ryu Openflow controller and OpenVSwithc in one single VNF. Exported as a Vagrant-built VM. (iMinds).*-docker: VNF executed as Docker container (Dockerfile).*-vm: VNF executed as virtual machine image (or Vagrantfile).In vnfs/ do ...
./build.sh [opt. target repository name (default=sonatanfv)]
./push.sh [opt. target repository name (default=sonatanfv)]
son-emuStep-by-step instructions that show how to deploy the example services on son-emu are given in son-emu's project wiki:
sonata-empty-service: Service package deployment and validationsonata-snort-service: Snort IDS service package deployment and validationThis repository is integrated into SONATA's CI/CD workflow. The following unittests are executed whenever a pull request is created:
vnfs/build.sh).vnfs/push.sh).son-package to validate the service projects (service-projects/pack.sh).Note: The packaged services are not yet uploaded anywhere. We use packaging only to validate the service projects and their descriptors.
Son-examples is published under Apache 2.0 license. Please see the LICENSE file for more details.
Contributing to the son-examples is really easy. You must:
The following lead developers are responsible for this repository and have admin rights. They can, for example, merge pull requests.
Content type
Image
Digest
Size
44.4 MB
Last updated
over 8 years ago
docker pull tdierich/image-serving