Basic Tutorial Part II 31/12/2018
What you did in part I of the tutorial Set up ssh keys and accounts Use jFed tool to login on a node With and without proxy 31/12/2018
What we will do in this tutorial What happens behind the scenes New concepts: Rspec Aggregate Manager API (AM API) Stitching Parts of this tutorial are based on GENI tutorials (US) 31/12/2018
Resource Specifications (RSpec) RSpecs are XML documents that describe resources Machines, VMs, links, etc. RSpec for a physical machine with one interface: <?xml version="1.0" encoding="UTF-8"?> <rspec type="request” xsi:schemaLocation="http://www.geni.net/resources/rspec/3 … xmlns="http://www.geni.net/resources/rspec/3"> <node client_id="node0" component_manager_id="urn:publicid:IDN+wall1.ilabt.iminds.be+authority+cm" exclusive="true"> <sliver_type name="raw-pc"/> </node> </rspec> 31/12/2018
In jFed, click: Raw RSpec 31/12/2018
RSpecs RSpec documents are exchanged by experimenter tools (e.g. jFed) and testbeds Testbeds use RSpecs to describe what they have – Advertisement RSpecs Experimenters use RSpecs to describe the resources they want – Request RSpecs Testbeds use RSpecs to describe the resources allocated to an experimenter – Manifest RSpecs 31/12/2018
The AM API Experimenter tools and testbeds talk to each other using the Aggregate Manager API (AM API) What do you have? I have … ListResources(…) I would like … Advertisement RSpec You have … CreateSliver(Request RSpec, …) Aggregate Manager Experimenter Tool What do I have? Manifest RSpec You have … ListResources(SliceName, …) Manifest RSpec 31/12/2018
jFed does these calls, check ‘call view’ Click right bottom: Green calls: okay, red calls: something wrong 31/12/2018
jFed flow Draw your experiment Raw RSpec = request RSpec Run your experiment: creates all needed resources (createSliver) Status calls: nodes turn green = manifest Rspec, see next slide Terminate experiment: free resources 31/12/2018
Manifest Rspec: go to Raw RSpec 31/12/2018
TCP ports and firewalls 12369, 12346, 11443, 8081, … Add IPv6 for node access in Europe = problems First step: Detection (connectivity tester) Second step: work around -> SSH proxy
Connectivity test (also in bug report)
SSH proxy (optional !) For API calls For SSH login Automatic SSH agent for extra comfort
Virtual Wall Authority SSH proxy: only TCP 22 Virtual Wall Authority IPv4 API calls TCP 22 IPv4 SSH TCP 22 Public SSH keys of PEM cert SSH gateway server AMs, nodes, … IPv4/IPv6 API calls SSH login Even private vpns connected to SSH gateway
Summary RSpecs: raw XML format of experiments New features of testbeds are accessible directly You can create tools/scripts to generate large RSpecs You can save and load these Rspecs: In jFed Rspec editor, you can edit/search/replace 31/12/2018
Next We will walk through a Virtual Wall or w-iLab.t specific example to show this in action Note: there are also other tools which use the same RSpecs, and do the same API calls Most are command line E.g. Omni: http://trac.gpolab.bbn.com/gcf/wiki/Omni 31/12/2018
Layer 2 stitching
Stitching
Working today iMinds Belnet 250 vlans Geant 10 vlans
Actually working well ! http://monitor.ilabt.iminds.be
Support setup http://doc.fed4fire.eu Google group: fed4fire-experimenters Extensive testing and monitoring of testbeds: http://monitor.ilabt.iminds.be/
Using those other testbeds Edit Rspec and change wall1 in wall2 and vice versa Right click node and put it in Utah Put node in wall1 and in wall2 = stitching Put node in wall2 and in Utah -> only 10 vlans available, takes about 10 minutes Demo with GENI account 31/12/2018