Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

EGI Quality Criteria Release 2 EMI Review

From EGIWiki
Jump to navigation Jump to search

EMI Review of the EGI QC Documents (Version 2)

Original Document is available at https://twiki.cern.ch/twiki/bin/view/EMI/EmiEgiQcReviewV2

Review on the review

Compute Capabilities Quality Criteria (Marco Cecchi)

JOBEXEC_IFACE_1

- "The test suite must include tests for all the documented functions." maybe EGI itself should define a
 minimum set of primitives an interface should provide
- " Invalid output should throw an exception as documented" It is not clear whether the interface should
be accessed directly through the network or via APIs. In both cases,
the term exception could not apply everywhere, so I would speak in generic terms of "error".
 - EMI-ES is not listed among the possible interfaces.

Response:

  • Working on exact API functionality to test
  • EMI-ES added as a possible interface (should be added to the UMD Roadmap too)
  • Changed "exception" to "exception or error".

JOBEXEC_JOB_2

Typo: Non-empy -> Non empty

Response:

  • Corrected type

JOBEXEC_JOB_3

Testing job cancellation involves different scenarios depending on where the job was found in the submission
chain at the moment the cancellation is triggered. This test should possibly be broken down into subtests such
as: cancel a job when the job in state (submitted, waiting, scheduled, running, already cancelled, aborted, etc).

Response:

  • More detail given for the tests, although no specific states given since not every system has the same ones. In the pass/fail criteria, added that is specially relevant to test when the job is running.

JOBEXEC_EXECMNGR_1

I would add: check if the middleware requires to have outbound connectivity on the WN and check if 
the job requires an identity switch. These criteria should not be blocking, but should be well known.

Response:

  • Added Inbound and Outbound connectivity
  • The pass/fail criteria now specifies that the appliance may be accepted if modifications exist but only if they are documented.

JOBEXEC_EXECMNGR_3

A list of supported BS would be expected here, as for JOBEXEC_EXECMNGR_2.

Response:

  • Added list as JOBEXEC_EXECMNGR_2

INTERACTIVE_JOB_1

Providing interactive login to remote machine also involves specific configuration on the WN. That can only
depend on the site administration policies. Of course we are not speaking of interactive root access to a
virtual machine here. In any case, I'd relax the original statement into something like "provide
interactive, shell-like access to a worker node". That could simply be done, for example, by redirecting
stdin&out over a socket.

Response:

  • This Criterion is explicitly intended for interactive login (such as what gsissh provides). The case described by EMI can be considered as part of INTERACTIVE_JOB_4.

INTERACTIVE_JOB_3/INTERACTIVE_JOB_4

INTERACTIVE_JOB_4 encompasses what described in INTERACTIVE_JOB_3

Response:

  • No changes, this is intended. There might be middleware that only does one direction communication (INTERACTIVE_JOB_3) and we want to have a criterion for it.

JOBSCH_EXEC_1

EMI-ES is missing. In general, most of the above comments (JOBEXEC_IFACE_1, JOBEXEC_JOB_*) 
apply to JOBSCH_EXEC_* items as well.

Response:

  • Added EMI-ES as a possible interface.
  • Corrected JOBSCH_JOB_3 (Cancel of jobs)

JOBSCH_JOB_7

Submission of collection should be limited to a determined maximun number of nodes.

Response:

  • Not sure what this means: maximum number of nodes in the collection? Maximum number of nodes (CEs) to test?

JOBSCH_JOB_8

DAG jobs should work for all the CEs supported by the metascheduler, not only for a subset. Also, the ability
to support workflows (jobs with cyclic dependencies whose exit condition is to be evaluated at run-time)
should be taken into account.

Response:

  • Added in the pass/fail description to test for all the supported Job Execution Interfaces supported.
  • More complex workflows are to be covered by the "workflow capability" not yet covered by the criteria.


JOBSCH_WMS_1 & JOBSCH_WMS_2

it is not clear in this context the meaning of "Input from Technology Provider: Test and for checking
resubmission mechanism". 
"A test to submit a job and check if it is accepted or rejected, specially for big JDLs", repetead in
JOBSCH_WMS_3 maybe it should be something about resubmission, i.e. the sentence in JOBSCH_WMS_1. 
In fact JOBSCH_WMS_3 correctly reports another: "A test to submit a job and check if it is accepted
or rejected, specially for big JDLs"

Response:

  • C&P error: There was a confusion in the description of criteria


Data Quality Criteria (Patrick Fuhrmann)

Generic Quality Criteria (Alberto Aimar)

GENERIC_DOC_*

Online help mandatory: Currently the online help or the --h command options is not mandatory but 
most command have it.
API documentation mandatory: Currently the API documentation is not a mandatory document of our
documentation review. But of course all public APIs are documented.
All OK. Functional Description, Release Notes, User Doc, Admin Doc are all also mandatory in the
EMI Documentation Policy.

Response:

  • Documentation has an special status. Although it is mandatory, Products without it may pass verification if they are really needed. This is currently being changed in the QC.

GENERIC_REL_1

Software Licenses are required and tracked by EMI. But what are the EGI compatible licenses for using
them on the EGI Infrastructure? How can the TP know that?

Response:

  • Working on the licensing issues


GENERIC_REL_2

The part about clear and readable code is a bit generic. But all EMI code is publicly available.

Response:

  • Changed the Pass/Fails criteria to just check if the source is available. The rest left as description.


GENERIC_REL_5

Similar requirement exists in EMI. The big question here is the granularity of testing. Now V2 contains
mention of this comment. 

Response:

  • The verifier will determine if the new features/bug fixes testing is enough for each release. Right now there is no other alternative to make this a more objective criterion.

GENERIC_REL_7

