wiki:GIMIv2tasks

Version 36 (modified by hmussman@bbn.com, 11 years ago) (diff)

--

GIMI v2 Plan, Tasks and Status

1) Plan

1.1) Goals

a) GIMI (also GEMINI) to work with both ExoGENI and InstaGENI
b) Working toward consistent user experience, both racks, both sets of I&M tools
c) Implement basic workflow per http://groups.geni.net/geni/wiki/GeniExperiments#a5StepsinBasicGENIExperimentTutorialTestWorkflowHarry and http://groups.geni.net/geni/wiki/TestTutorialExperimentWorkflow

Issue: what range of workflows must be supported? small (classroom exercise); medium (research experiment); large (long-running service, with opt-in)
Answer: eventually all of these, but with an emphasis on small and medium at this time; should have a way to extend medium to large; Sol 4 calls for shakedown experiments that are large

d) Easy to setup basic set of measurements (towards unified experiment environment)

Issue: what are basic set of measurements?
Answer: at least "passive host measurements", and "mesh of pings between nodes"

e) Easy to mix-and-match tools, as go from step to step, with automatic transfer of info between steps/tools
f) Easy to configure and then visualize (graph) measurements, starting from a graphical (or tabular) view of the topology of resources

Issue: But, starting from a starting from a graphical (or tabular) view of the topology of resources to configure desired measurements is not always best. For example, for a classroom exercise, may want a pre-defined experiment, with a pre-define measurement configuration. For example, for a large experiment with 100s of nodes, it is not practical or useful to drive measurements from a graphical view of the topology; want to do everything with a script.
Answer: Should be easy to configure and then visualize (graph) measurements, but the mechanism will likely differ depending on the type of experiment: small (predefined), medium, large. Nonetheless, should provide a method to serve all three that is not cumbersome for the experimenter. For a large experiment, will need to be able to use a script.

h) Ability to simultaneously run multiple measurement sessions (e.g., passive host, mesh of pings, intermittent iperf, and experiment specific), each with multiple measurements and multiple graphs, during an experiment
i) Stay consistent with Spiral 5 GIMI SOW

1.2) Slice with GIMI I&M Tools Configuration

See figures

  • Fig 4a) GIMI I&M tools Config Spiral 5
  • Fig 5) GIMI Portal Config
  • Fig 7) OML Result Isolation
  • Fig 8) IRODS Config
  • Fig 1b) A&A: to iRODS with GSI
  • Fig 1c) A&A: ti iRODS with ticket
  • Gif 4b) WiMAX site config Spiral 5

1.3) Detailed Workflow

See sample detailed workflow

1.4) GIMI Portal Configuration

1.5) GIMI Portal Implementation

1.6) Acceptance tasks

2) Team

Mike Zink (UMass Amherst)

Cong Wang (UMass Amherst)

Divya Bhat (UMass Amherst)

Max Ott (NICTA)

Ilia Baldine (RENCI)

Shu Huang (RENCI)

Fraida Fund (NYU Poly)

Deniz Gurkan (UH)

Harry Mussman (BBN)

Jeanne Ohren (BBN)

Keleigh O'Neil (BBN)

3) Planning and Status Meetings/Conference Calls

040113; 4pm EDT

040413; 4:30pm EDT

041513; 4pm EDT

042213; 4pm EDT; discuss iticket for iRODS

042913; 4pm EDT; discuss planning meeting 5/2- 5/3 for GIMI Portal; discuss interop status; discuss GSAS status

050213 - 050313; define GIMI Portal configuration

050913; review workflow, and plan to define GIMI Portal

051313; 2-4pm EDT; demo of interop, review workflow

052013 - 052113; review goals; review and update workflow; define entities and interfaces; define init script; define GIMI portal

052913; 4pm EDT; review documentation of workflow and designs; agree on tasks

061013; 2-4pm EDT; demo; end of sprint 1 (S1)

062413; 4pm EDT; demo; end of sprint 2 (S2)

070813; 2-4pm EDT; demo; end of sprint 3 (S2)

