APEL Publisher Test Plan
EMI Component Description and Version
The glite-APEL service is described in the
glite-APEL Reference Card
This test plan is suitable for APEL Publisher from version 3.2.6.
Unit Tests
TO BE COMPLETED
Deployment Tests
Installation
- The YUM repository needed to install the component is:
- The YUM command needed to test a clean installation is:
yum install glite-APEL
- This is the first release of APEL Publisher under EMI, so no upgrade installation instructions are available.
Configuration
- Edit /opt/glite/yaim/examples/siteinfo/site-info.def. The following variables are required:
MYSQL_PASSWORD=Root password for the MySQL server
SITE_NAME=GOCDB name of the site
CE_HOST=Hostname for the CE (yaim must be run once per CE)
APEL_DB_PASSWORD=This will be the password for the accounting user in the DB
MON_HOST=The host where we're installing the node
- Make sure that the JAVA_LOCATION in /opt/glite/yaim/defaults/glite-apel.pre points to the OpenJDK SDK.
- The keystore password can be set up.
Configuration Tests
C1. Checking XML Configuration file: implemented
Checking that the XML configuration file created by YAIM is a well formed XML document.
C2. Checking the sitename in the configuration file: implemented
C3. Checking the database password in the configuration file: implemented
C4. Checking the cron job exists and is correct: implemented
C5. Checking the database tables: implemented
C6. Checking the database access: implemented
System Tests
Basic Functionality Tests
F1. Joining of Accounting Records: implemented
The records inserted in the different tables in the Accounting database by the APEL parser(s) are joined together by the APEL Publisher and inserted into the LcgRecords table, ready for publishing.
F2. Publishing NOTHING: implemented
The APEL Publisher with Republish nothing joins any unjoined records from the parser tables. It does not connect to the broker and does not send any accounting data to the APEL server.
F3. Publishing GAP Records: implemented
The APEL Publisher with Republish gap selects already joined records from the LcgRecords table with EventDate in the range defined in the GAP and publishes them to the APEL server.
F4. Publishing MISSING Records: implemented
The APEL Publisher with Republish missing selects any records in LcgRecords with MeasurementDate greater than the timestamp in RepublishInfo and publishes them to the APEL Server, checking the counts after this. It then joins any new records from the parser tables and sends them to the APEL server.
F5. Publishing ALL Records: implemented
The APEL Publisher rejoins any data from the parser tables, inserting it into the LcgRecords table if it's not already present, and then republishes all the data from LcgRecords into the APEL server.
F6. Publishing disabling the records join: implemented
The APEL Publisher does not join any records from the parser tables.
F7. Publishing enabling the records join: implemented
The APEL Publisher joins any unjoined data from the parser tables, inserting it into the LcgRecords table.
F8. Publishing the User DN: implemented
The APEL Publisher encrypts the field
LCGUserID on the fly and sends it to the APEL server.
F9. Publishing without sending the User DN: implemented
The APEL Publisher publishes the records with
LCGUserID = 'NULL'.
F10. Publishing including some VOs: implemented
The APEL Publisher publishes all the records independently of the VO/group they belong to.
F11. Publishing excluding some VOs: implemented
The APEL Publisher only publishes records with VOs
not specified in the configuration file.
F12. Publishing including all VOs: implemented
The APEL Publisher only publishes records with VOs specified in the configuration file.
F13. Publishing mapping some local groups to VOs: implemented
The APEL Publisher replaces any group listed in the configuration file for the VO specified.
Regression Tests
R1. #13692: APEL should allow per-VO publishing configuration => Added to functionality tests.
R2. #73084: APEL Publisher with option republish=nothing should not try to connect to the broker: implemented
R3. #74820: Number of archiver records found doesn’t match the published one => Tested in functionality tests.
R4. #74876: YAIM for glite-APEL does not add a user with host=glite-APEL hostname: implemented
R5. #77015: Lower the default Limit for gLite-APEL: implemented
R6. #78806: APEL republish all should overwrite record in LcgRecords: implemented
R7. #79175: EMI APEL path for configuration file wrong: implemented
R8. #88076: Permisssions on Java keystore: implemented
R9. #89735: MySQL jar file location wrong: implemented
Performance and Scalability Tests
NA
Standard Compliance and Conformance Tests
NA
Inter-component Tests
NA
Test Scripts
Test Results