service discovery on ui and wms
DESCRIPTION
Service Discovery on UI and WMS. Giuseppe Avellino Abingdon, 9 November 2006. Contents. Why Service Discovery (SD) Using Service Discovery Service Discovery on UI Service Discovery on WMS WMProxy Client SD Configuration WMProxy Server SD Configuration - PowerPoint PPT PresentationTRANSCRIPT
EGEE-II INFSO-RI-031688
Enabling Grids for E-sciencE
www.eu-egee.org
EGEE and gLite are registered trademarks
Service Discovery on UI and WMSGiuseppe Avellino <[email protected]>
Abingdon, 9 November 2006
Abingdon, 9 November 2006 2
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Contents
• Why Service Discovery (SD)• Using Service Discovery• Service Discovery on UI• Service Discovery on WMS• WMProxy Client SD Configuration • WMProxy Server SD Configuration• Conclusions
Abingdon, 9 November 2006 3
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Why Service Discovery
• Service Discovery is used for:
– UI (CLI Python): retrieval of the NS and LB services addresses to contact for submitting user requests
– UI (WMProxy client): retrieval of the WMProxy endpoints to contact for submitting user requests
– WMS (WMProxy): retrieval of the LB server addresses that can be used for storing job-related events (i.e. for building the job identifier)
• Service Discovery behavior is configurable in both UI and WMS
Abingdon, 9 November 2006 4
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Using Service Discovery
• UI and WMS use C++ Service Discovery API
• Service Discovery available data types are:– Service– ServiceDetails– ServiceData
• UI and WMS use the Service Discovery data type Service:– They only need to get the addresses used to contact the services – No check is done to see which VOs are supported by the server– No other information is required/used
• The query is made with the method listServices
• Used parameters are:– Service type: key value read from configuration file– Site name: NULL– List of VOs: NULL
Abingdon, 9 November 2006 5
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Using Service Discovery
• Tests were made with the RGMA and BDII plugins. We were able to get information only using the BDII plugin
• No tests have already been done with FILE
Environment variables were set to:
– GLITE_SD_PLUGIN = “bdii, rgma”– LCG_GFAL_INFOSYS = “gridit-bdii-01.cnaf.infn.it:2170”
– GLITE_SD_VO not set
• All the needed environment variables were exported to the WMProxy through the Apache directive PassEnv
Abingdon, 9 November 2006 6
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Service Discovery on UI
• Service Discovery is used only as a fallback solution
• This is: – to avoid Service Discovery overload, calling it each time a
request is performed– no specific information about Service Discovery stability and
avalaibility
• Any time a command is performed by user:– UI tries to contact the configuration file LB (or NS) services.– If all of them are not responding, a call to Service Discovery is
performed– UI tries to contact the found Service Discovery LB (or NS)
services.
Abingdon, 9 November 2006 7
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Service Discovery on WMS
• Service Discovery is used as an extra source of services addresses
• The call to the Service Discovery is performed only in the case last call was made a long time ago (information validity time)
• Any time a call for an operation reaches WMProxy:– WMProxy verifies the validity of the Service Discovery
information, if old, it performs a call to get updates– The LB service to use is randomically selected among a list
(weigths are used) made of: LB services provided by user via configuration file LB services found with the Service Discovery
Abingdon, 9 November 2006 8
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
WMProxy Client SD Configuration
• WMProxy client defines three attributes inside the gLite configuration file for Service Discovery configuration:– EnableServiceDiscovery: boolean attribute for Service Discovery
enabling– LBServiceDiscoveryType: type key to discover LB services.
Template configuration file value is “org.glite.lb.server”– WMProxyServiceDiscoveryType: type key to discover WMProxy
servers. Template configuration file value is “org.glite.wms.WMProxy”e.g. WorkloadManagerProxy = [
EnableServiceDiscovery = true;
LBServiceDiscoveryType = "org.glite.lb.server";
WMProxyServiceDiscoveryType =
"org.glite.wms.WMProxy";]
Abingdon, 9 November 2006 9
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
WMProxy Server SD Configuration
• WMProxy server defines three attributes inside the gLite configuration file for Service Discovery configuration:– EnableServiceDiscovery: boolean attribute for Service Discovery
enabling– LBServiceDiscoveryType: type key to discover LB Servers.
Template configuration file value is “org.glite.lb.server”– ServiceDiscoveryInfoValidity: time in seconds (n) indicating the
validity of the information provided by the Service Discovery. A call to Service Discovery for updated information is done every n secondse.g. WorkloadManagerProxy = [
EnableServiceDiscovery = true;
LBServiceDiscoveryType = "org.glite.lb.server";
ServiceDiscoveryInfoValidity = 3600; ]
Abingdon, 9 November 2006 10
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Conclusions
• Plugin selection only via environment variables.
In the case of the plugin BDII is used, an API method to set the BDII server to contact could be useful
• Differences between RGMA and BDII. e.g. key value to use
• Publication of new services such as WMProxy Web servers (endpoints):– How. It seems not so easy– Who should do it– Differences between RGMA and BDII
Abingdon, 9 November 2006 11
Enabling Grids for E-sciencE
EGEE-II INFSO-RI-031688
Conclusions
• Other Service Discovery provided fields (more complex data types) could be used for future needs:– VO discrimination– Server/Service version discrimination– Server/Service type discrimination– To get Web services WSDL
• In the furture, Service Discovery could be used to search for other services:– Job Provenance– VO specific services in general
• "Configuration free SD": use of Service Discovery for bootstrapping; a dedicated service to get hosts/services configuration information