Upload
anthony-lamb
View
216
Download
2
Tags:
Embed Size (px)
Citation preview
E-infrastructure shared between Europe and Latin America
GENIUS PORTAL
Valeria ArdizzoneINFN-Catania1° EELA Grid SchoolItacuruçà Island, State of Rio De Janeiro, Brazil
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: how it works
Apache + Tomcat
EnginFrame
GENIUShttps+java/xml+rfb
WEB Browser
gLiteUI
LocalWS
the GridM/W+GSI
3-tier model
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
The GENIUS hourglass model
OS & Net services
Basic Services
High level GRID middleware
ALICE ATLAS CMS LHCbApplications’specific layer
Other apps
GLOBUS
toolkit
EGEE (LCG/gLite) architectur
e
GENIUS web portal
GENIUS
Grid Enabled web eNvironment for site Independent
User job Submission
INFN / NICE Collaboration
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: layout restyling
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: https://egris216.eela.ufrj.br
SSL Encryption !
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: files management
Remote File Browser
On the User Interface
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: files management
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: files management
HTML fragment for better grouping of options
in a service, i.e. <table>
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: Grid Authentication with Myproxy
myproxy-get-delegation
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
Grid authentication with MyProxy
UI
LocalWS
MyProxyServer
GENIUSServer
(UI)
myproxy-init
any grid service
myproxy-get-delegation
output
the Grid
execution
WEB Browser
Now, VOMS Extensions needed to run jobs on the
GRID ( --voms
<voms_vo_name>)
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: security
Transparent VOMS Support
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: preferences
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: preferences
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: preferences
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: preferences
Custom MyProxy
Server List Management
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: preferences
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
How to create a SERVICE on GENIUS PORTAL
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
GENIUS: files management
<ef:service id="edit-file"> <ef:name>View/Edit a File</ef:name> <ef:info>With this service you may edit
a file in your home directory. </ef:info> <ef:option id="filetoedit"
label="Select File to View/Edit" type="rfb" base="${HOME}" target="@genius"/>
<ef:action id="view" label="View"> $EF_ROOT/plugins/genius/bin/geniusgrid.sh view-file <ef:result type="text/html"/> </ef:action> <ef:action id="edit" label="Edit"> $EF_ROOT/plugins/genius/bin/geniusgrid.sh edit-file <ef:result type="text/xml"/> </ef:action> </ef:service>
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
Services Creations StepsThe steps you have to follow in order to make your new service accessible
to the users, are:
• Choose the Service Definition File that will include the new service;
• Write the <ef:service> tag and give it an unique identifier. This identifier must be located in the id attribute of the tag;
• Add a <ef:name> tag which will be used as the readable text for the hyper-link in the page containing the services. Clicking on the hyper-link will execute the service;
• Add an <ef:action> tag;
• As a text node of the <ef:action> tag, add the command that must be executed. for example, ${EF_ROOT}/plugins/ef/bin/ef.test. Note the use of the ${EF_ROOT} syntax: this makes your Genius services independent from the Genius installation directory;
• As a child node of the <ef:action> tag, add the <ef:result> tag. The attribute type of <ef:result> suggests to the Genius Server what kind of output it should expect. (XML, HTML or Simple Text);
• Finally, close the <ef:action> and the <ef:service> tags.
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
<ef:agent> in Detail.. • Sub tags of <ef:agent>
– [optional] <ef:name> – title of the web page– [optional] <ef:info> – welcome message of the opening
page– [optional] <ef:location> – location of Remote Agent(s)
[required] host – hostname/IP address of EF Agent host [required] port – TCP port used by EF Agent
– [optional] <ef:include> – external XML libraries of functions [required] xml – path to an SDF which contains XML libraries
– [optional] <ef:spooler> – definition of default data [required] server – server-side absolute path of spoolers [optional] agent – agent-side absolute path of spoolers [optional] ttl – defines how long the spoolers will be
accessibleformat: [DD]d[HH]h[MM]m[SS]s, 0(remove immediately), -
1(not create)
– [required] <ef:folder id="root"> – first folder of the service tree.
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
Skeleton of any your services<?xml version="1.0" encoding="iso-8859-1"?><?xml-stylesheet href="layout.xsl" type="text/xsl"?>
<ef:agent id="FILENAME" authority="os"
xmlns:ef="http://www.enginframe.com/2000/EnginFrame">
<ef:location host="127.0.0.1" port="9999"/> <ef:include xml="${EF_LIB}/xml/com.enginframe.system.xml"/> <ef:name>GENIUS Grid Portal</ef:name> <ef:info><H1>Welcome to the demo
services...</H1></ef:info>
<ef:spooler server="${EF_SPOOLER_DIR}" ttl="1d"/>
<ef:folder id="root"> <ef:name>DEMO Services</ef:name>
<!-- Services go here --></ef:folder>
</ef:agent>
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
My Service file: vardizzo.grid.xml<?xml version="1.0"?><?xml-stylesheet href="layout.gilda.xsl" type="text/xsl"?> <ef:agent id="vardizzo.grid" authority="os"
xmlns:ef="http://www.enginframe.com/2000/EnginFrame"> <ef:location host="egris216.eela.ufrj.br" port="9999"/>
<ef:name>Services</ef:name><ef:info><center> <H1>Welcome to Valeria Home</H1> </center> </ef:info>
<ef:spooler server="${EF_SPOOLER}" ttl="1d"/> <ef:include xml="${EF_LIB}/xml/com.enginframe.system.xml"/> <ef:include xml="../com.enginframe.genius.xml"/>
<ef:folder id="root"> <ef:name>Valeria</ef:name>
<ef:folder id="root-folder"> <ef:name>Services</ef:name>
<ef:service id="1_Service" authority="genius"><ef:name>1. Service</ef:name>
<ef:info>Hello Valeria.<br/> </ef:info>
</ef:service></ef:agent>
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
My script: vardizzo.sh
#!/bin/sh### valeria Services Functionshome() { echo "<ef:redirect>\"vardizzo.grid.xml\"</ef:redirect>" }
### Main Procedure COMMAND="$1"shift
case "$COMMAND" in
home) home $* ;;#################################################################*
) error "Unrecognized command $COMMAND" ;;
esac
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America2 Service
<ef:service id="2_Service" authority="genius"> <ef:name>2. Service</ef:name> <ef:option id="file" label="File to compress" type="rfb" /> <ef:action id="submit" label="ZIP"> /home/vardizzo/EGRIS_1/bin/vardizzo.sh zip <ef:result type="text/plain" /> </ef:action> </ef:service >
#!/bin/sh…zip(){ gzip $file echo "Your file was succefully zipped!"}...zip) zip $* ;;
In vardizzo.grid.xml:
In vardizzo.sh:
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
3 Service
<ef:option id="file" label="File to compress" type="rfb" multi="true" target="file" />
<ef:option id="dir" label="Chose directory" type="rfb" target="directory" />
<ef:option id="filename" label="filename" type="text" /><ef:option id="level" label="Compression level" type="list"> <ef:option id="9">maximum</ef:option> <ef:option id="4">medium</ef:option> <ef:option id="1">minimum</ef:option></ef:option><ef:action id="submit" label="NEXT"> $EF_ROOT/plugins/genius/bin/demo.service.sh <ef:result type="text/plain" />
In vardizzo.grid.xml:
#!/bin/shzip2(){ gzip -$level -c $file > $dir$filename.gz echo "Your file was succefully zipped again!“ }...zip2) zip2 $* ;;
In vardizzo.sh:
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
Practical Session
• GENIUS SERVER: https://egris216.eela.ufrj.br
The following users’ accounts have been made:(Users,Passwd_Account, Passwd_certificate): (climate, GridCLIMATE, ITACURUCA)(distsim, GridDISTSIM, ITACURUCA)(emboss,GridEMBOSS, ITACURUCA)(lemdist, GridLEMDIST, ITACURUCA)(lms, GridLMS, ITACURUCA)(satyrus,GridSATYRUS, ITACURUCA)(seghidro, GridSEGHIDRO, ITACURUCA)(vod, GridVOD, ITACURUCA)
1° EELA Grid School, Itacuruçà Island, State of Rio De Janeiro (Brazil), 04-15.12.2006
E-infrastructure shared between Europe and Latin America
• Modify properly the file <appname>.sh that you find on your account, under this directory:
$ ls EGRIS_1/bin/
vardizzo_ok.sh vardizzo.sh
• And the SDF (service Description File), here:
$ vi /opt/genius/enginframe/plugins/genius/WEBAPP/gilda/vardizzo.grid.xml