ETICS

From Gcube Wiki
Revision as of 11:51, 12 October 2015 by Gabriele.giammatteo (Talk | contribs)

Jump to: navigation, search

Overview

ETICS stands for e-Infrastructure for Testing, Integration and Configuration of Software. ETICS is an on-line collaborative service for managing software projects by managing their configuration, enforcing quality standards, building packages and testing them in environments as close as possible to real-world infrastructures. The ETICS tools can be used to run remote builds and tests on multiple platforms at the same time.

Etics-overview.png

The main architectural components of ETICS (depicted in the figure above) are:

  • ETICS Web Portal is the main access point to ETICS. It allows to access (view and edit) the configuration of gCube components, submit builds and tests and check the reports;
  • ETICS Worker Nodes are the nodes were builds and tests take place. Users do not need to access to these nodes;
  • ETICS Command-Line Client is a set of command-line tools to access ETICS services. The Command-Line Client provides similar functionalities as the web application. In addition, it allows to run local builds on the developer's machine and is expecially suitable for scripting and batch executions;

How to submit remote builds of gcube subsystems/components

A pre-requisite to submit a build is to have right to do that. Developers have rights to build their components, Subsystem Managers have rights to build their subsystem and the Release Manager have the rights to build the entire project.


In ETICS Portal, to access the Remote Build submitting form (see picture below) just right-click on the configuration you wish to build and then select "Remote Build..." from the contextual menu that will appear.

Etic-build-submission.png

In the following, a description of most usual options to set in the form is provided:

option description usage
verbose useful to debug the build process recommended
Ignore Locking A locked configuration in ETICS has a "snapshot" of the gCube configuration in which it has been locked. When a locked configuration is built in a different version of gCube of the one in which has been locked, it will try to bring in the build all the configurations belonging to the "snapshot"; most likely this will result in multiple configurations for the same component that will break the build. The usage of "Ignore Locking" option will prevent configurations from the snapshots of locked configuration to be brought in the build. mandatory
Propagate environment and ... essential. It will instruct ETICS about the gCube version in which context (gCube's version) build the configuration. mandatory
--shallowbindeps click on "more options" (the green circle in the figure above) and the "--shallowbindeps" option will appear. The "--shallowbindeps" option prevents ETICS to download dependencies of a component if that component is downloaded as binary. In gCube the usage of that option is necessary to cope with the org.glite.voms-admin-server dependency. mandatory (only for components that depends on voms-admin-server)
Do not stop on errors ETICS will try to complete the build also in case the build of one or more components fails. recommended
Host selection The platform against which the build will be performed. gCube is completely in java and, thus, it is completely cross-platform and, theoretically, any of available platforms can be chosen. The suggested platform (because more worker nodes are available for it) is Scientific Linux 5 (x86_64) with gcc 4.1.2 or Scientific Linux 5 (ia32) with gcc 4.1.2. The CERN Scientific Linux 4 (x86_64) with gcc 3.4.6 is not recommended anymore since it is going to be dismissed. mandatory


Once options have been set, just click on the submit icon (the red circle in the figure above) and the build will start. You can keep trace of your builds in the 'Submissions tab of ETICS Portal.

External Links

Etics Web Portal

Etics Build Report

Etics Client Installation HowTo