072113 - 072313 is GEC17; v2 software released after testing; integrated tutorials presented

4) GIMI v2 Tasks

  • Started 032013
  • Revised 032913
  • Revised 040213 after 040113 call, and after GEMINI call on 040213
  • Revised 040513 after discussion with Mike on 040413
  • Revised after 041513 and 042213 calls, and discussions with Mike.
  • Revised after 042913 call
  • Revised after 052113 meeting

1) By 4/15: /cleanup/checkin/test/document current code

What needs work?

2) Agree on goals:

a) GIMI (also GEMINI) to work with both ExoGENI and InstaGENI
b) Consistent user experience, both racks, both sets of I&M tools
c) Implement basic workflow per http://groups.geni.net/geni/wiki/GeniExperiments#a5StepsinBasicGENIExperimentTutorialTestWorkflowHarry and http://groups.geni.net/geni/wiki/TestTutorialExperimentWorkflow

Issue: what range of workflows must be supported? small (classroom exercise); medium (research experiment); large (long-running service, with opt-in)
Answer: eventually all of these, but with an emphasis on small and medium at this time; should have a way to extend medium to large; Sol 4 calls for shakedown experiments that are large

d) Easy to setup basic set of measurements (towards unified experiment environment)

Issue: what are basic set of measurements?
Answer: at least "passive host measurements", and "mesh of pings between nodes"

e) Easy to mix-and-match tools, as go from step to step, with automatic transfer of info between steps/tools
f) Easy to configure and then visualize (graph) measurements, starting from a graphical (or tabular) view of the topology of resources

Issue: But, starting from a starting from a graphical (or tabular) view of the topology of resources to configure desired measurements is not always best. For example, for a classroom exercise, may want a pre-defined experiment, with a pre-define measurement configuration. For example, for a large experiment with 100s of nodes, it is not practical or useful to drive measurements from a graphical view of the topology; want to do everything with a script.
Answer: Should be easy to configure and then visualize (graph) measurements, but the mechanism will likely differ depending on the type of experiment: small (predefined), medium, large. Nonetheless, should provide a method to serve all three that is not cumbersome for the experimenter. For a large experiment, will need to be able to use a script.

h) Ability to simultaneously run multiple measurement sessions (e.g., passive host, mesh of pings, intermittent iperf, and experiment specific), each with multiple measurements and multiple graphs, during an experiment
i) Stay consistent with Spiral 5 GIMI SOW

3) Build workflow for GIMI to work on both InstaGENI and ExoGENI

a) Start with browser, GENI Desktop, FLACK and OMNI, for InstaGENI
b) Start with User Workspace, Flukes and OMNI for ExoGENI
c) When can InstaGENI be used with ExoGENI? also GENI Desktop?
d) Which browsers are supported?
e) Which credentials are supported?
f) Need detailed plan from team: Jeanne (Lead), Luisa, Ezra, Hussam, Ilia (or rep) and Cong
g) Current InstaGENI configuration per attached figure; changes?
h) Current ExoGENI configuration?
i) Plan to complete:

By 4/15: Jeanne will have met with team, and provide report of DRAFT plan
4/16: Sub-team has met, made plan; see http://groups.geni.net/geni/wiki/IMInteroperability

4) Define configuration of v2 (multi-session) GIMI Portal service.

a) On 4/2: Reconfirm that will continue as a multi-user persistent service, with account for each user, to retain advantages of a persistent sink for measurement data. However, encourage users to move completed measurements to iRODS, so that we do not end up with long-term storage of measurement data within GIMI Portal Service.
b) Continue to include OML Server and Lab wiki (for orchestration, results, and documentation)
c) Separate OML results, by experiment and user, per the defined method
d) For each user, introduce multiple "windows" to support multiple measurement sessions (e.g., passive host, mesh of pings, intermittent iperf, and experiment specific)
e) For each user, be able to include session with Lab wiki to use OMF script to orchestrate experiment services (independent of any measurements)
f) Store results in iRODS, by user, following defined structure
g) Realize workable authentication/authorization to iRODS; start with current proxycert arrangement

