Skip to content

Commit 46d95cc

Browse files
committed
Enabling Travis CI
A docker image available in intelctrlsys/sensys-bld-centos7.3 is used to compile Sensys. Two builds are launched, one for dynamic compilation and the other for static compilation and UT execution. Change-Id: Iee1a9be9df71528d1b3885de20ef542111a486dd Signed-off-by: Erich Cordoba <erich.cordoba.malibran@intel.com>
1 parent 57a3752 commit 46d95cc

File tree

5 files changed

+149
-16
lines changed

5 files changed

+149
-16
lines changed

.travis.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
sudo: required
2+
3+
language: c
4+
5+
services:
6+
- docker
7+
8+
env:
9+
- STATIC_BUILD=false
10+
11+
before_install:
12+
- sudo service docker restart
13+
- sleep 3
14+
- sudo docker pull intelctrlsys/sensys-bld-centos7.3
15+
16+
script: "bash -c ./contrib/travis-ci/build.sh"

README

Lines changed: 0 additions & 14 deletions
This file was deleted.

README.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
<!--
2+
3+
Copyright (c) 2013-2017 Intel Corporation. All rights reserved
4+
5+
$COPYRIGHT$
6+
7+
Additional copyrights may follow
8+
9+
$HEADER$
10+
11+
===========================================================================
12+
-->
13+
14+
# A cluster monitoring system architected for exascale systems
15+
16+
[![Build Status](https://travis-ci.org/intel-ctrlsys/sensys.svg?branch=v0.29)](https://travis-ci.org/intel-ctrlsys/sensys)
17+
18+
Sensys provides resilient and scalable monitoring for resource utilization and node state of health, collecting all the data in a database for subsequent analysis. Sensys includes several loadable plugins that monitor various metrics related to different features present in each node like temperature, voltage, power usage, memory, disk and process information.
19+
20+
# Building and installing
21+
22+
## Dependencies
23+
24+
Dependencies may vary on your system's hardware. Here is the list of all the dependencies in case you want to build Sensys with full support.
25+
26+
Name | Version
27+
-----|--------
28+
Sigar | 1.6.5
29+
libesmtp | 1.0.6
30+
net-snmp | 5.7.3
31+
net-snmp-devel | 5.7.3
32+
ipmiutil | 2.9.6
33+
ipmiutil-devel | 2.9.6
34+
postgresql | 9.3
35+
postgresql-devel | 9.3
36+
unixODBC | 2.3.1
37+
numactl-libs | 2.0.9
38+
openssl | 1.0.1
39+
zeromq | 4.0.5
40+
python | 2.7
41+
python-psycopg2 | 2.5.1
42+
python-sqlalchemy | 0.9.8
43+
python-alembic | 0.8.3
44+
45+
Sensys features can be switched on and off at build time, check `./configure --help` for a complete list.
46+
47+
## Build and install
48+
49+
Sensys is an autotools based project, to build it the following steps are needed.
50+
51+
1. Run ```./autogen.pl```
52+
2. Run ```./configure --prefix=/opt/sensys --with-platform=contrib/platform/intel/hillsboro/orcm-nightly-build```
53+
3. Run ```make```
54+
4. Run ```make install```
55+
- Ensure that you have write permissions to the defined prefix as well as root permissions if it is required.
56+
57+
Further build and installation instructions can be found on the [wiki page](https://github.com/intel-ctrlsys/sensys/wiki/2.1-Sensys-Build-and-Installation).
58+
59+
# Getting started
60+
61+
Sensys will install all the files on the prefix location, in this example under ```/opt/sensys```. You will find the following directory structure.
62+
63+
```
64+
/opt/sensys/
65+
bin/
66+
etc/
67+
include/
68+
lib/
69+
share/
70+
```
71+
72+
- **bin** : This directory holds the binaries of sensys: the scheduler ```orcmsched```, the daemon ```orcmd``` and the CLI ```octl```, as well as other helpers.
73+
- **etc** : Two configuration files can be found here, the ```orcm-site.xml``` and the ```openmpi-mca-params.conf```.
74+
- **include** : Headers needed for compilation of new plugins.
75+
- **lib** : This folder contains the main libraries needed by Sensys as well as all the plugins that can be loaded into the system.
76+
- **share** : Contains documentation of the different components of Sensys.
77+
78+
## The scheduler ```orcmsched```
79+
80+
```orcmsched``` maintains the status of all monitoring daemons running in the system and is the single point gateway for issuing commands and receiving responses from the monitoring nodes. It is expected to run ```orcmsched``` on a head node and it should be launched during the cluster boot up process.
81+
82+
Usage documentation can be found on [orcmsched wiki page](https://github.com/intel-ctrlsys/sensys/wiki/3.3-orcmsched)
83+
84+
## The monitoring daemon ```orcmd```
85+
86+
The Sensys daemon collects RAS monitoring data from compute nodes and it should be launched during the cluster boot up process. ```orcmd``` has two modes of operation:
87+
88+
1. As aggregator: The aggregator mode is intended to gather all telemetry data from compute nodes that belongs to the aggregator. This data can be used by the analytics framework to filter information and send alerts. The aggregator mode is in charge of storing data in the database as well as gathering Out of Band metrics from sources like SNMP or IPMI.
89+
1. As compute node: In this mode ```orcmd``` gathers all the monitoring data and sends it to the configured aggregator.
90+
91+
Further information on the usage of ```orcmd``` can be found [here](https://github.com/intel-ctrlsys/sensys/wiki/3.2-orcmd)
92+
93+
## Sensys configuration
94+
95+
All the Sensys runtime daemons need to know the node hierarchy within the cluster. This configuration is a XML file with the syntax detailed on the [wiki page](https://github.com/intel-ctrlsys/sensys/wiki/3.4-Sensys-CFGI-User-Guide).
96+
97+
# Documentation
98+
The full Sensys documentation can be found [here](https://github.com/intel-ctrlsys/sensys/wiki).
99+
100+
# Help
101+
If you have questions with Sensys feel free to [create an issue](https://github.com/intel-ctrlsys/sensys/issues/new).
102+
103+
# License
104+
Sensys is an Open source project released under the [BSD 3-Clause license](LICENSE).

autogen.pl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -832,8 +832,9 @@ sub patch_autotools_output {
832832
#---------------------------------------------------------------------------
833833

834834
# Check for project existence
835-
my $project_name_long = "Open Resilient Cluster Manager";
836-
my $project_name_short = "openrcm";
835+
my $project_name_long = "Sensys system for High Performance Computing";
836+
my $project_name_short = "sensys";
837+
837838

838839
#---------------------------------------------------------------------------
839840

contrib/travis-ci/build.sh

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#
2+
# Copyright (c) 2017 Intel Corporation. All rights reserved.
3+
# $COPYRIGHT$
4+
#
5+
6+
#!/bin/bash
7+
8+
set -ev
9+
10+
if [ "${STATIC_BUILD}" = "true" ]; then
11+
extra_conf="--with-platform=contrib/platform/intel/hillsboro/orcm-nightly-build-static --with-gtest-incdir=/usr/local/include --with-gtest-libdir=/usr/local/lib"
12+
test_run="LD_LIBRARY_PATH=/opt/sensys/lib:/opt/sensys/lib/openmpi make check"
13+
else
14+
extra_conf="--with-platform=contrib/platform/intel/hillsboro/orcm-nightly-build"
15+
test_run="true"
16+
fi
17+
18+
CMD="cd /sensys-bld/ &&
19+
./autogen.pl &&
20+
./configure --prefix=/opt/sensys $extra_conf &&
21+
make -j4 &&
22+
make install &&
23+
$test_run"
24+
25+
docker run -t -i -v "$PWD":/sensys-bld intelctrlsys/sensys-bld-centos7.3 sh -c "$CMD"
26+

0 commit comments

Comments
 (0)