GridPortlets:Hands-on Installation and Development

21
NBCR Summer Institute 2006 GridPortlets:Hands-on Installation and Development Jason Novotny [email protected]

description

GridPortlets:Hands-on Installation and Development. Jason Novotny [email protected]. Installing GridPortlets. cd projects/gridportlets ant install $CATALINA_HOME/bin/startup.sh. GridFunctionality is provided by our package called 'GridPortlets' - PowerPoint PPT Presentation

Transcript of GridPortlets:Hands-on Installation and Development

Page 1: GridPortlets:Hands-on Installation and Development

NBCR Summer Institute 2006

GridPortlets:Hands-on Installation and Development

Jason Novotny

[email protected]

Page 2: GridPortlets:Hands-on Installation and Development

Installing GridPortlets

cd projects/gridportletsant install$CATALINA_HOME/bin/startup.sh

GridFunctionality is provided by our package called 'GridPortlets'

GridPortlets is build on top of Java CoG

Need to have Globus on the resources working

Certificates for portal and the user

INSTALL.txt and TIPS.txt in the gridportlets source directory providing addtional information

Will deploy GridPortlets to GridSphere and generate documentation

Page 3: GridPortlets:Hands-on Installation and Development

GridPortlets BasicsUsing

Page 4: GridPortlets:Hands-on Installation and Development

Subscribing to GridPortlets

Need to subscribe to the 'GridPortlets' Group

Grid Tab will appear and provide the Portlets

Page 5: GridPortlets:Hands-on Installation and Development

Define Credentials

Users can retrieve credentials from a MyProxy credential repository

Can enable their credentials for "single sign on" to computing resources at login time

Page 6: GridPortlets:Hands-on Installation and Development

New Credential

Page 7: GridPortlets:Hands-on Installation and Development

Resources

Resources available to users from the portal can be edited online or via XML File

Page 8: GridPortlets:Hands-on Installation and Development

Resources II

Information of each resource can be updated via MDS and/or iGrid

Page 9: GridPortlets:Hands-on Installation and Development

Starting a Job

A Wizard guides the user to the JobSubmission processSupports different types of jobs, either generic or user specific jobtypes which can be installed by an AdministratorJobSubmissionsServices supported in the moment are Globus and Gridlab GRMS but it is extendable to others

Page 10: GridPortlets:Hands-on Installation and Development

Defining a Job

Define a simple 'ls' on a resource

Page 11: GridPortlets:Hands-on Installation and Development

Defining a Job II

Select the machine to run on

Choose number of processors and jobqueues

Page 12: GridPortlets:Hands-on Installation and Development

Submitting the Job

Review Job Specification

Page 13: GridPortlets:Hands-on Installation and Development

Job completed

Job did run and is completed

Showing information about the job and Job output

Page 14: GridPortlets:Hands-on Installation and Development

File Browser Portlet

Users can browse files on remote computing resources in a manner similar to how they might browse files on their desktop. We have made it relatively simple to create new directories, transfer and delete files all with simple HTML interfaces

Page 15: GridPortlets:Hands-on Installation and Development

GridPortlets BasicsProgramming

Page 16: GridPortlets:Hands-on Installation and Development

Typical Tasks

Need credentialLocate executableAdd parameters and parameterfilesChoose machine to run onTransfer executable & parameterfiles to the selected resourceExecute jobGet Status on jobTransfer StdOut/StdErr and other outputfilesEverything was seems easy on local machines maybe not on the Grid (e.g. mkdir -p) !All codesamples are contained within GridPortlets

Page 17: GridPortlets:Hands-on Installation and Development

GridPortlet Services

Everything is wrapped up in servicesCredentialManagerService

JobSubmissionService

UserManagementService

To use these any portlet or other service has to instantiate the needed services

public void init(PortletConfig config) throws PortletException {super.init(config);try {

ums = (UserManagerService)createPortletService(UserManagerService.class); cms = (CredentialManagerService)createPortletService(CredentialManagerService.class); crs = (CredentialRetrievalService)createPortletService(CredentialRetrievalService.class); } catch (PortletServiceException e) { log.error("Unable to initalize Credential/UsermanagerService."+e); } }

Page 18: GridPortlets:Hands-on Installation and Development

Credentials

CredentialManagment has function tocreate

activate

deactivate

delete

...

To check if a user has a credential public boolean userHasCredentials(String username) { User user = ums.getUserByUserName(username); boolean answer = true; if (cms.getActiveCredentials(user).size() == 0) { answer = false; } return answer; }

Page 19: GridPortlets:Hands-on Installation and Development

Listing Files

To get a filelisting use the FileBrowserService

1 FileBrowser fileBrowser = fileBrowserService.createFileBrowser(user, fileHostName);

2 FileListing fileListing = fileBrowser.list(filePath);3 fileListing.waitFor();4 List fileLocations = fileListing.getFileLocations();

Page 20: GridPortlets:Hands-on Installation and Development

Directory operations

Get a user's home directory

Create a directory

1 FileBrowser fileBrowser = fileBrowserService.createFileBrowser(user,

fileHostName);2 String homeDir = fileBrowser.getHomeDirectory();

1 FileBrowser fileBrowser = fileBrowserService.createFileBrowser(user,

fileHostName);2 FileMakeDir makeDir = fileBrowser.makeDirectory(dstPath);3 makeDir.waitFor();

Page 21: GridPortlets:Hands-on Installation and Development

Copy files

FileBrowserServices provides needed methods

1 FileBrowser srcBrowser = fileBrowserService.createFileBrowser(user,

srcHostName);2 FileLocation srcLocation = srcBrowser.createFileLocation(srcPath);3 FileBrowser dstBrowser = fileBrowserService.createFileBrowser(user,

dstHostName);4 FileBrowser dstLocation = fileBrowser.createFileLocation(dstPath);5 FileCopy copy = srcFileBrowser.copy(srcLocation, dstLocation);7 copy.waitFor();