= OnTimeMeasure Project Experiences with using ProtoGENI in Spiral 2 = '''Prasad Calyam, Kunpeng Zhu'''[[BR]] Original: '''August 13, 2010'''[[BR]] We have successfully demonstrated the integration of our OnTimeMeasure measurement service with the ProtoGENI control framework at GEC7 [http://groups.geni.net/geni/attachment/wiki/OnTimeMeasure/GEC7-OnTimeMeasureGENI-Poster.pdf (Poster)] and GEC8 [http://groups.geni.net/geni/attachment/wiki/OnTimeMeasure/GEC8-OnTimeMeasureGENI-Poster.pdf (Poster)]. Some of our experiences with using ProtoGENI in GENI Spiral2 are described in the remainder of this document. == 1. User Support == User Support from ProtoGENI team has been very good. The team was very responsive and helpful. They have helped us with conceptual, technical and admin issues at various times. To reach the ProtoGENI team, we have used the geni-users@emulab.net mailing list. == 2. Deployment Challenges == * No long-standing home directories, hence we had to internally backup any successfully deployed ProtoGENI code. * We could not replicate the ProtoGENI deployment environment internally for software development purposes. This is because the ProtoGENI node OS image has dependencies to ProtoGENI hardware drivers. * We had to perform some extra steps and had to deal with some unknowns (e.g., reasons for node crashes) to make our development code work on the ProtoGENI deployment nodes. == 3. Experiences on 'getting to' and 'using' proper ProtoGENI documentation == * ProtoGENI Tutorial for slice creation (https://users.emulab.net/trac/protogeni/wiki/TutorialNew) has been most helpful. * Intially, we tried setting up a slice based on the GEC6 RSpec and faced many problems. We realized that we do not have to mandatorily specify netfpga(s) in slice creation requests. We found the RSpec examples at http://www.protogeni.net/trac/protogeni/wiki/RSpecExamples and http://www.protogeni.net/trac/protogeni/wiki/RSpecExamples2 to be very useful. * There are several ways to create slices in ProtoGENI. The next section of this document details the ways we have successfully/unsuccessfully experimented. * For accessing repositories to get software module updates, we had to rely on Internet2 hosted repositories because other repository traffic is blocked. * Note that ProtoGENI API and scripts are evolving and so script names can change over time. * ‘Control’ network is different from ‘Experiment’ network, and these 2 networks can be accessed by using suitable IP addressing. * When our nodes crashed, we were able to reboot our nodes using some of the Emulab documentation at https://users.emulab.net/trac/emulab/wiki/FAQ == 4. Experiences in Creating ProtoGENI Slices == === 4.1 ProtoGENI Test Scripts === By following the [http://www.protogeni.net/trac/protogeni/wiki/TestScripts TestScripts wiki], we successfully created and managed slices. The advantage of the scripts is that it can reserve any node with proper RSpec input. But, creating a working RSpec manually needs some work. RSpec examples at http://www.protogeni.net/trac/protogeni/wiki/RSpecExamples and http://www.protogeni.net/trac/protogeni/wiki/RSpecExamples2 can be used as a starting point. Typical steps we used to create a slice are given below as shown by the order of scripts execution: * registerslice.py –n * createssliver.py –n * sliverstatus –n * renewsliver –n