On 4/15: Fraida suggests iticket, used in iarchive command; Shu agrees to review and test iticket functions
On 4/22: Shu reviews iticket functions; see link. Looks like a good mechanism for a multi-session GIMI Portal

h) Do we want to support link from GENI Desktop? or somehow include Lab wiki as a plug-in in the GENI Desktop? These could be a step towards a "consistent user interface".

On 4/19: Jim Griffioen says not hard to add link from browser in GENI Desktop (new tab, or a floating window) to GIMI Portal

i) Plan to define configuration:

On 4/4: We need a workable solution, not the “best” solution. We can’t wait for future authentication/authorization mechanisms.
On 4/4: We need to have the bulk of the work done in 6-8 weeks (no later than 6/11), then cleanup towards GEC17.
On 4/4: A small team will be organized to work on the problem, define multiple solutions, and pick the best we can do in the time allotted: Jeanne, Cong, Mike (lead), Shu, (also web services expert from RENCI?), Max.
By 4/15, Mike will have met with team, and will provide a report, including: evaluation of current Lab wiki code; available options for authentication of user to iRODS (starting with current proxycert arrangement); overview of current structure, and early view of possible options
On 4/19, Mike agrees to have small group (Mike, Cong, Divya, Jeanne and Harry) meet in Cambridge 5/2 - 5/3 to define multi-session GIMI Portal, including:

1) Multiple sessions, but no multiple accounts
2) How info is held in portal for each user, and configured there for the user (DB?)
3) How user authenticates with the portal (like GENI CH Portal to GENI Desktop)
4) How the portal is authorized to write to the user's account in iRODS (based on iticket)
5) All captured in descriptive text, drawings, and a detailed workflow

5) Design GIMI Portal service

a) Who?

On 4/19, Mike agrees to have small group (Mike, Cong, Divya, Max, Jeanne and Harry) meet in Cambridge 5/20 - 5/21 (also 5/22?) Suggest: have Tom/Aaron present to represent GENI CH Portal

b) Follows: definition defined 5/2 - 5/3
c) Includes:

Thin server (Apache server?)
OML Server
User DB
LabWiki

6) Add features to iRODS

a) Add rules to process incoming descriptors in XML files, ans store info in iCAT
b) Add rules to move object to public archive directory, and manage any changes
c) Integrate archive service with handle service
d) Plan:

By 4/15, Shu needs to summarize planned extensions, per his earlier document.
By 4/29, All GENI Storage and Archive Service plans summarized on wiki page at http://groups.geni.net/geni/wiki/GSAS
By 4/29, All reviews of descriptor and iRODS work for GENI Storage and Archive Service completed, and descritor document completed.
On 4/29, Giridhar agrees to provide update to schema.
On 4/29, Shu agrees to provide latest task list, and schedule.

7) Include easy way to configure measurements, for all types of experiments (small, medium and large)

Issue: Currently, involves: resource request (with ORCA or AM API); post-boot script; OMF script. But these are not linked. So, all is easy for a pre-defined (small) experiment, but script writing is reuired for a medium experiment, and info must be manually transferred from resource request/post boot script to the OMF script.

a) Consider best way to "add GIMI extensions" (modify request to add software image or packages, and add any necessary nodes)
b) Consider best way to "instrumentize with GIMI" (use script to setup proxy certs, configure services, connect via XMPP, and then start services)
c) Consider best way to drive OMF script (on a medium experiment) from the slice information, e.g., number of nodes, names of nodes, topology of nodes.

Option 1: consider use of GENI Desktop, with plug-ins to "add GIMI extensions" and "instrumentize with GIMI"; this would be a step towards a "consistent user interface".
Option 2: consider some way to automatically write OMF script based on parameters forwarded from resource assignment. Maybe, manifest info could be transferred via iRODS. If this could be done for a medium experiment, perhaps an extension to a large experiment would be identified.
Option 3: particularly for a large experiment, perhaps could automatically discover the nodes that are up, and the measurements that have been configured in each node. This could verify an OMF script.
Option 4: although we do not need to drive measurement setup from graphical view of topology, we could discover the measurements that have been setup, and present a graphical view of the measurements, along with a graphical view of the resource topology. This could be used to verify the OMF script mathces the slioce resources, etc.

