Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Extended Release Notes for WMS 3.4.0 | ||||||||
Line: 376 to 376 | ||||||||
For the moment only openssl oneline old DN format is accepted. This PIP Argus PIP![]() | ||||||||
Changed: | ||||||||
< < | The default authorization mechanism for access control is the gridsite GACL. | |||||||
> > | The default authorization mechanism for access control is the gridsite GACL. The WMS automatically sets the Argus resource id to the service endpoint. | |||||||
* 2.4 Dagmanless DAGs |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Extended Release Notes for WMS 3.4.0 | ||||||||
Line: 450 to 449 | ||||||||
3) Known Issues | ||||||||
Added: | ||||||||
> > | If a job has support for proxy renewal enabled, an error will be returned when retrieving the output: Proxy exception: Unable to get Not Before date from Prox" WORKAROUND: this change will be overwritten in case of a YAIM reconfiguration add at the end of the file /etc/profile.d/grid-env.sh the line: gridenv_set "ICE_DISABLE_DEREGISTER" "1" restart the glite-wms-ice service: # /etc/init.d/glite-wms-ice restart | |||||||
- Support for GLUE 2.0 is incomplete for what concerns match-making with the JDL attribute datarequirements. | ||||||||
Line: 457 to 470 | ||||||||
- The job perusal feature does not work. Output retrieval fails with error "The Operation is not allowed: the job is not started" | ||||||||
Added: | ||||||||
> > | [mcecchi@devel15 ~]$ glite-wms-job-perusal --get -f std.out https://devel09.cnaf.infn.it:9000/JJt1CuAgB4bSQ4mUgoQtMg Connecting to the service https://devel09.cnaf.infn.it:7443/glite_wms_wmproxy_server Error - WMProxy Server Error The Operation is not allowed: the job is not started Error code: SOAP-ENV:ServerWORKAROUND When getting the above error, you need to rename a file on the WMS: | |||||||
- The LCMAPS logging verbosity has changed (log file is now var/log/glite/lcmaps.log), so do not expect the long output that was produced before. |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Extended Release Notes for WMS 3.4.0 | ||||||||
Line: 520 to 520 | ||||||||
5) Changed documentation | ||||||||
Changed: | ||||||||
< < | The gLite WMS System administrator guide has been updated with the "Configuration Changes" | |||||||
> > | The gLite WMS System administrator guide has been updated with the "Configuration Changes" (https://wiki.italiangrid.it/twiki/bin/view/WMS/WMSSystemAdministratorGuide![]() | |||||||
The WMPROXY guide has been updated: https://edms.cern.ch/document/674643/1![]() |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Extended Release Notes for WMS 3.4.0 | ||||||||
Line: 520 to 520 | ||||||||
5) Changed documentation | ||||||||
Changed: | ||||||||
< < | The gLite WMS admin guide has been updated. The WMPROXY admin guide has been updated | |||||||
> > | The gLite WMS System administrator guide has been updated with the "Configuration Changes"
The WMPROXY guide has been updated: https://edms.cern.ch/document/674643/1![]() ![]() | |||||||
-- MarcoCecchi - 2012-06-22
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Extended Release Notes for WMS 3.4.0 | ||||||||
Line: 14 to 14 | ||||||||
2.6) Support for RFC proxies (bug #88128)3) Known Issues4) Code changes | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | 5) Changed documentation | |||||||
1) Supported platforms | ||||||||
Line: 518 to 518 | ||||||||
Total removed = 8k + 2k = 10k | ||||||||
Added: | ||||||||
> > | 5) Changed documentationThe gLite WMS admin guide has been updated. The WMPROXY admin guide has been updated | |||||||
-- MarcoCecchi - 2012-06-22
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Extended Release Notes for WMS 3.4.0 | ||||||||
Line: 450 to 450 | ||||||||
3) Known Issues | ||||||||
Changed: | ||||||||
< < | - ARC CE 12.x is not supperted. | |||||||
> > | - Support for GLUE 2.0 is incomplete for what concerns match-making with the JDL attribute datarequirements. | |||||||
Changed: | ||||||||
< < | While WMS 3.4 works with ARC CE 11.x, the 12.x releases seem to have broken job submission | |||||||
> > | - ARC CE 12.x is not supported, 11.x is. | |||||||
Changed: | ||||||||
< < | - The job perusal feature does not work. Output retrieval fails with this error: | |||||||
> > | - The job perusal feature does not work. Output retrieval fails with error "The Operation is not allowed: the job is not started" | |||||||
Changed: | ||||||||
< < | ===> ERROR: Command glite-wms-job-perusal --get -f out.txt --dir /home/capannini/WMS-Test-Suite/WMS-service/WMSService-Test_20120911165612/jobOutput https://cert-13.cnaf.infn.it:9000/-4AKS693kkIhSsXsCK9xbw failed. Failure message: Connecting to the service https://cert-13.cnaf.infn.it:7443/glite_wms_wmproxy_server Error - WMProxy Server Error The Operation is not allowed: the job is not started | |||||||
> > | - The LCMAPS logging verbosity has changed (log file is now var/log/glite/lcmaps.log), so do not expect the long output that was produced before. | |||||||
4) Code changes |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Extended Release Notes for WMS 3.4.0 | ||||||||
Changed: | ||||||||
< < | Supported platforms | |||||||
> > |
1) Supported platforms2) Major changes2.1) GLUE2 purchasing and match-making2.1.1) Purchasing2.1.2) Match-making with GLUE2.02.3) Argus authZ for access control2.4) Dagmanless DAGs2.5) Condor 7.8.02.6) Support for RFC proxies (bug #88128)3) Known Issues4) Code changes1) Supported platforms | |||||||
Scientific Linux 5.x x86_64 Scientific Linux 6.x x86_64 | ||||||||
Changed: | ||||||||
< < | Major changes | |||||||
> > | 2) Major changes | |||||||
Changed: | ||||||||
< < | * GLUE2 purchasing and match-making | |||||||
> > | * 2.1 GLUE2 purchasing and match-making | |||||||
Changed: | ||||||||
< < | Purchasing | |||||||
> > | 2.1.1) Purchasing | |||||||
- The WMS core module, responsible for the match-making, has two separate purchaser threads for fetching GLUE1.3 and GLUE2.0 information. These can be independently enabled by configuration (WM section), in this way: | ||||||||
Line: 278 to 294 | ||||||||
] | ||||||||
Changed: | ||||||||
< < | Match-making with GLUE2.0 | |||||||
> > | 2.1.2) Match-making with GLUE2.0 | |||||||
- GLUE1.3 and 2.0 attributes are referenced in the JDL through the usual 'other.' operator (see next section), specified in the JDL requirements and rank expressions. Selection on GLUE13 or GLUE20 attributes is simply enabled by referring to the appropriate attributes in the JDL. GLUE20 will be accessed through the structure shown above. | ||||||||
Line: 351 to 367 | ||||||||
Changed: | ||||||||
< < | * Argus authZ for access control | |||||||
> > | * 2.3 Argus authZ for access control | |||||||
There are two new variables that need to be specified in the siteinfo file: | ||||||||
Line: 363 to 379 | ||||||||
For the moment only openssl oneline old DN format is accepted. This PIP Argus PIP![]() | ||||||||
Changed: | ||||||||
< < | * Dagmanless DAGs | |||||||
> > | * 2.4 Dagmanless DAGs | |||||||
The WMS used to implement submission and management of DAG jobs via Condor DAGMan. A DAG engine has now been implemented in the WMS engine (WM). This change is to a great extent transparent to the end user. | ||||||||
Line: 375 to 391 | ||||||||
3) Ability to handle DAGs with run-time errors so as not to leave the DAG in pending states. | ||||||||
Changed: | ||||||||
< < | * Condor 7.8.0 | |||||||
> > | * 2.5 Condor 7.8.0 | |||||||
This change will mainly enable submission to GRAM5 CEs. | ||||||||
Line: 386 to 402 | ||||||||
- Condor 7.8.0 is maintained and repackaged in the EMI WMS through a separate package, named condor-emi. condor-emi does not only provides the official Condor 7.8.0, but also includes several fixes (concerning security and submission to ARC) that have not been ported upstream by the Condor team yet. | ||||||||
Changed: | ||||||||
< < | * Support for RFC proxies (bug #88128) | |||||||
> > | * 2.6 Support for RFC proxies (bug #88128) | |||||||
LCG-CE not expected to support them. OSG, ARC and CREAM CEs will do. | ||||||||
Line: 432 to 448 | ||||||||
- wm.WmsRequirements now has also the queue requirements, that were hard-coded before | ||||||||
Added: | ||||||||
> > | 3) Known Issues- ARC CE 12.x is not supperted. While WMS 3.4 works with ARC CE 11.x, the 12.x releases seem to have broken job submission - The job perusal feature does not work. Output retrieval fails with this error:===> ERROR: Command glite-wms-job-perusal --get -f out.txt --dir /home/capannini/WMS-Test-Suite/WMS-service/WMSService-Test_20120911165612/jobOutput https://cert-13.cnaf.infn.it:9000/-4AKS693kkIhSsXsCK9xbw failed. Failure message: Connecting to the service https://cert-13.cnaf.infn.it:7443/glite_wms_wmproxy_server Error - WMProxy Server Error The Operation is not allowed: the job is not started | |||||||
Changed: | ||||||||
< < | Code changes | |||||||
> > | 4) Code changes | |||||||
EMI2 WMS introduces several code changes, to comply with the strict EMI JRA1 KPI (Key Performance Indicators) in terms of consolidation and reduction of lines of code. In particular, a non trivial refactoring of authN/Z in wmproxy took place, together with the removal of the dependency on Condor DAGMan, another big change. For the build, Cmake started replacing autotools throughout. Roughly speaking: |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Extended Release Notes for WMS 3.4.0 | ||||||||
Added: | ||||||||
> > | Supported platformsScientific Linux 5.x x86_64 Scientific Linux 6.x x86_64 | |||||||
Major changes* GLUE2 purchasing and match-making |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < | WMS 3.4.0. Extended Release Notes | |||||||
> > | Extended Release Notes for WMS 3.4.0 | |||||||
Major changes | ||||||||
Line: 318 to 318 | ||||||||
to match both GLUE 1.3 and GLUE 2.0, just place the two expressions above in or. Shortly: | ||||||||
Changed: | ||||||||
< < | WmsRequirements = (GLUE13Reqs) || (GLUE2Reqs); | |||||||
> > | WmsRequirements = GLUE13Reqs || GLUE2Reqs; | |||||||
To test a simple match-making, after having enabled the GLUE 2.0 purchaser in the WM, as described, create a requirements expression like this one in your JDL: | ||||||||
Line: 376 to 376 | ||||||||
This change will mainly enable submission to GRAM5 CEs. NOTES: | ||||||||
Added: | ||||||||
> > | ||||||||
- Condor 7.8.0 will install in FHS compliant paths | ||||||||
Added: | ||||||||
> > | ||||||||
- Condor 7.8.0 is maintained and repackaged in the EMI WMS through a separate package, named condor-emi. condor-emi does not only provides the official Condor 7.8.0, but also includes several fixes (concerning security and submission to ARC) that have not been ported upstream by the Condor team yet. | ||||||||
Added: | ||||||||
> > | ||||||||
* Support for RFC proxies (bug #88128) | ||||||||
Changed: | ||||||||
< < | LCG-CE not expected to support them. OSG, ARC and CREAM CEs will. | |||||||
> > | LCG-CE not expected to support them. OSG, ARC and CREAM CEs will do. | |||||||
Configuration Changes |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
WMS 3.4.0. Extended Release NotesMajor changes | ||||||||
Line: 276 to 276 | ||||||||
Match-making with GLUE2.0 | ||||||||
Changed: | ||||||||
< < | - GLUE1.3 and 2.0 attributes are referenced in the JDL through the usual 'other.' operator (see next section), specified in the JDL requirements and rank expressions. Selection on GLUE13 or GLUE20 attributes is simply enabled by referring to the appropriate attributes in the JDL. GLUE20 will be accessed through the structure shown above. In this release the JDL attribute DataRequirements (and all the deprecated attributes to do match-making with data) will not work on GLUE2.0 resources. | |||||||
> > | - GLUE1.3 and 2.0 attributes are referenced in the JDL through the usual 'other.' operator (see next section), specified in the JDL requirements and rank expressions. Selection on GLUE13 or GLUE20 attributes is simply enabled by referring to the appropriate attributes in the JDL. GLUE20 will be accessed through the structure shown above. | |||||||
Changed: | ||||||||
< < | Examples of match-making: | |||||||
> > | In this release the JDL attribute DataRequirements (and all the deprecated attributes to do match-making with data) will not work on GLUE2.0 resources. Some examples of match-making: | |||||||
Match on GLUE13 resources. Same as it has always been: | ||||||||
Line: 353 to 355 | ||||||||
USE_ARGUS=![]() ![]() | ||||||||
Added: | ||||||||
> > | ||||||||
For the moment only openssl oneline old DN format is accepted. This PIP Argus PIP![]() | ||||||||
Added: | ||||||||
> > | The default authorization mechanism for access control is the gridsite GACL. | |||||||
* Dagmanless DAGs |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Changed: | ||||||||
< < | WMS 3.4 EMI2 Extended Release Notes | |||||||
> > | WMS 3.4.0. Extended Release Notes | |||||||
Major changes | ||||||||
Line: 276 to 276 | ||||||||
Match-making with GLUE2.0 | ||||||||
Changed: | ||||||||
< < | - GLUE1.3 and 2.0 attributes are referenced in the JDL through the usual 'other.' operator (see next section), specified in the JDL requirements and rank expressions. Selection on GLUE13 or GLUE20 attributes is simply enabled by referring to the appropriate attributes in the JDL. GLUE20 will be accessed through the structure shown above. | |||||||
> > | - GLUE1.3 and 2.0 attributes are referenced in the JDL through the usual 'other.' operator (see next section), specified in the JDL requirements and rank expressions. Selection on GLUE13 or GLUE20 attributes is simply enabled by referring to the appropriate attributes in the JDL. GLUE20 will be accessed through the structure shown above. In this release the JDL attribute DataRequirements (and all the deprecated attributes to do match-making with data) will not work on GLUE2.0 resources. | |||||||
Changed: | ||||||||
< < | Example: | |||||||
> > | Examples of match-making: | |||||||
Match on GLUE13 resources. Same as it has always been: |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
WMS 3.4 EMI2 Extended Release NotesMajor changes | ||||||||
Line: 16 to 16 | ||||||||
To produce a full ASCII dump of the Information System cache, rendered in classad, execute the following command on the WMS. | ||||||||
Deleted: | ||||||||
< < | echo "[ command = \"ism_dump\"; ]"> /var/workload_manager/jobdir/new/req0 Setting: | |||||||
Changed: | ||||||||
< < | EnableIsmIiGlue13Purchasing = false; EnableIsmIiGlue20Purchasing = true; | |||||||
> > | echo "[ command = \"ism_dump\"; ]"> /var/workload_manager/jobdir/new/req0 | |||||||
Changed: | ||||||||
< < | will produce a dump similar to the file has been included in this twiki. | |||||||
> > | A GLUE 2.0 dump taken from lcg-bdii.cern.ch has been included in this twiki. | |||||||
Changed: | ||||||||
< < | The GLUE 1.3 purchaser is always executed before the GLUE 2.0 one. In this way, when the latter starts fetching entries it can find that the same representation was already produced in GLUE 1.3, for a given resource. So two cases here: | |||||||
> > | The GLUE 1.3 purchaser is always executed before the GLUE 2.0 one. In this way, when the latter starts fetching entries it will find one of the following cases: | |||||||
Changed: | ||||||||
< < | 1) the entry was already fetched by the GLUE1.3 purchaser. A merge, G13.Ad.Update(G20.Ad), will be done on the entry with same key GLUECEUniqueId = OtherInfo.CREAMCEId. The same entry will be selectable by both G13 and G20 requirements. Furthermore, the match-making based on data will keep on working, provided that the JDL refers to G13 attributes. 2) The entry was NOT already purchased by the GLUE1.3 purchaser. A direct insert of the GLUE 2.0, that will only be matched by referring to GLUE2.0 attributes in the JDL requirements and rank expressions. | |||||||
> > | 1) the entry was already fetched by the GLUE1.3 purchaser. A merge, G13_Ad.Update(G20_Ad), will be done on the entry with same key that was created by the GLUE 1.3 purchaser (GLUECEUniqueId). The rule to understand if an entry refers to the same resource is the following: IsUndefined(OtherInfo.CREAMCEId) ? GLUE2.Computing.Share.ID : OtherInfo.CREAMCEId The same entry will be selectable by both G13 and G20 requirements. Furthermore, the match-making based on data will keep on working, provided that the JDL refers to G13 attributes. 2) The entry was NOT already purchased by the GLUE1.3 purchaser. A new insertion of the GLUE 2.0 resource will be done. That entry will only be matched by referring to GLUE2.0 attributes in the JDL requirements and rank expressions. | |||||||
While GLUE1.3 is represented in the WMS as a flattened structure of key/value pairs, mostly, the GLUE2.0 retains the full blown tree of the schema. | ||||||||
Line: 116 to 113 | ||||||||
MaxCPUTime = | ||||||||
Changed: | ||||||||
< < | ID = "string"; | |||||||
> > | ID = "string"; // NB: this will be used to hook up possible G13 entries with same GLUECEUniqueId and merge G13 and G20 representations InfoProviderVersion = "string" | |||||||
MappingQueue = "string";
TotalJobs = | ||||||||
Line: 125 to 123 | ||||||||
[ InfoProviderName = "string"; InfoProviderHost = "string"; | ||||||||
Changed: | ||||||||
< < | CREAMCEId = "string"; // NB: this will be used to hook up possible G13 entries with same GLUECEUniqueId and merge G13 and G20 representations | |||||||
> > | CREAMCEId = "string"; // NB: this will also be used to hook up possible G13 entries with same GLUECEUniqueId and merge G13 and G20 representations | |||||||
InfoProviderVersion = "string" // ... ]; | ||||||||
Line: 306 to 304 | ||||||||
IMPORTANT: the requirements expressed in the JDL are appended to WmsRequirements, a WMS defined classad expression, that includes authZ checks and various constraints on the resource side, automatically appended in && to the user requirements. The present default for WmsRequirements only includes GLUE13 attributes. So, according to what type of purchaser is enabled by configuration, the WmsRequirements expressions must be adapted accordingly. The default is: | ||||||||
Added: | ||||||||
> > | ||||||||
((ShortDeadlineJob ? TRUE) ? RegExp(".*sdj$", other.GlueCEUniqueID) : RegExp(".*sdj$", other.GlueCEUniqueID)) && (other.GlueCEPolicyMaxTotalJobs = 0 || other.GlueCEStateTotalJobs < other.GlueCEPolicyMaxTotalJobs) && (EnableWmsFeedback =? TRUE ? RegExp("cream", other.GlueCEImplementationName, "i") : true); | ||||||||
Added: | ||||||||
> > | ||||||||
To match only GLUE2 resources, replace with this expression: | ||||||||
Line: 314 to 314 | ||||||||
((member(CertificateSubject, other.GLUE2.Computing.Endpoint.Policy) || member(strcat("VO:", VirtualOrganisation), other.GLUE2.Computing.Endpoint.Policy) || FQANmember(strcat("VOMS:", VOMS_FQAN), other.GLUE2.Computing.Endpoint.Policy)) && FQANmember(strcat("DENY:", VOMS_FQAN), other.GLUE2.Computing.Endpoint.Policy) && (other.Glue2.Computing.Share.MaxRunningJobs = 0 || other.Glue2.Computing.ShareTotalJobs < other.Glue2.Computing.Share.MaxRunningJobs) && (EnableWmsFeedback =? TRUE ? RegExp("cream", other.GLUE2.Computing.Endpoint.ImplementationName, "i") : true))
| ||||||||
Changed: | ||||||||
< < | to match both GLUE 1.3 and GLUE 2.0, just place the expression above in or with the existing one, kind of: WmsRequirements = (GLUE13Reqs) || (GLUE2Reqs); | |||||||
> > | to match both GLUE 1.3 and GLUE 2.0, just place the two expressions above in or. Shortly: | |||||||
Changed: | ||||||||
< < | - GLUE2.0 match-making | |||||||
> > | WmsRequirements = (GLUE13Reqs) || (GLUE2Reqs); | |||||||
Changed: | ||||||||
< < | After having enabled G2 purchasing in the WM, as in the above test, created a requirements expression like this in your JDL: | |||||||
> > | To test a simple match-making, after having enabled the GLUE 2.0 purchaser in the WM, as described, create a requirements expression like this one in your JDL: | |||||||
Added: | ||||||||
> > | ||||||||
requirements = other.GLUE2.Computing.Endpoint.Name == "ce.csl.ee.upatras.gr_org.glite.ce.CREAM"; | ||||||||
Added: | ||||||||
> > | ||||||||
Changed: | ||||||||
< < | where the proper values have been taken from the ISM dump. Then, in the WM section, comment out the WmsRequirements expression and replace it with an expression referring to valid GLUE2.0 attributes (WmsRequirements=true can be good, to start) . Restart the WMPROXY. Now submit a list-match request, making sure that no default is taken by some inherited configurations. | |||||||
> > | Then, in the WM section of the WMS configuration, comment out the WmsRequirements expression and replace it with an expression referring to valid GLUE2.0 attributes (WmsRequirements=true can be a good start) . Restart the wmproxy service. Now submit a list-match request, making sure that no extra default is taken by some inherited configurations. | |||||||
[mcecchi@ui ~]$ glite-wms-job-list-match -a -c glite_wmsui.conf --endpoint https://devel09.cnaf.infn.it:7443/glite_wms_wmproxy_server ls_g2.jdl | ||||||||
Line: 342 to 344 | ||||||||
======================================================================
| ||||||||
Deleted: | ||||||||
< < | For example, the authZ check would become: if(isdefined(other.GlueCEAccessControlBaseRule) , member(CertificateSubject,other.GlueCEAccessControlBaseRule), member(CertificateSubject,other.GLUE2.Computing.Endpoint.Policy)); | |||||||
* Argus authZ for access control | ||||||||
Line: 423 to 422 | ||||||||
Code changes | ||||||||
Changed: | ||||||||
< < | EMI2 WMS introduces several code changes, to comply with the strict EMI JRA1 KPI (Key Performance Indicators) in terms of consolidation and reduction of lines of code. In particular, a non trivial refactoring of authN/Z in wmproxy took place, together with the removal of the dependency on Condor DAGMan, another big change. For the build, Cmake started replacing autotools throughout. A lot of code has changed! Roughly speaking: | |||||||
> > | EMI2 WMS introduces several code changes, to comply with the strict EMI JRA1 KPI (Key Performance Indicators) in terms of consolidation and reduction of lines of code. In particular, a non trivial refactoring of authN/Z in wmproxy took place, together with the removal of the dependency on Condor DAGMan, another big change. For the build, Cmake started replacing autotools throughout. Roughly speaking: | |||||||
~6k lines of code were added in existing modules |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
WMS 3.4 EMI2 Extended Release NotesMajor changes | ||||||||
Line: 7 to 7 | ||||||||
Purchasing | ||||||||
Changed: | ||||||||
< < | - The WMS core module has two separate purchaser threads for GLUE1.3 and GLUE2.0. These can be independently enabled by configuration (WM section), in this way: | |||||||
> > | - The WMS core module, responsible for the match-making, has two separate purchaser threads for fetching GLUE1.3 and GLUE2.0 information. These can be independently enabled by configuration (WM section), in this way: | |||||||
EnableIsmIiGlue13Purchasing = <boolean>; EnableIsmIiGlue20Purchasing = <boolean>; | ||||||||
Changed: | ||||||||
< < | To produce a full ASCII dump of the Information System cache, rendered in classad, execute this command | |||||||
> > | To produce a full ASCII dump of the Information System cache, rendered in classad, execute the following command on the WMS. | |||||||
echo "[ command = \"ism_dump\"; ]"> /var/workload_manager/jobdir/new/req0 | ||||||||
Line: 27 to 27 | ||||||||
will produce a dump similar to the file has been included in this twiki. | ||||||||
Changed: | ||||||||
< < | The GLUE 1.3 purchaser is always executed before the GLUE 2.0 one. In this way, when the latter starts fetching entries it can find that the same representation was already produced in GLUE 1.3. So two cases: | |||||||
> > | The GLUE 1.3 purchaser is always executed before the GLUE 2.0 one. In this way, when the latter starts fetching entries it can find that the same representation was already produced in GLUE 1.3, for a given resource. So two cases here: | |||||||
Changed: | ||||||||
< < | 1) The entry was already purchased by the GLUE1.3 purchaser. esiste gią in ISM un G13Ad con id = G2Ad.id: allora si fa semplicemente un C13.Ad.Update(G2Ad) (di fatto merge). La risorsa risultante sarą matchabile con requirements G2 o G13 indipendentemente inoltre, in questo modo, anche la parte di storage continuerą a funzionare purchč eventuali attributi nel JDL riguardanti lo storage siano espressi in G13. | |||||||
> > | 1) the entry was already fetched by the GLUE1.3 purchaser. A merge, G13.Ad.Update(G20.Ad), will be done on the entry with same key GLUECEUniqueId = OtherInfo.CREAMCEId. The same entry will be selectable by both G13 and G20 requirements. Furthermore, the match-making based on data will keep on working, provided that the JDL refers to G13 attributes. 2) The entry was NOT already purchased by the GLUE1.3 purchaser. A direct insert of the GLUE 2.0, that will only be matched by referring to GLUE2.0 attributes in the JDL requirements and rank expressions. | |||||||
Changed: | ||||||||
< < | 2) The entry was NOT already purchased by the GLUE1.3 purchaser. A direct insert of the GLUE 2.0, that will only be matched by refering to GLUE2.0 attributes in the JDL requirements and rank expressions. GLUE1.3 and 2.0 attributes are referenced in the JDL through the usual 'other.' operator (see next section). While GLUE1.3 is represented in the WMS as a flattened structure of key/value pairs, mostly, the GLUE2.0 retains the full blown tree of the schema. | |||||||
> > | While GLUE1.3 is represented in the WMS as a flattened structure of key/value pairs, mostly, the GLUE2.0 retains the full blown tree of the schema. | |||||||
Computing Element: | ||||||||
Line: 277 to 276 | ||||||||
] | ||||||||
Changed: | ||||||||
< < | Match-making | |||||||
> > | Match-making with GLUE2.0- GLUE1.3 and 2.0 attributes are referenced in the JDL through the usual 'other.' operator (see next section), specified in the JDL requirements and rank expressions. Selection on GLUE13 or GLUE20 attributes is simply enabled by referring to the appropriate attributes in the JDL. GLUE20 will be accessed through the structure shown above. Example: Match on GLUE13 resources. Same as it has always been:Requirements = other.GlueCEStateWaitingJobs < 100; Rank = -other.GlueCEStateWaitingJobs;Match on GLUE20 resources: Requirements = other.GLUE2.Computing.Share.WaitingJobs < 100; Rank = -other.GlueCEStateWaitingJobs;Match on all GLUE13 and GLUE20 resources: wj = iff(isdefined(other.GlueCEStateWaitingJobs), other.GlueCEStateWaitingJobs, other.GLUE2.Computing.Share.WaitingJobs) Requirements = wj < 100; Rank = -wj;IMPORTANT: the requirements expressed in the JDL are appended to WmsRequirements, a WMS defined classad expression, that includes authZ checks and various constraints on the resource side, automatically appended in && to the user requirements. The present default for WmsRequirements only includes GLUE13 attributes. So, according to what type of purchaser is enabled by configuration, the WmsRequirements expressions must be adapted accordingly. The default is: | |||||||
Changed: | ||||||||
< < | - The user requirements are appended to WmsRequirements, that includes authZ checks and various constraints set on the resource side. According to what type of purchaser is selected, the user and wms requirements expressions must be adapted accordingly. They can also be crafted in such a way to be able to manage the co-existence of GLUE 1.3 and 2.0 purchasers. The selection is done with these attributes: | |||||||
> > | ((ShortDeadlineJob ? TRUE) ? RegExp(".*sdj$", other.GlueCEUniqueID) : RegExp(".*sdj$", other.GlueCEUniqueID)) && (other.GlueCEPolicyMaxTotalJobs = 0 || other.GlueCEStateTotalJobs < other.GlueCEPolicyMaxTotalJobs) && (EnableWmsFeedback =? TRUE ? RegExp("cream", other.GlueCEImplementationName, "i") : true); | |||||||
Changed: | ||||||||
< < | To match only GLUE2 resources, replace the default attribute WmsRequirements in the WMS configuration with this expression: | |||||||
> > | To match only GLUE2 resources, replace with this expression: | |||||||
((member(CertificateSubject, other.GLUE2.Computing.Endpoint.Policy) || member(strcat("VO:", VirtualOrganisation), other.GLUE2.Computing.Endpoint.Policy) || FQANmember(strcat("VOMS:", VOMS_FQAN), other.GLUE2.Computing.Endpoint.Policy)) && !FQANmember(strcat("DENY:", VOMS_FQAN), other.GLUE2.Computing.Endpoint.Policy) && (other.Glue2.Computing.Share.MaxRunningJobs == 0 || other.Glue2.Computing.ShareTotalJobs < other.Glue2.Computing.Share.MaxRunningJobs) && (EnableWmsFeedback =?= TRUE ? RegExp("cream", other.GLUE2.Computing.Endpoint.ImplementationName, "i") : true)) | ||||||||
Line: 289 to 316 | ||||||||
to match both GLUE 1.3 and GLUE 2.0, just place the expression above in or with the existing one, kind of: WmsRequirements = (GLUE13Reqs) || (GLUE2Reqs); | ||||||||
Changed: | ||||||||
< < | - GLUE2.0 match-making PASS | |||||||
> > | - GLUE2.0 match-making | |||||||
After having enabled G2 purchasing in the WM, as in the above test, created a requirements expression like this in your JDL: | ||||||||
Line: 323 to 350 | ||||||||
There are two new variables that are to be specified in the siteinfo file: | ||||||||
Added: | ||||||||
> > | ||||||||
USE_ARGUS= | ||||||||
Changed: | ||||||||
< < | ARGUS_PEPD_ENDPOINTS="list_of_space_separated_URLs"
// i.e.: "https://argus01.lcg.cscs.ch:8154/authz https://argus02.lcg.cscs.ch:8154/authz![]() ![]() | |||||||
> > | ARGUS_PEPD_ENDPOINTS="list_of_space_separated_URLs" # i.e.: "https://argus01.lcg.cscs.ch:8154/authz https://argus02.lcg.cscs.ch:8154/authz![]() ![]() ![]() | |||||||
Added: | ||||||||
> > | * Dagmanless DAGs | |||||||
Changed: | ||||||||
< < | For the moment only openssl oneline old DN format is accepted. This PIP Argus PIP![]() | |||||||
> > | The WMS used to implement submission and management of DAG jobs via Condor DAGMan. A DAG engine has now been implemented in the WMS engine (WM). This change is to a great extent transparent to the end user. | |||||||
Changed: | ||||||||
< < | * dagmanless DAGs | |||||||
> > | Nodes are re-evaluated in the WM every MatchRetryPeriod. This design change will introduce several advantages: | |||||||
Changed: | ||||||||
< < | Nodes are re-evaluated in the WM every MatchRetryPeriod | |||||||
> > | 1) Simpler, less error prone architecture (integrating DAGMan required several helper modules, limiting mechanisms and the like) 2) Higher performance on DAG jobs, especially those composed by a high number of nodes 3) Ability to handle DAGs with run-time errors so as not to leave the DAG in pending states. | |||||||
* Condor 7.8.0 | ||||||||
Changed: | ||||||||
< < | It will fully enable submission to GRAM5 CEs. The feature requires testing submission to LCG-CE, ARC CE, OSG gram2 and gram5 | |||||||
> > | This change will mainly enable submission to GRAM5 CEs. | |||||||
Changed: | ||||||||
< < | * refactoring of authN/Z in wmp | |||||||
> > | NOTES: - Condor 7.8.0 will install in FHS compliant paths - Condor 7.8.0 is maintained and repackaged in the EMI WMS through a separate package, named condor-emi. condor-emi does not only provides the official Condor 7.8.0, but also includes several fixes (concerning security and submission to ARC) that have not been ported upstream by the Condor team yet. | |||||||
Changed: | ||||||||
< < | requires to test authN/Z at large, not only for Argus
* support for RFC proxies (bug #88128) | |||||||
> > | * Support for RFC proxies (bug #88128) | |||||||
LCG-CE not expected to support them. OSG, ARC and CREAM CEs will. | ||||||||
Deleted: | ||||||||
< < | * Use of Cmake replacing autotools | |||||||
Configuration Changes- All the configuration parameters used to tune DAGMan (dismissed) are now removed. They were: DagmanLogLevel, DagmanLogRotate, DagmanMaxPre, MaxDAGRunningNodes - In the wmproxy rpm, several utilities were distributed: glite_wms_wmproxy_purge_proxycache_binary (now replaced by a script), glite_wms_wmproxy_gacladmin (used to generate GACL files) and glite_wms_wmproxy_gridmapfile2gacl, used to generate a GACL file allowing the same entries as speficied in the gridmap file. All these tools have now been removed. | ||||||||
Changed: | ||||||||
< < | - removed par. bulkMM | |||||||
> > | - removed parameter bulkMM (boolean). The bulk match-making feature (group together collections nodes with same requirements, rank) is now aleays enabled. | |||||||
- The configuration parameters filelist used in WMProxy, WM, ICE, JC and LM sections. The filelist based approach for storing requests is slow and prone to corruption, there's no need to maintain it anymore. - removed configuration parameter locallogger in wmp (of course the locallogger is the local logger, so there's no need for a parameter, the default (localhost) will be simply taken. | ||||||||
Changed: | ||||||||
< < | - removed asynch purchasing | |||||||
> > | - removed IsmIiLDAPSearchAsync, once used for using asynchronous LDAP primitives for querying the BDII. - added ice.proxy_renewal_timeout = 120. This parameter was introduced to add a watchdog to possibly hanging renewal requests sent to myproxy. The parameter defines the duration of the grace period. - added wm.IiGlueLib (= "libglite_wms_ism_ii_purchaser.so.0";) - added wm.EnableIsmIiGlue20Purchasing and EnableIsmIiGlue13Purchasing, already mentioned in this document - added attributes to define LDAP filters for GLUE2.0 II purchasers. wm.IsmIiG2LDAPCEFilterExt allows to specify a custom selection query to populate the Computing Element data structure. wm.IsmIiG2LDAPSEFilterExt allows to specify a custom selection query to populate the Storege Element data structure. Defaults are: | |||||||
Changed: | ||||||||
< < | - added IiGlueLib (= "libglite_wms_ism_ii_purchaser.so.0";) | |||||||
> > | IsmIiG2LDAPCEFilterExt = "(|(&(objectclass=GLUE2ComputingService)(|(GLUE2ServiceType=org.glite.ce.ARC)(GLUE2ServiceType=org.glite.ce.CREAM)))(|(objectclass=GLUE2ComputingManager)(|(objectclass=GLUE2ComputingShare)(|(&(objectclass=GLUE2ComputingEndPoint)(GLUE2EndpointInterfaceName=org.glite.ce.CREAM))(|(objectclass=GLUE2ToStorageService)(|(&(objectclass=GLUE2MappingPolicy)(GLUE2PolicyScheme=org.glite.standard))(|(&(objectclass=GLUE2AccessPolicy)(GLUE2PolicyScheme=org.glite.standard))(|(objectclass=GLUE2ExecutionEnvironment)(|(objectclass=GLUE2ApplicationEnvironment)(|(objectclass=GLUE2Benchmark)))))))))))"; | |||||||
Changed: | ||||||||
< < | - added EnableIsmIiGlue20Purchasing and EnableIsmIiGlue13Purchasing | |||||||
> > | IsmIiG2LDAPSEFilterExt = "(|(objectclass=GLUE2StorageService)(|(objectclass=GLUE2StorageManager)(|(objectclass=GLUE2StorageShare)(|(objectclass=GLUE2StorageEndPoint)(|(objectclass=GLUE2MappingPolicy)(|(objectclass=GLUE2AccessPolicy)(|(objectclass=GLUE2DataStore)(|(objectclass=GLUE2StorageServiceCapacity)(|(objectclass=GLUE2StorageShareCapacity))))))))))"; | |||||||
Changed: | ||||||||
< < | - added LDAP filters for g2 ii purchasers, IsmIiG2LDAPCEFilterExt & IsmIiG2LDAPSEFilterExt | |||||||
> > | - added attributes for specifying shared objects to be instantiated by dlopen (helper, purchasers) | |||||||
Changed: | ||||||||
< < | - added attributes for .so in dlopen (helper, purchasers) | |||||||
> > | - added wm.EnabledReplanner (boolean). The job replanner can now be disabled by configuration. | |||||||
Changed: | ||||||||
< < | - par. MatchRetryPeriod reduced 600 -> 300. It now also indicates the time interval with which DAGs are evaluated by the WM engine | |||||||
> > | - reduced wm.MatchRetryPeriod 600 -> 300. It now also indicates the time interval with which DAGs are evaluated by the WM engine | |||||||
Changed: | ||||||||
< < | - SbRetryDifferentProtocols = true by default in WM conf | |||||||
> > | - wm.SbRetryDifferentProtocols = true by default in WM conf | |||||||
Changed: | ||||||||
< < | - WmsRequirements now has also the queue requirements, that were hard-coded before | |||||||
> > | - wm.WmsRequirements now has also the queue requirements, that were hard-coded before | |||||||
Code changes | ||||||||
Changed: | ||||||||
< < | A lot of code has changed! | |||||||
> > | EMI2 WMS introduces several code changes, to comply with the strict EMI JRA1 KPI (Key Performance Indicators) in terms of consolidation and reduction of lines of code. In particular, a non trivial refactoring of authN/Z in wmproxy took place, together with the removal of the dependency on Condor DAGMan, another big change. For the build, Cmake started replacing autotools throughout. A lot of code has changed! | |||||||
Roughly speaking: |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
WMS 3.4 EMI2 Extended Release NotesMajor changes* GLUE2 purchasing and match-making | ||||||||
Added: | ||||||||
> > | Purchasing | |||||||
Changed: | ||||||||
< < | Purchasing | |||||||
> > | - The WMS core module has two separate purchaser threads for GLUE1.3 and GLUE2.0. These can be independently enabled by configuration (WM section), in this way: | |||||||
Changed: | ||||||||
< < | - The user requirements are appended to WmsRequirements, that included authenticatin checks and various constraints on the resource side. According to what type of purchaser is selected, the user and wms requirements expressions must be adapted accordingly. They can also be crafted in such a way to be able to manage the co-existence of GLUE 1.3 and 2.0 purchasers. The selection is done with these attributes: | |||||||
> > | EnableIsmIiGlue13Purchasing = <boolean>; EnableIsmIiGlue20Purchasing = <boolean>;To produce a full ASCII dump of the Information System cache, rendered in classad, execute this command | |||||||
Changed: | ||||||||
< < | set | |||||||
> > | echo "[ command = \"ism_dump\"; ]"> /var/workload_manager/jobdir/new/req0 | |||||||
Added: | ||||||||
> > | Setting: | |||||||
EnableIsmIiGlue13Purchasing = false; EnableIsmIiGlue20Purchasing = true; | ||||||||
Added: | ||||||||
> > | will produce a dump similar to the file has been included in this twiki. The GLUE 1.3 purchaser is always executed before the GLUE 2.0 one. In this way, when the latter starts fetching entries it can find that the same representation was already produced in GLUE 1.3. So two cases: | |||||||
Changed: | ||||||||
< < | in the WM conf, and create a file (the name doesn't matter) like this: | |||||||
> > | 1) The entry was already purchased by the GLUE1.3 purchaser. esiste gią in ISM un G13Ad con id = G2Ad.id: allora si fa semplicemente un C13.Ad.Update(G2Ad) (di fatto merge). La risorsa risultante sarą matchabile con requirements G2 o G13 indipendentemente inoltre, in questo modo, anche la parte di storage continuerą a funzionare purchč eventuali attributi nel JDL riguardanti lo storage siano espressi in G13. | |||||||
Changed: | ||||||||
< < | echo "[ command = \"ism_dump\"; ]"> jobdir/new/a | |||||||
> > | 2) The entry was NOT already purchased by the GLUE1.3 purchaser. A direct insert of the GLUE 2.0, that will only be matched by refering to GLUE2.0 attributes in the JDL requirements and rank expressions. | |||||||
Changed: | ||||||||
< < | Start the WM, and check that no crash occurs after 3/4 purchasing cycles (decrease the PurchasingRate in case). The dump file will report, for example, entries like this: | |||||||
> > | GLUE1.3 and 2.0 attributes are referenced in the JDL through the usual 'other.' operator (see next section). While GLUE1.3 is represented in the WMS as a flattened structure of key/value pairs, mostly, the GLUE2.0 retains the full blown tree of the schema. Computing Element: | |||||||
[ | ||||||||
Deleted: | ||||||||
< < | expiry_time = 900; update_time = 1340106474; id = "ce.csl.ee.xxxxx.xx:8443/cream-pbs-dteam/"; | |||||||
info = [ | ||||||||
Deleted: | ||||||||
< < | GlueCEAccessControlBaseRule = GLUE2.Computing.Endpoint.Policy; GlobusResourceContactString = CEid; QueueName = MappingQueue; GlueHostApplicationSoftwareRunTimeEnvironment = AppName; GlueCEInfoHostName = InfoProviderHost; GlueCEUniqueID = CEid; LRMSType = ProductName; CEid = "ce.csl.ee.xxxxx.xx:8443/cream-pbs-dteam"; | |||||||
GLUE2 = [ Computing = | ||||||||
Line: 44 to 49 | ||||||||
[ Semantics = { | ||||||||
Changed: | ||||||||
< < | "http://wiki.italiangrid.org/twiki/bin/view/CREAM/UserGuide" | |||||||
> > | // this is a classad list of strings | |||||||
}; | ||||||||
Changed: | ||||||||
< < | Implementor = "gLite"; | |||||||
> > | Implementor = "string"; | |||||||
WSDL = { | ||||||||
Changed: | ||||||||
< < | "https://ce.csl.ee.xxxxx.xx:8443/ce-cream/services/CREAM2?wsdl" | |||||||
> > | // this is a classad list of strings | |||||||
}; | ||||||||
Changed: | ||||||||
< < | ServingState = "production"; Name = "ce.csl.ee.xxxxx.xx_org.glite.ce.CREAM"; ID = "ce.csl.ee.xxxxx.xx.glite.ce.CREAM"; HealthState = "ok"; | |||||||
> > | ServingState = "string"; Name = "string"; ID = "string"; HealthState = "string"; | |||||||
SupportedProfile = { | ||||||||
Changed: | ||||||||
< < | "http://www.ws-i.org/Profiles/BasicProfile-1.0.html" | |||||||
> > | // this is a classad list of strings | |||||||
}; | ||||||||
Changed: | ||||||||
< < | Staging = "staginginout"; | |||||||
> > | Staging = "string"; | |||||||
Capability = { | ||||||||
Changed: | ||||||||
< < | "executionmanagement.jobexecution" | |||||||
> > | // this is a classad list of strings | |||||||
}; | ||||||||
Changed: | ||||||||
< < | QualityLevel = "production"; StartTime = "2012-06-16T16:30:03Z"; | |||||||
> > | QualityLevel = "string"; StartTime = "string"; | |||||||
TrustedCA = { | ||||||||
Changed: | ||||||||
< < | "IGTF" | |||||||
> > | // this is a classad list of strings | |||||||
}; | ||||||||
Changed: | ||||||||
< < | ImplementationName = "CREAM";
DowntimeInfo = "See the GOC DB for downtimes: https://goc.egi.eu/"![]() | |||||||
> > | ImplementationName = "string"; DowntimeInfo = "string"; InterfaceName = "string"; | |||||||
OtherInfo = [ | ||||||||
Changed: | ||||||||
< < | HostDN = "/C=GR/O=HellasGrid/OU=upatras.gr/CN=ce.csl.ee.upatras.gr"; MiddlewareVersion = "2.0.0-1"; MiddlewareName = "EMI" | |||||||
> > | HostDN = "string"; MiddlewareVersion = "string"; MiddlewareName = "string" // ... | |||||||
]; | ||||||||
Changed: | ||||||||
< < | Technology = "webservice"; IssuerCA = "/C=GR/O=HellasGrid/OU=Certification Authorities/CN=HellasGrid CA 2006"; | |||||||
> > | Technology = "string"; IssuerCA = "string"; | |||||||
Policy = { | ||||||||
Changed: | ||||||||
< < | "VO:ops", "VO:dteam", "VO:see" }; URL = "https://ce.csl.ee.xxxxx.xx:8443/ce-cream/services"; HealthStateInfo = "/etc/init.d/tomcat5 is already running (25631)"; ImplementationVersion = "1.14"; InterfaceVersion = "2.1"; | |||||||
> > | // this is a classad list of strings (in gLite, elements typically contain VO=..., or DENY=...) }; URL = "string"; HealthStateInfo = "string"; ImplementationVersion = "string"; InterfaceVersion = "string"; | |||||||
JobDescription = { | ||||||||
Changed: | ||||||||
< < | "glite:jdl" | |||||||
> > | // this is a classad list of strings | |||||||
} ]; Manager = [ | ||||||||
Changed: | ||||||||
< < | Name = "Computing Manager on ce.csl.ee.upatras.gr"; ID = "ce.csl.ee.xxxxx.xx_ComputingElement_Manager"; ProductVersion = "2.5.7"; ProductName = "torque" | |||||||
> > | Name = "string"; ID = "string"; ProductVersion = "string"; ProductName = "string" | |||||||
]; Share = [ | ||||||||
Changed: | ||||||||
< < | DefaultCPUTime = 2880; MaxWallTime = 4320; RunningJobs = 0; WaitingJobs = 444444; ServingState = "production"; MaxCPUTime = 2880; FreeSlots = 0; EstimatedAverageWaitingTime = 2146660842; ID = "ops_ops_ce.csl.ee.upatras.gr_ComputingElement"; MappingQueue = "dteam"; TotalJobs = 0; DefaultWallTime = 60; Description = "Share of dteam for ops"; | |||||||
> > | DefaultCPUTime = | |||||||
OtherInfo = [ | ||||||||
Changed: | ||||||||
< < | InfoProviderName = "glite-ce-glue2-share-static"; InfoProviderHost = "ce.csl.ee.xxxxx.xx"; CREAMCEId = "ce.csl.ee.xxxxx.xx:8443/cream-pbs-dteam"; InfoProviderVersion = "1.0" | |||||||
> > | InfoProviderName = "string"; InfoProviderHost = "string"; CREAMCEId = "string"; // NB: this will be used to hook up possible G13 entries with same GLUECEUniqueId and merge G13 and G20 representations InfoProviderVersion = "string" // ... | |||||||
]; Policy = { | ||||||||
Changed: | ||||||||
< < | "" | |||||||
> > | // this is a classad list of strings | |||||||
}; | ||||||||
Changed: | ||||||||
< < | EstimatedWorstWaitingTime = 2146660842; MaxRunningJobs = 999999999 | |||||||
> > | EstimatedWorstWaitingTime = | |||||||
]; Service = [ | ||||||||
Changed: | ||||||||
< < | Name = "Computing Service ce.csl.xxxxx.xx_ComputingElement"; Type = "org.glite.ce.CREAM"; ID = "ce.csl.ee.upatras.gr_ComputingElement"; | |||||||
> > | Name = "string"; Type = "string"; ID = "string"; | |||||||
Capability = { | ||||||||
Changed: | ||||||||
< < | "executionmanagement.jobexecution" | |||||||
> > | "string" | |||||||
}; | ||||||||
Changed: | ||||||||
< < | QualityLevel = "production"; Complexity = "endpointType=2, share=2, resource=1" | |||||||
> > | QualityLevel = "string"; Complexity = "string" | |||||||
] Benchmark = { | ||||||||
Line: 146 to 151 | ||||||||
] Benchmark = { | ||||||||
Deleted: | ||||||||
< < | ||||||||
[ | ||||||||
Changed: | ||||||||
< < | Name = "Benchmark HEP-SPEC06"; Type = "HEP-SPEC06"; ID = "ce.csl.ee.upatras.gr_HEP-SPEC06"; Value = "8.35-HEP-SPEC06" | |||||||
> > | Name = "string"; Type = "string"; ID = "string"; Value = "string"; | |||||||
] }; ApplicationEnvironment = [ AppName = { | ||||||||
Changed: | ||||||||
< < | "GLITE-3_2_0", "LCG-2", "LCG-2_7_0", "R-GMA", "vo-see-fortran-4.1.2" | |||||||
> > | // this is a classad list of strings | |||||||
} ] ]; | ||||||||
Line: 171 to 171 | ||||||||
] | ||||||||
Changed: | ||||||||
< < | Note the attribute PurchasedBy = "ism_ii_g2_purchaser" | |||||||
> > | Note the attribute PurchasedBy = "ism_ii_g2_purchaser".
Storage Element:
[ info = [ GLUE2 = [ Storage = [ Endpoint = [ Semantics = { // this is a classad list of strings }; Implementor = "string"; WSDL = { // this is a classad list of strings }; ServingState = "string"; ID = "string"; HealthState = "string"; SupportedProfile = { // this is a classad list of strings }; Capability = { // this is a classad list of strings }; QualityLevel = "string"; TrustedCA = { // this is a classad list of strings }; ImplementationName = "string"; DowntimeAnnounce = "string"; InterfaceName = "string"; InterfaceExtension = { "" }; OtherInfo = [ ]; Technology = "string"; IssuerCA = "string"; Policy = { // this is a classad list of strings }; URL = "string"; HealthStateInfo = "string"; ImplementationVersion = "string"; InterfaceVersion = "string"; GLUE2StorageEndpointStorageServiceForeignKey = "string" ]; Manager = [ ID = "string"; StorageServiceForeignKey = "string"; ProductVersion = "string"; ProductName = "string" ]; Share = [ Tag = "string"; ServingState = "string"; MaximumLifeTime = <integer>; ID = "string"; ExpirationMode = "string"; Capacity = [ TotalSize = <integer>; Type = "string"; ID = "string"; FreeSize = <integer>; ReservedSize = <integer>; UsedSize = <integer>; ]; StorageServiceForeignKey = "string"; Description = "string"; RetentionPolicy = { // this is a classad list of strings }; DefaultLifeTime = <integer>; Path = "string"; AccessMode = { // this is a classad list of strings }; AccessLatency = "string"; SharingID = "string" ] ] ]; PurchasedBy = "ism_ii_g2_purchaser" ] ] Match-making | |||||||
Changed: | ||||||||
< < | Match-making | |||||||
> > | - The user requirements are appended to WmsRequirements, that includes authZ checks and various constraints set on the resource side. According to what type of purchaser is selected, the user and wms requirements expressions must be adapted accordingly. They can also be crafted in such a way to be able to manage the co-existence of GLUE 1.3 and 2.0 purchasers. The selection is done with these attributes: | |||||||
To match only GLUE2 resources, replace the default attribute WmsRequirements in the WMS configuration with this expression: | ||||||||
Line: 209 to 315 | ||||||||
======================================================================
| ||||||||
Changed: | ||||||||
< < | EnableIsmIiGlue13Purchasing = = true & EnableIsmIiGlue20Purchasing = false: | |||||||
> > | For example, the authZ check would become: | |||||||
Changed: | ||||||||
< < | The GLUE 1.3 purchaser is always executed before the GLUE 2.0 one. In this way, when the latter starts it can find: | |||||||
> > | if(isdefined(other.GlueCEAccessControlBaseRule) , member(CertificateSubject,other.GlueCEAccessControlBaseRule), member(CertificateSubject,other.GLUE2.Computing.Endpoint.Policy)); | |||||||
Changed: | ||||||||
< < | c1) esiste gią in ISM un G13Ad con id = G2Ad.id: allora si fa semplicemente un C13.Ad.Update(G2Ad) (di fatto merge). La risorsa risultante sarą matchabile con requirements G2 o G13 indipendentemente inoltre, in questo modo, anche la parte di storage continuerą a funzionare purchč eventuali attributi nel JDL riguardanti lo storage siano espressi in G13. | |||||||
> > | * Argus authZ for access control | |||||||
Changed: | ||||||||
< < | c2) in ISM non c'e' un AD con lo stesso G2Ad.id: in questo caso non facciamo alcun update ma un bel insert dell'ad che sarą matchabile solo con requirements G2 compliant nel JDL. | |||||||
> > | There are two new variables that are to be specified in the siteinfo file: | |||||||
Changed: | ||||||||
< < | For example, the authZ check would become: | |||||||
> > | USE_ARGUS= | |||||||
Changed: | ||||||||
< < | if(isdefined(other.GlueCEAccessControlBaseRule) , member(CertificateSubject,other.GlueCEAccessControlBaseRule), member(CertificateSubject,other.GLUE2.Computing.Endpoint.Policy)); | |||||||
> > | // i.e.: "https://argus01.lcg.cscs.ch:8154/authz https://argus02.lcg.cscs.ch:8154/authz![]() ![]() | |||||||
Deleted: | ||||||||
< < | * Argus authZ for access control | |||||||
Changed: | ||||||||
< < | for the moment only openssl old DN format is accepted. | |||||||
> > | For the moment only openssl oneline old DN format is accepted. This PIP Argus PIP![]() | |||||||
* dagmanless DAGs | ||||||||
Line: 281 to 384 | ||||||||
Roughly speaking: | ||||||||
Changed: | ||||||||
< < | ~6k lines of legacy code added | |||||||
> > | ~6k lines of code were added in existing modules | |||||||
[mcecchi@devel10 34]$ find . -name emi1_diff|xargs grep -c -e'^[>].*' | ||||||||
Line: 297 to 400 | ||||||||
./emi.wms.wms-ism/emi1_diff:383 | ||||||||
Changed: | ||||||||
< < | ISM Purchasers: added another ~1600 (1622) SLOC from new modules | |||||||
> > | plus added another ~1600 (1622) SLOC from new modules (i.e. ISM GLUE2.0 purchasers). Total added = 6k + 1.5k = 7.5k | |||||||
~8k lines of legacy code removed | ||||||||
Line: 315 to 420 | ||||||||
./emi.wms.wms-ism/emi1_diff:307 | ||||||||
Changed: | ||||||||
< < | emi.wms.wms-manager: REMOVED several modules (~2300 lines) once needed to integrate Condor DAGMan | |||||||
> > | plus removed several modules in emi.wms.wms-manager (~2300 lines). They were once needed to integrate Condor DAGMan. | |||||||
[mcecchi@devel02 src]$ wc -l dagman_helper.* dagman_utils.h filelist_utils.h glite-process-counter-args.c glite-wms-dag-* glite-wms-planner.cpp | ||||||||
Line: 330 to 435 | ||||||||
2382 total | ||||||||
Added: | ||||||||
> > | Total removed = 8k + 2k = 10k | |||||||
-- MarcoCecchi - 2012-06-22 | ||||||||
Added: | ||||||||
> > |
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
WMS 3.4 EMI2 Extended Release NotesMajor changes* GLUE2 purchasing and match-making | ||||||||
Changed: | ||||||||
< < | HOW TO TRY IT OUT - User requirements are appended to WmsRequirements, that included authenticatin checks and various constraints on the resource side. According to what type of purchaser is selected, the user and wms requirements expressions must be adapted accordingly. They can also be crafted in such a way to be able to manage the co-existence of GLUE 1.3 and 2.0 purchasers. The selection is done with these attributes: | |||||||
> > |
Purchasing- The user requirements are appended to WmsRequirements, that included authenticatin checks and various constraints on the resource side. According to what type of purchaser is selected, the user and wms requirements expressions must be adapted accordingly. They can also be crafted in such a way to be able to manage the co-existence of GLUE 1.3 and 2.0 purchasers. The selection is done with these attributes: | |||||||
set | ||||||||
Line: 23 to 25 | ||||||||
[ expiry_time = 900; update_time = 1340106474; | ||||||||
Changed: | ||||||||
< < | id = "ce.csl.ee.upatras.gr:8443/cream-pbs-dteam/"; | |||||||
> > | id = "ce.csl.ee.xxxxx.xx:8443/cream-pbs-dteam/"; | |||||||
info = [ GlueCEAccessControlBaseRule = GLUE2.Computing.Endpoint.Policy; | ||||||||
Line: 33 to 35 | ||||||||
GlueCEInfoHostName = InfoProviderHost; GlueCEUniqueID = CEid; LRMSType = ProductName; | ||||||||
Changed: | ||||||||
< < | CEid = "ce.csl.ee.upatras.gr:8443/cream-pbs-dteam"; | |||||||
> > | CEid = "ce.csl.ee.xxxxx.xx:8443/cream-pbs-dteam"; | |||||||
GLUE2 = [ Computing = | ||||||||
Line: 47 to 49 | ||||||||
Implementor = "gLite"; WSDL = { | ||||||||
Changed: | ||||||||
< < | "https://ce.csl.ee.upatras.gr:8443/ce-cream/services/CREAM2?wsdl" | |||||||
> > | "https://ce.csl.ee.xxxxx.xx:8443/ce-cream/services/CREAM2?wsdl" | |||||||
}; ServingState = "production"; | ||||||||
Changed: | ||||||||
< < | Name = "ce.csl.ee.upatras.gr_org.glite.ce.CREAM"; ID = "ce.csl.ee.upatras.gr_org.glite.ce.CREAM"; | |||||||
> > | Name = "ce.csl.ee.xxxxx.xx_org.glite.ce.CREAM"; ID = "ce.csl.ee.xxxxx.xx.glite.ce.CREAM"; | |||||||
HealthState = "ok"; SupportedProfile = { | ||||||||
Line: 85 to 87 | ||||||||
"VO:dteam", "VO:see" }; | ||||||||
Changed: | ||||||||
< < | URL = "https://ce.csl.ee.upatras.gr8443/ce-cream/services"; | |||||||
> > | URL = "https://ce.csl.ee.xxxxx.xx:8443/ce-cream/services"; | |||||||
HealthStateInfo = "/etc/init.d/tomcat5 is already running (25631)"; ImplementationVersion = "1.14"; InterfaceVersion = "2.1"; | ||||||||
Line: 97 to 99 | ||||||||
Manager = [ Name = "Computing Manager on ce.csl.ee.upatras.gr"; | ||||||||
Changed: | ||||||||
< < | ID = "ce.csl.ee.upatras.gr_ComputingElement_Manager"; | |||||||
> > | ID = "ce.csl.ee.xxxxx.xx_ComputingElement_Manager"; | |||||||
ProductVersion = "2.5.7"; ProductName = "torque" ]; | ||||||||
Line: 119 to 121 | ||||||||
OtherInfo = [ InfoProviderName = "glite-ce-glue2-share-static"; | ||||||||
Changed: | ||||||||
< < | InfoProviderHost = "ce.csl.ee.upatras.gr"; CREAMCEId = "ce.csl.ee.upatras.gr:8443/cream-pbs-dteam"; | |||||||
> > | InfoProviderHost = "ce.csl.ee.xxxxx.xx"; CREAMCEId = "ce.csl.ee.xxxxx.xx:8443/cream-pbs-dteam"; | |||||||
InfoProviderVersion = "1.0" ]; Policy = | ||||||||
Line: 132 to 134 | ||||||||
]; Service = [ | ||||||||
Changed: | ||||||||
< < | Name = "Computing Service ce.csl.ee.upatras.gr_ComputingElement"; | |||||||
> > | Name = "Computing Service ce.csl.xxxxx.xx_ComputingElement"; | |||||||
Type = "org.glite.ce.CREAM"; ID = "ce.csl.ee.upatras.gr_ComputingElement"; Capability = | ||||||||
Line: 150 to 152 | ||||||||
Type = "HEP-SPEC06"; ID = "ce.csl.ee.upatras.gr_HEP-SPEC06"; Value = "8.35-HEP-SPEC06" | ||||||||
Deleted: | ||||||||
< < | ], [ Name = "Benchmark specfp2000"; Type = "specfp2000"; ID = "ce.csl.ee.upatras.gr_specfp2000"; Value = 1.763000000000000E+03 ], [ Name = "Benchmark specint2000"; Type = "specint2000"; ID = "ce.csl.ee.upatras.gr_specint2000"; Value = 2.088000000000000E+03 | |||||||
] }; ApplicationEnvironment = [ AppName = { | ||||||||
Deleted: | ||||||||
< < | "GLITE-3_0_0", "GLITE-3_1_0", | |||||||
"GLITE-3_2_0", "LCG-2", | ||||||||
Deleted: | ||||||||
< < | "LCG-2_1_0", "LCG-2_1_1", "LCG-2_2_0", "LCG-2_3_0", "LCG-2_3_1", "LCG-2_4_0", "LCG-2_5_0", "LCG-2_6_0", | |||||||
"LCG-2_7_0", "R-GMA", "vo-see-fortran-4.1.2" | ||||||||
Line: 195 to 173 | ||||||||
Note the attribute PurchasedBy = "ism_ii_g2_purchaser" | ||||||||
Added: | ||||||||
> > | Match-makingTo match only GLUE2 resources, replace the default attribute WmsRequirements in the WMS configuration with this expression:((member(CertificateSubject, other.GLUE2.Computing.Endpoint.Policy) || member(strcat("VO:", VirtualOrganisation), other.GLUE2.Computing.Endpoint.Policy) || FQANmember(strcat("VOMS:", VOMS_FQAN), other.GLUE2.Computing.Endpoint.Policy)) && !FQANmember(strcat("DENY:", VOMS_FQAN), other.GLUE2.Computing.Endpoint.Policy) && (other.Glue2.Computing.Share.MaxRunningJobs == 0 || other.Glue2.Computing.ShareTotalJobs < other.Glue2.Computing.Share.MaxRunningJobs) && (EnableWmsFeedback =?= TRUE ? RegExp("cream", other.GLUE2.Computing.Endpoint.ImplementationName, "i") : true))to match both GLUE 1.3 and GLUE 2.0, just place the expression above in or with the existing one, kind of: WmsRequirements = (GLUE13Reqs) || (GLUE2Reqs); | |||||||
- GLUE2.0 match-making PASS After having enabled G2 purchasing in the WM, as in the above test, created a requirements expression like this in your JDL: | ||||||||
Line: 260 to 248 | ||||||||
Configuration Changes | ||||||||
Changed: | ||||||||
< < | - removed DagmanLogLevel - removed DagmanLogRotate - removed DagmanMaxPre - removed MaxDAGRunningNodes | |||||||
> > | - All the configuration parameters used to tune DAGMan (dismissed) are now removed. They were: DagmanLogLevel, DagmanLogRotate, DagmanMaxPre, MaxDAGRunningNodes | |||||||
Changed: | ||||||||
< < | - removed wmp tools | |||||||
> > | - In the wmproxy rpm, several utilities were distributed: glite_wms_wmproxy_purge_proxycache_binary (now replaced by a script), glite_wms_wmproxy_gacladmin (used to generate GACL files) and glite_wms_wmproxy_gridmapfile2gacl, used to generate a GACL file allowing the same entries as speficied in the gridmap file. All these tools have now been removed. | |||||||
- removed par. bulkMM | ||||||||
Changed: | ||||||||
< < | - removed par. filelist | |||||||
> > | - The configuration parameters filelist used in WMProxy, WM, ICE, JC and LM sections. The filelist based approach for storing requests is slow and prone to corruption, there's no need to maintain it anymore. | |||||||
Changed: | ||||||||
< < | - removed par. locallogger in wmp | |||||||
> > | - removed configuration parameter locallogger in wmp (of course the locallogger is the local logger, so there's no need for a parameter, the default (localhost) will be simply taken. | |||||||
- removed asynch purchasing |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > | WMS 3.4 EMI2 Extended Release NotesMajor changes* GLUE2 purchasing and match-makingHOW TO TRY IT OUT - User requirements are appended to WmsRequirements, that included authenticatin checks and various constraints on the resource side. According to what type of purchaser is selected, the user and wms requirements expressions must be adapted accordingly. They can also be crafted in such a way to be able to manage the co-existence of GLUE 1.3 and 2.0 purchasers. The selection is done with these attributes: set EnableIsmIiGlue13Purchasing = false; EnableIsmIiGlue20Purchasing = true; in the WM conf, and create a file (the name doesn't matter) like this: echo "[ command = \"ism_dump\"; ]"> jobdir/new/a Start the WM, and check that no crash occurs after 3/4 purchasing cycles (decrease the PurchasingRate in case). The dump file will report, for example, entries like this:[ expiry_time = 900; update_time = 1340106474; id = "ce.csl.ee.upatras.gr:8443/cream-pbs-dteam/"; info = [ GlueCEAccessControlBaseRule = GLUE2.Computing.Endpoint.Policy; GlobusResourceContactString = CEid; QueueName = GLUE2.Computing.Share.MappingQueue; GlueHostApplicationSoftwareRunTimeEnvironment = GLUE2.ApplicationEnvironment.AppName; GlueCEInfoHostName = GLUE2.Computing.Share.OtherInfo.InfoProviderHost; GlueCEUniqueID = CEid; LRMSType = GLUE2.Computing.Manager.ProductName; CEid = "ce.csl.ee.upatras.gr:8443/cream-pbs-dteam"; GLUE2 = [ Computing = [ Endpoint = [ Semantics = { "http://wiki.italiangrid.org/twiki/bin/view/CREAM/UserGuide" }; Implementor = "gLite"; WSDL = { "https://ce.csl.ee.upatras.gr:8443/ce-cream/services/CREAM2?wsdl" }; ServingState = "production"; Name = "ce.csl.ee.upatras.gr_org.glite.ce.CREAM"; ID = "ce.csl.ee.upatras.gr_org.glite.ce.CREAM"; HealthState = "ok"; SupportedProfile = { "http://www.ws-i.org/Profiles/BasicProfile-1.0.html" }; Staging = "staginginout"; Capability = { "executionmanagement.jobexecution" }; QualityLevel = "production"; StartTime = "2012-06-16T16:30:03Z"; TrustedCA = { "IGTF" }; ImplementationName = "CREAM"; DowntimeInfo = "See the GOC DB for downtimes: https://goc.egi.eu/"; InterfaceName = "org.glite.ce.CREAM"; OtherInfo = [ HostDN = "/C=GR/O=HellasGrid/OU=upatras.gr/CN=ce.csl.ee.upatras.gr"; MiddlewareVersion = "2.0.0-1"; MiddlewareName = "EMI" ]; Technology = "webservice"; IssuerCA = "/C=GR/O=HellasGrid/OU=Certification Authorities/CN=HellasGrid CA 2006"; Policy = { "VO:ops", "VO:dteam", "VO:see" }; URL = "https://ce.csl.ee.upatras.gr8443/ce-cream/services"; HealthStateInfo = "/etc/init.d/tomcat5 is already running (25631)"; ImplementationVersion = "1.14"; InterfaceVersion = "2.1"; JobDescription = { "glite:jdl" } ]; Manager = [ Name = "Computing Manager on ce.csl.ee.upatras.gr"; ID = "ce.csl.ee.upatras.gr_ComputingElement_Manager"; ProductVersion = "2.5.7"; ProductName = "torque" ]; Share = [ DefaultCPUTime = 2880; MaxWallTime = 4320; RunningJobs = 0; WaitingJobs = 444444; ServingState = "production"; MaxCPUTime = 2880; FreeSlots = 0; EstimatedAverageWaitingTime = 2146660842; ID = "ops_ops_ce.csl.ee.upatras.gr_ComputingElement"; MappingQueue = "dteam"; TotalJobs = 0; DefaultWallTime = 60; Description = "Share of dteam for ops"; OtherInfo = [ InfoProviderName = "glite-ce-glue2-share-static"; InfoProviderHost = "ce.csl.ee.upatras.gr"; CREAMCEId = "ce.csl.ee.upatras.gr:8443/cream-pbs-dteam"; InfoProviderVersion = "1.0" ]; Policy = { "" }; EstimatedWorstWaitingTime = 2146660842; MaxRunningJobs = 999999999 ]; Service = [ Name = "Computing Service ce.csl.ee.upatras.gr_ComputingElement"; Type = "org.glite.ce.CREAM"; ID = "ce.csl.ee.upatras.gr_ComputingElement"; Capability = { "executionmanagement.jobexecution" }; QualityLevel = "production"; Complexity = "endpointType=2, share=2, resource=1" ] Benchmark = { [ Name = "Benchmark HEP-SPEC06"; Type = "HEP-SPEC06"; ID = "ce.csl.ee.upatras.gr_HEP-SPEC06"; Value = "8.35-HEP-SPEC06" ], [ Name = "Benchmark specfp2000"; Type = "specfp2000"; ID = "ce.csl.ee.upatras.gr_specfp2000"; Value = 1.763000000000000E+03 ], [ Name = "Benchmark specint2000"; Type = "specint2000"; ID = "ce.csl.ee.upatras.gr_specint2000"; Value = 2.088000000000000E+03 ] }; ApplicationEnvironment = [ AppName = { "GLITE-3_0_0", "GLITE-3_1_0", "GLITE-3_2_0", "LCG-2", "LCG-2_1_0", "LCG-2_1_1", "LCG-2_2_0", "LCG-2_3_0", "LCG-2_3_1", "LCG-2_4_0", "LCG-2_5_0", "LCG-2_6_0", "LCG-2_7_0", "R-GMA", "vo-see-fortran-4.1.2" } ] ]; PurchasedBy = "ism_ii_g2_purchaser" ] ]Note the attribute PurchasedBy = "ism_ii_g2_purchaser" - GLUE2.0 match-making PASS After having enabled G2 purchasing in the WM, as in the above test, created a requirements expression like this in your JDL: requirements = other.GLUE2.Computing.Endpoint.Name == "ce.csl.ee.upatras.gr_org.glite.ce.CREAM"; where the proper values have been taken from the ISM dump. Then, in the WM section, comment out the WmsRequirements expression and replace it with an expression referring to valid GLUE2.0 attributes (WmsRequirements=true can be good, to start) . Restart the WMPROXY. Now submit a list-match request, making sure that no default is taken by some inherited configurations. [mcecchi@ui ~]$ glite-wms-job-list-match -a -c glite_wmsui.conf --endpoint https://devel09.cnaf.infn.it:7443/glite_wms_wmproxy_server ls_g2.jdl Connecting to the service https://devel09.cnaf.infn.it:7443/glite_wms_wmproxy_server ========================================================================== COMPUTING ELEMENT IDs LIST The following CE(s) matching your job requirements have been found: *CEId* - ce.csl.ee.upatras.gr:8443/cream-pbs-dteam - ce.csl.ee.upatras.gr:8443/cream-pbs-see ==========================================================================EnableIsmIiGlue13Purchasing = = true & EnableIsmIiGlue20Purchasing = false:
The GLUE 1.3 purchaser is always executed before the GLUE 2.0 one. In this way, when the latter starts it can find:
c1) esiste gią in ISM un G13Ad con id = G2Ad.id: allora si fa semplicemente un C13.Ad.Update(G2Ad) (di fatto merge). La risorsa risultante sarą matchabile con requirements G2 o G13 indipendentemente inoltre, in questo modo, anche la parte di storage continuerą a funzionare purchč eventuali attributi nel JDL riguardanti lo storage siano espressi in G13.
c2) in ISM non c'e' un AD con lo stesso G2Ad.id: in questo caso non facciamo alcun update ma un bel insert dell'ad che sarą matchabile solo con requirements G2 compliant nel JDL.
For example, the authZ check would become:
if(isdefined(other.GlueCEAccessControlBaseRule) , member(CertificateSubject,other.GlueCEAccessControlBaseRule), member(CertificateSubject,other.GLUE2.Computing.Endpoint.Policy));
* Argus authZ for access controlfor the moment only openssl old DN format is accepted.* dagmanless DAGsNodes are re-evaluated in the WM every MatchRetryPeriod* Condor 7.8.0It will fully enable submission to GRAM5 CEs. The feature requires testing submission to LCG-CE, ARC CE, OSG gram2 and gram5* refactoring of authN/Z in wmprequires to test authN/Z at large, not only for Argus* support for RFC proxies (bug #88128)LCG-CE not expected to support them. OSG, ARC and CREAM CEs will.* Use of Cmake replacing autotoolsConfiguration Changes- removed DagmanLogLevel - removed DagmanLogRotate - removed DagmanMaxPre - removed MaxDAGRunningNodes - removed wmp tools - removed par. bulkMM - removed par. filelist - removed par. locallogger in wmp - removed asynch purchasing - added IiGlueLib (= "libglite_wms_ism_ii_purchaser.so.0";) - added EnableIsmIiGlue20Purchasing and EnableIsmIiGlue13Purchasing - added LDAP filters for g2 ii purchasers, IsmIiG2LDAPCEFilterExt & IsmIiG2LDAPSEFilterExt - added attributes for .so in dlopen (helper, purchasers) - par. MatchRetryPeriod reduced 600 -> 300. It now also indicates the time interval with which DAGs are evaluated by the WM engine - SbRetryDifferentProtocols = true by default in WM conf - WmsRequirements now has also the queue requirements, that were hard-coded beforeCode changesA lot of code has changed! Roughly speaking: ~6k lines of legacy code added[mcecchi@devel10 34]$ find . -name emi1_diff|xargs grep -c -e'^[>].*' ./emi.wms.wms-manager/emi1_diff:1114 ./emi.wms.wmproxy/emi1_diff:1754 ./emi.wms.wms-brokerinfo/emi1_diff:197 ./emi.wms.jobsubmission/emi1_diff:768 ./emi.wms.wms-helper/emi1_diff:297 ./emi.wms.wms-broker/emi1_diff:36 ./emi.wms.ice/emi1_diff:323 ./emi.wms.wms-matchmaking/emi1_diff:44 ./emi.wms.wms-common/emi1_diff:475 ./emi.wms.wms-ism/emi1_diff:383ISM Purchasers: added another ~1600 (1622) SLOC from new modules ~8k lines of legacy code removed [mcecchi@devel10 34]$ find . -name emi1_diff|xargs grep -c -e'^[<].*' ./emi.wms.wms-manager/emi1_diff:831 <-- DAG engine ./emi.wms.wmproxy/emi1_diff:2022 <-- authN/Z refactoring, Argus based authZ ./emi.wms.wms-brokerinfo/emi1_diff:200 ./emi.wms.jobsubmission/emi1_diff:1464 <-- code refactoring, cleanup for not handling DAGs anymore ./emi.wms.wms-helper/emi1_diff:211 ./emi.wms.wms-broker/emi1_diff:23 ./emi.wms.ice/emi1_diff:374 ./emi.wms.wms-matchmaking/emi1_diff:56 ./emi.wms.wms-common/emi1_diff:553 ./emi.wms.wms-ism/emi1_diff:307emi.wms.wms-manager: REMOVED several modules (~2300 lines) once needed to integrate Condor DAGMan [mcecchi@devel02 src]$ wc -l dagman_helper.* dagman_utils.h filelist_utils.h glite-process-counter-args.c glite-wms-dag-* glite-wms-planner.cpp 974 dagman_helper.cpp 72 dagman_helper.h 38 dagman_utils.h 58 filelist_utils.h 375 glite-process-counter-args.c 48 glite-wms-dag-post.sh 48 glite-wms-dag-post.sh.in 769 glite-wms-planner.cpp 2382 total-- MarcoCecchi - 2012-06-22 |