210 likes | 353 Views
GMOC Support for GENI Racks. Kevin Bohan, GMOC Eldar Urumbaev , GMOC. Topics. Meta-Operations Overview What’s Changed Code Examples What’s Connected Future Directions. Introduction. C ore set of operational data needed to jointly run the network
E N D
GMOC Support for GENI Racks Kevin Bohan, GMOC EldarUrumbaev, GMOC
Topics • Meta-Operations Overview • What’s Changed • Code Examples • What’s Connected • Future Directions
Introduction • Core set of operational data needed to jointly run the network • Monitoring of aggregates, resources, and circuits that make up GENI • Display operational data in a web UI • For Operators • For Experimenters • Orchestrate Emergency Stop
Meta-Operations Model Meta-operations Database Aggregates/ Resources Slice Authority Campus A Campus A User Interface Slice Sliver Resource Sliver Resource Slice
What’s Changed • API called GMOC Objects • Makes it easier to report data to GMOC • Python module • Use of URNs • Aggregate Naming • Support for Circuits
GMOC Objects • Models the state of things in GENI • Loosely couples submission of metadata and time-series data • Allows partial data submission • Can be instantiated anywhere • Much easier to use than previous solutions
Modeled Network Elements • POP • Organization • Aggregate • Sliver • Resource • Interface • IPv4, IPv6, MAC address • VLANs • Slice Authority • Slice • Network • Circuit • Endpoint interfaces • Circuit type • 1/10/40/100 Gigabit Ethernet • 802.11 • WiMAX • Provisioned bandwidth
Operational Measurement Objects • CPUUtilization • VMCount • TargetPingable • AMAPIListResources • AMAPIGetVersion • DiskUtilization • OpenFlowSliverStats • SliverState • DatapathStats • NetworkStats
Changing Aggregate State import gmoc pop = gmoc.POP(“urn:publicid:IDN+gmoc.geni.net+pop+MOXI-Indiana”) agg = gmoc.Aggregate(“moxifoam.ictc.indiana.gigapop.net:3626”, pop) agg.state = gmoc.AM_STATE_DOWN client.store(agg)
Adding a Resource import gmoc pop = gmoc.POP(“urn:publicid:IDN+gmoc.geni.net+pop+MOXI-Indiana”) agg = gmoc.Aggregate(“moxifoam.ictc.indiana.gigapop.net:3626”, pop) res = gmoc.Resource(“urn:publicid:IDN+openflow:foam:foam7.gpolab.bbn.com+datapath+04:4d:00:12:e2:b8:a5:d0”, “datapath”, pop, agg) client.store(agg)
Manual Measurements import gmoc pop = gmoc.POP(“urn:publicid:IDN+gmoc.geni.net+pop+MOXI-Indiana”) agg = gmoc.Aggregate(“moxifoam.ictc.indiana.gigapop.net:3626”, pop) cpu = CPUUtilization() cpu.addData(1349725335, { "cpu_idle": 3.1 }) agg.addMeasurement(cpu) client.storeMeasurement(pop)
Measurement from RRDs import gmoc pop = gmoc.POP(“urn:publicid:IDN+gmoc.geni.net+pop+MOXI-Indiana”) agg = gmoc.Aggregate(“moxifoam.ictc.indiana.gigapop.net:3626”, pop) cpu = CPUUtilization() cpu.loadRRD(”/array/moxifoam_node_cpu_idle.rrd”, 1318102932, 1349729656) agg.addMeasurement(cpu) client.storeMeasurement(pop)
What’s Connected? • 20 FOAM aggregates • pgeni SA • GENI Clearinghouse & Portal • ExoGENI • Metadata • Operational monitoring • InstaGENI • Metadata • Some operational monitoring
Future Directions? • Populate the API with data from GMOC • Query current operational data about GENI things • More measurements • RSpec parser/generator • Monitoring extension • Additional languages? • Integration with Active Measurement projects • Use Circuit data operationally
GMOC Support for GENI Racks • Campus/Racks Team contacts GMOC to announce Outage or upcoming Maintenance • Initially important to include very specific information (Campus, type of outage/maintenance, what’s affected, outage/maintenance times, who’s working to perform maintenance or resolving an outage, ETR, etc…) • Eventually through pro-active monitoring. • Contact GMOC as Racks come up.
GMOC Support for GENI Racks • GMOC tracks racks/campus events and notifies the GENI community: • Initially through the GENI Ops list and Ops Calendars (Web, RSS, iCal) • Long-term goal is to notify individual GENI Experimenters via targeted notifications based on which Aggregate is affected and slice ownership
Contact GMOC • Email: GMOC@GRNOC.IU.EDU • Phone: 317-274-7783 • Website: http://gmoc.grnoc.iu.edu • GENI Ops Calendars (Web, RSS, iCal): http://gmoc.grnoc.iu.edu/gmoc/index/support/gmoc-operations-calendars.html • GENI Bi-Weekly Operations Report: http://gmoc.grnoc.iu.edu/gmoc/index/support/gmoc-reports/gmoc-reports.html
Some discussion questions… • How meaningful are current notifications? • How much does the GENI Community care about a single rack/campus outage? • How important are notifications targeted to individual experimenters/operators? • What else is important to the Community?
Contact & Links • Kevin Bohan: kevin@iu.edu • EldarUrumbaev: eurumbae@indiana.edu • GMOC Database • https://gmoc-db.grnoc.iu.edu/protected • GMOC Objects API Reference • https://gmoc-db.grnoc.iu.edu/public_docs/gmoc-objects-v1.pdf • GMOC Objects Python Implementation • https://gmoc-db.grnoc.iu.edu/public_docs/gmoc.py