nbcr summer institute 2006 gridportlets:hands-on installation and development jason novotny
DESCRIPTION
GridPortlets Basics UsingTRANSCRIPT
NBCR Summer Institute 2006
GridPortlets:Hands-on Installation and Development
Jason [email protected]
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 CoGNeed to have Globus on the resources working Certificates for portal and the userINSTALL.txt and TIPS.txt in the gridportlets source directory providing addtional information
Will deploy GridPortlets to GridSphere and generate documentation
GridPortlets BasicsUsing
Subscribing to GridPortlets
Need to subscribe to the 'GridPortlets' GroupGrid Tab will appear and provide the Portlets
Define Credentials
Users can retrieve credentials from a MyProxy credential repositoryCan enable their credentials for "single sign on" to computing resources at login time
New Credential
Resources
Resources available to users from the portal can be edited online or via XML File
Resources II
Information of each resource can be updated via MDS and/or iGrid
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
Defining a Job
Define a simple 'ls' on a resource
Defining a Job II
Select the machine to run onChoose number of processors and jobqueues
Submitting the Job
Review Job Specification
Job completed
Job did run and is completedShowing information about the job and Job output
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
GridPortlets BasicsProgramming
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
GridPortlet Services
Everything is wrapped up in servicesCredentialManagerServiceJobSubmissionServiceUserManagementService
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); } }
Credentials
CredentialManagment has function tocreateactivatedeactivatedelete...
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; }
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();
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();
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();