This is new compared to Version 1. Should be a ticketing submission channel not a "bug tracker" where EGI
submits bugs. EGI does not submit to the trackers of EMI but submits GGUS tickets and some are bugs others
are request of clarifications, etc.

Response:

  • This criterion has changed: already existing TP should not worry, since they are enlisted as 3rd line support in GGUSS, this will be turned into a guideline for new TPs.

GENERIC_SERVICE_*

Service control and status commands. This is not a specified requirement for EMI services at the moment. 
Log files. This is not a specified requirement for EMI services at the moment. 
No such requirement is explicitly part of EMI policies. Nevertheless, Product Teams are required to
perform scalability and performance tests as part of their product certification. 

Response:

  • EGI needs working services so this must be kept in the criteria.

GENERIC_SEC_*

Not part of the current EMI requirements.But should be added to the EMI requirements.

Response:

  • --


Information Capabilities Quality Criteria (Laurence Field)

In general these requirement are desribed in a very simplistic way. I would recommend that they are
revised and written in more detail.

Response:

  • The SA2.2 team is finding people with more experience in the info capabilities to come up with better criteria for them. This will be accomplished in the next release.

INFOMODEL_SCHEMA_1

The description states that "Information exchanged in the EGI Infrastructure must conform to GlueSchema".
What information does this refer to? Any information that is exchanged or a subset?

In "Input from Technology Provider" it states, "Test that the information published by the product conforms to the GlueSchema v1.3 Technology and v2.0 (optionally)" However in "Pass/Fail Criteria" it states "Information published must be available in GlueSchema v1.3 and GlueSchema v2". This is a contradition.

Response:

INFODISC_IFACE_1

The description states that "Information published by the appliance must be available through LDAPv3 protocol". What is an applicance and what information does this refer to?

INFODISC_AGG_1

The description states what the software must not do. It should define what the software must do. Filtering out irrelevant information is not really a requirement. Provding only relvant information is a requirement.

In general I think that this requirement does not make sense and needs to be revised.

INFODISC_AGG_2

In general I think that this requirement does not make sense and needs to be revised. -

INFODISC_AVAIL_1

The description states "Information Discovery appliances must be able to handle big amounts of data". How big is big? How many data sources, how much data, how many changes, in what data format etc.

This requirement is too simplistic and needs to be revised.

INFODISC_AVAIL_2

Description The description statsthat the "information discovery service should be able to handle load under realistic conditions." What are realistic loads?

For the Pass/Fail Criteria, where does the value of 20 come from? Is this realistic?

MSG_IFACE_1

In the Pass/Fail Criteria, it statest that either JMS 1.1 or AMQP must be supported. As far as I am aware the recomendation from EMI is to use STOMP.


Operations Capabilities Quality Criteria (Laurence Field)

In gerneral I have a concern about the style of this document. What is being described? Requirements, Tests , Sepcification etc. The current style seems to mix these concepts and as such makes it difficult to understand. The desciptions need to be improved to clear be inline with what is being described. From the phrasing it should be clear that this is a a test or a requirement. Everything should also be made more abstract. For example it should state that dataset A should be moved to point B by time T rather than requiring that cron is used to publish accounting information.

MON_NCG_1

More details are required for the Test Description. What information? Which database? How do we know it is working?

MON_NCG_2

The description does not sound like a requirement. The "NGI has to understand", isn't that and NGI issue?

More details are required for the Test Description. What information? Which database? Test contains no deatils now to test for redundency which seems to be the perpose of the test. How do we know it is working?

MON_PORTAL_1

Ok, but some phrasing could be improved for clarity.

MON_PORTAL_2

Ok, but some phrasing could be improved for clarity.

MON_PORTAL_3

Ok, but some phrasing could be improved for clarity.

MON_PORTAL_4

Ok, but some phrasing could be improved for clarity.

MON_PORTAL_5

How fast is fast, how soon is soon, how much is too much? Please be more specific.

MON_DB_1

Ok, but some phrasing could be improved for clarity.

MON_PROBE_JOBEXEC_1

"Pass/Fail" Check sentence.

MON_PROBE_JOBEXEC_2

"Pass/Fail" Check sentence.

MON_PROBE_JOBEXEC_3

"Pass/Fail" Check sentence. === MON_PROBE_JOBSCH_1

"Pass/Fail" Check sentence. === MON_PROBE_METADATA_1

"Pass/Fail" Check sentence.

ACC_JOBEXEC_1

All the actions??? Are you sure?

ACC_JOBSCH_1

All the actions??? Are you sure?

Security Capabilities Quality Criteria (John White)

Is this a "Quality" document describing the quality of software
or a set of requirements? It reads more like a set of requirements.
The test requirements themselves look reasonable and pretty much
mirror the test suites that are used in EMI certification of 
security components.

Response:

  • They are both functional and non-functional requirements
  • Most of the tests come from EMIs test plans.
One question that comes to mind is that is
EGI expecting a new set of test-suites to run in a particular
framework or will they use the results of EMI certification? Statement
that the document as "OK" does not imply acceptance of re-writing/reformatting
our tests for EGI.

Response:

  • EGI will repeat tests if the verifier considers that is needed (major releases mostly), but does not require re-writing/reformatting
  • Ideally EMIs test framework can be reused.

ATTAUTH_WEB_2

This follows the previous (EGEE/LCG) policy documents?
If so, OK.

Response:

  • Will check, but it should.

AUTHZ_ PDP_1

"PDPs must support the XACML interface" This is a bit general. Internally Argus uses XACML 
but the WHOLE XACML spec is not used.

Response:

  • The verifier will determine if the coverage of the interface is enough.
  • We are working on better specification of the API QC, to explicitly say which parts of the interface are expected and which not.

Storage Capabilities Quality Criteria (Patrick Fuhrmann)