d) Plan:

On 040413, put off discussion of this topic, until other topics are understood; may have BBN summer interns work on some of these topics.

8) Key task list:

ID Description Assignee Due Status Notes
1 Define, prototype, and integrate push from GENI Portal to iRODs to create user account Tom/Aaron,Shu
2 Define, prototype, and integrate link from GENI Portal to iRODS with login prompt Tom/Aaron, Shu
3 Define, prototype, and integrate link from GENI Portal to GIMI Portal, SSO Tom/Aaron, NICTA
4 Define and prototype interface to config GIMI Portal server Cong, NICTA, Jeanne
5 Add measure_extensions to rspec Mike, Jeanne, Ilia
6 Test Flack with ExoGENI Divya, Jeanne, Luisa
7 Design and write scripts for setup, release, and archive Cong, Jeanne
8 Define GIMI Portal config and workflow GIMI arch team 5/15
9 Design GIMI Portal GIMI design team 5/21
10 Define directory and file structure for all info in iRODS GIMI arch team

4.1) v2 GIMI Design Issues and Tasks

ID Description Who Due Status Demos Notes
I1.1 Could init script be run from within GENI CH, like OMNI is now run?
I1.2 Experiment is named and started by initialize script, in EME; should there be an “Experiment Authority” to track experiment_ids, and if so where?
I1.3 Is there a way to associate multiple Users with an experiment, to share control and data? should this be tied to users associated with project in CH?

4.2) v2 GIMI Interoperability Issues and Tasks

ID Description Who Due Status Demos Notes
T2.1 Add measure_extensions to request_rspec, and use to select I&M software Mike, Jeanne, Ilia how is selection done?
T2.2 Integrate Flack and GIMI with InstaGENI Divya, Jeanne, Luisa GEC17 S1
T2.3 Integrate Flack and GIMI with ExoGENI Divya, Jeanne, Luisa GEC17 S1

4.3) v2 GIMI Init Script in Exper Mgmt Envir (EME) Issues and Tasks

ID Description Who Due Status Demos Notes
T3.1 Download [2] user_creds (cert + priv key)from GENI CH Portal (which interface?), store locally in EME, verify can act as User Cong, Jeanne, Keleigh GEC17 S1
T3.2 Use script to install [2] user_cred's, so can use iclient to access iRODS Cong, Jeanne, Keleigh GEC17 S1
T3.3 Use iinit with username/password to access iRODS Cong, Jeanne, Keleigh GEC17 S1
T3.4 Build v2 Init Script for User, to run in EME Cong, Jeanne, Keleigh GEC17 S1
T3.5 Make init script interactive, to allow selection at run time how? Cong, Jeanne, Keleigh GEC17 S2
T3.6 Provide options with init script for a new experiment, or an update. Cong, Jeanne, Keleigh GEC17 S2 Could this be automatic?
T3.7 Enter exp_name, derive [10] exper_id = user_name-exper_name-unix_timestamp, at start of experiment Cong, Jeanne, Keleigh GEC17 S1
T3.8 Get [9] project_id (from CH? how?) Cong, Jeanne, Keleigh GEC17 S2
T3.9 Acting as User, get list of slice_id's from CH SA, select [3] slice_id for this experiment Cong, Jeanne, Keleigh GEC17 S2
T3.10 Acting as User, using OMNI, get [7] sliver_manifest_rspecs from AMs Cong, Jeanne, Keleigh GEC17 S2
T3.11 Parse [7] to get [4] slice_node_names Cong, Jeanne, Keleigh GEC17 S2
T3.12 Register slice, nodes to XMPP server (if needed) Cong, Jeanne, Keleigh GEC17 S1
T3.13 Select default GIMI Portal, or override | Cong, Jeanne, Keleigh GEC17 S2
T3.14 Acting as User, using iclient, setup GSAS (iRODS) structure, derive defaults for [12] user_irods_home_directory and [13] user_irods_target_directory, or override; derive and load [11] proj_exper_step_descriptors; load template OMF scripts (where are these?); get iticket for experiment, assigned to selected GIMI Portal Agent Cong, Jeanne, Keleigh, Shu GEC17 S2
T3.15 Acting as User, using iclient, push [7] sliver_manifest_rspecs and [8] descriptors to iRODS Cong, Jeanne, Keleigh, Shu GEC17 S3
T3.16 Acting as User, using RESTful client, push configs to GIMI Portal Cong, Jeanne, Keleigh, Max, Jack GEC17 S1, S2, S3 Start with default values, and then replace with gathered values as avaialble
Merge init script into CH, and run from button(s) on CH Portal Cong, Tom/Aaron
Build v2 release script Cong, Jeanne, Keleigh
Build v2 bag and archive script Cong, Jeanne, Keleigh, Shu

