ETICS

From Gcube Wiki
Revision as of 12:37, 7 September 2015 by Luca.frosini (Talk | contribs) (External Links)

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 builds and tests on users’ computers, but also and especially to submit remote builds and tests on multiple platforms at the same time.

etics system overview

Figure above shows main ETICS System components. The two user interfaces used by D4Science-II members to access ETICS (the Web Portal and the Command-Line Client) are shown on the left.

Etics Web Portal

The ETICS portal provides a web-based interface to all ETICS functionality. It is the main entry point to the ETICS system. It offers an easy way to navigate between different system domains, offers common look and behaviour to facilitate the user experience.


Command-Line Client

The 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.

Further information on how to install ETICS Command-Line Client on your machine and run local builds can be found here


Repository Browser

As an outcome of remote build and test submissions, the ETICS system produces different types of artefacts: packages generated during the build process, build and test reports and metrics. The ETICS Repository is the standard location where all the software artefacts are stored and archived. In addition to the artefacts generated by the ETICS system, third party packages are also available as dependencies to build software.

How to submit remote builds of gcube subsystems/components

First of all, to submit build you have to have the permission to do that. Usually 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 menù 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 Buil Report Etics Client Installation HowTo