Upload
phungkhanh
View
217
Download
1
Embed Size (px)
Citation preview
Tutorial
Programming The Pla0orm
BerlinSeptember30th,2016
LorenzoTomasini
Agenda
• TheSo:FIREarchitecture• Experimentlifecycle• Accesstothefederatedtestbed• DesignandProgramming• TheMongoDBexample• DiscoveryandAllocaKonofresources• RunningandtroubleshooKngtheexperiment
7Oktober2016 So:FIREProjectMeeKngBerlin 2
jFed
FITEagleSo:FireSofwarePortalOpenVPNserver
Experimenter
Testbed
Testbed
Testbed
VNF
VNF
VNFVNF
VNF
ExperimenterLevel
So:FIREPlaSormProviderslevel
NFVMANOLevel
TestbedFederaKonLevel
So:FIRE
PlaSorm
Experiment Lifecycle
q Accesstothefederatedtestbedq DesignandProgrammingq DiscoveryandAllocaKonofresourcesq RunningandtroubleshooKngtheexperiment
7Oktober2016 So:FIREProjectMeeKngBerlin 4
Experiment Lifecycle
q Accesstothefederatedtestbedq DesignandProgrammingq DiscoveryandAllocaKonofresourcesq RunningandtroubleshooKngtheexperiment
7Oktober2016 So:FIREProjectMeeKngBerlin 5
Access to the Federated Testbed
• Theexperimenterswillreceive• UsernameandpasswordfortheSSP
• ThesamecredenKalusedtoaccessthewebportal• CerKficatetoaccesstheSo:FIREVPN• ThesamecerKficateandanewpasswordforlogintojFedanddiscovertheresources
7Oktober2016 So:FIREProjectMeeKngBerlin 6
jFed
FITEagleSo:FireSofwarePortalOpenVPNserver
Experimenter
Testbed
Testbed
Testbed
VNF
VNF
VNFVNF
VNF
ExperimenterLevel
So:FIREPlaSormProviderslevel
NFVMANOLevel
TestbedFederaKonLevel
So:FIRE
PlaSorm
Experiment Lifecycle
q Accesstothefederatedtestbedq DesignandProgrammingq DiscoveryandAllocaKonofresourcesq RunningandtroubleshooKngtheexperiment
7Oktober2016 So:FIREProjectMeeKngBerlin 8
Design and Programming
1. DesignthecloudsoluKon1. HowmanyVNFwillIneed?2. WhatrequirementshaseachVNF?3. Howaretheyconnected?4. WhatrequireseachVNFfromotherVNFs?
7Oktober2016 So:FIREProjectMeeKngBerlin 9
MongoDB Sharded Cluster
7Oktober2016 So:FIREProjectMeeKngBerlin 10
MongoDB Sharded Cluster
• Shard:Eachshardcontainsasubsetofthedata.Eachshardcanbealsodeployedasareplicaset.• Mongos(Router):Themongosrouteractsasaqueryrouter,providinganinterfacebetweenclientapplicaKonsandtheshardedcluster.• ConfigServer(s):ConfigserversstoremetadataandconfiguraKonseangsforthecluster.Configserverscanbedeployedasareplicaset
7Oktober2016 So:FIREProjectMeeKngBerlin 11
MongoDB Sharded Cluster
• ThreetypeofVNF:• Shard• Config• Router
• ThismeansthreeVNFPackages,oneperVNFtobeuploadedtotheSSP
7Oktober2016 So:FIREProjectMeeKngBerlin 12
MongoDB example
7Oktober2016 So:FIREProjectMeeKngBerlin 13
Router
Config Shard1
Shardn
ClientApp
FOKUStestbed
Surreytestbed TelecomItaliatestbed
Create a VNF Package
• VNFPackageisasimpletarfilecontaining:
• Metadata.yaml• Scriptsfolder• vnfd.json
7Oktober2016 So:FIREProjectMeeKngBerlin 14
Metadata.yaml • TheMetadata.yamldefinesessenKalproperKesfortheVNF.ThisfileisbasedontheYAMLsyntaxwhereinformaKonarestoredinsimple<key>:<value>associaKons.
7Oktober2016 So:FIREProjectMeeKngBerlin 15Reference:hfp://openbaton.github.io/documentaKon/vnfpackage/
name:routerdescrip:on:"Theroutermodule”scripts-link:scripts_linkprovider:TUBshared:trueimage:
upload:falsenames: -Ubuntu14.04Cloudbasedlink:hJp://link-to-image
Image-config:name:Ubuntu14.04CloudbaseddiskFormat:qcow2containerFormat:bareminCPU:0minDisk:0minRam:0isPublic:true
VNF Lifecycle event
7Oktober2016 So:FIREProjectMeeKngBerlin 16
Vnfd.json
• Thevnfd.jsoncontainstheVirtualNetworkFuncKonDescriptor(VNFD)onboardedtotheOrchestrator.
7Oktober2016 So:FIREProjectMeeKngBerlin 17
Scripts folder • ThescriptsfoldercontainsallthescriptsrequiredforstarKng,configuringorwhateveryouwanttodoontherunninginstanceduringspecificlifecycles.TheexecuKonorderisdefinedbythelifecycle_eventsinsidetheVNFD.Thislifecycle_eventsaretriggeredbytheNFVOinthemeaningof:iftheevent"INSTANTIATE"containsascriptinthelifecycle_events,thisscriptisexecutedwhentheNFVOcallstheinstanKatemethodforthespecificVNFR.
• Note:Thescriptsinthefolderscriptsarefetchedonlyifthescripts-linkisnotdefinedintheMetadata.yaml.Thismeansthatthescriptsinthatfolderhavelessprioritythanthescriptslocatedunderscripts-link.
• Note:ScriptsareexecutedwhenaspecificEventisfiredandthisEventreferencestospecificscripts.
• Note:subfoldersarenotallowed
7Oktober2016 So:FIREProjectMeeKngBerlin 18Reference:hfp://openbaton.github.io/documentaKon/vnfpackage/
Script example
#!/bin/bash
exportLC_ALL=C
shard_uri="$shard_softfire_internal_floatingIp:$shard_port”
echo$shard_uri
echo"sh.addShard('$shard_uri')">addShard.js
if[-z$database];then
database=softfire
fi
echo"sh.enableSharding('$database')">>addShard.js
mongo--port$port<addShard.js
7Oktober2016 So:FIREProjectMeeKngBerlin 19
Routerscript:shard_configure.sh
So:fireSo:warePortal
27.09.16 So:FIREProjectMeeKngBerlin 20
jFed
FITEagleSo:FireSofwarePortalOpenVPNserver
Experimenter
Testbed
Testbed
Testbed
VNF
VNF
VNFVNF
VNF
ExperimenterLevel
So:FIREPlaSormProviderslevel
NFVMANOLevel
TestbedFederaKonLevel
So:FIRE
PlaSorm
Experiment Lifecycle
q Accesstothefederatedtestbedq DesignandProgrammingq DiscoveryandAllocaKonofresourcesq RunningandtroubleshooKngtheexperiment
7Oktober2016 So:FIREProjectMeeKngBerlin 22
jFed for resource discovery
7Oktober2016 So:FIREProjectMeeKngBerlin 23
Experiment Lifecycle
q Accesstothefederatedtestbedq DesignandProgrammingq DiscoveryandAllocaKonofresourcesq RunningandtroubleshooKngtheexperiment
7Oktober2016 So:FIREProjectMeeKngBerlin 24
jFedforresourceallocaKon
27.09.16 So:FIREProjectMeeKngBerlin 25
jFedforresourceaccess
27.09.16 So:FIREProjectMeeKngBerlin 26
jFedforresourceaccess
27.09.16 So:FIREProjectMeeKngBerlin 27