4.4) v2 GIMI Portal: Experiment Registry

ID Description Who Due Status Demos Notes
T4.1 Include Experiment Registry in GIMI Portal, with RESTful config interface, and underlying tuple-store (based on "OMF_SFA AM") Max, Jack GEC17 S1
T4.2 Define RESTful config interface, and integrate with interface in EME used by init script Max, Jack, Cong GEC17 S1
T4.3 On first config message from Init Script in EME, use presented GENI cred's to register user in Exper Registry Max, Jack GEC17 S1
T4.4 On first and subsequent config messages from init script in EME, put all exper info into Exper Registry Max, Jack GEC17 S1, S2

4.5) v2 GIMI Portal: OML Server

ID Description Who Due Status Demos Notes
T5.1 Include OML Server in GIMI Portal, with inbound interface, and underlying postgreSQL DB Olivier GEC17 S1
T5.2 Accept OML measurements into OML server, identified by exper_id and oml_id, and put into postgreSQL DB Olivier GEC17 S1

4.6) v2 GIMI Portal: LabWiki

ID Description Who Due Status Demos Notes
T6.1 Include LabWiki in GIMI Portal, with EC, with GUI (web) User interface based on OMF web service, and underlying state machines Max, Jack GEC17 S1, S2, S3
T6.2 Provide navigation from GENI CH Portal to GUI User interface, identifying User, login, and then verify against Exper Registry Max, Jack, Tom/Aaron GEC17 S3
T6.3 On login to GUI User Interface, present LabWiki page, and allow User to select from available experiments, as listed in Exper Registry Max, Jack GEC17 S1
T6.4 On LabWiki page, allow user to select available or define new measurement_task, add descriptor, and then load template/stored script from iRODS Max, Jack GEC17 S2, S3
T6.5 On LabWiki page, allow User to add parameters to scripts Max, Jack GEC17 S2, S3 How can we link from [4] node names, or other info in silver_manifest ?
T6.6 On LabWiki page, execute script to configure OML Clients, pushing IP address of this GIMI Portal OML server, exper-id and oml_id Max, Jack GEC17 S1
T6.7 On LabWiki page, execute script to pull data from postgreSQL DB, and provide graphs Max, Jack, Olivier GEC17 S1, S2, S3
T6.8 On LabWiki page, allow User to pull meas data from postgreSQL DB for this experiment and this meas_task, and push to iRODS as table, adding a descriptor; use iRODS target and ticket from Exper Registry Max, Jack, Shu GEC17 S2, S3
T6.9 On LabWiki page, allow User to push to iRODS scripts and other info for this experiment, meas_task Max, Jack, Shu GEC17 S3
T6.10 On LabWiki page, allow user to select available or define new measurement task for new page, without stopping current tasks Max GEC17 Sprint x
On LabWiki page, create new scripts Max, Jack
On LabWiki page, drag and drop scripts Max, Jack
Navigation between LabWiki Pages Max, Jack
On LabWiki page, allow user to retrieve all info on an experiment from iRODS, and again view results Max, Jack

Attachments (6)