Configuration Reporting System (CRS)

What is CRS?

CRS is a straightforward solution for a complex problem: the maintenance of the hardware and software configuration data.

Maintaining the configuration information of a large and complex system, perhaps geographically distributed, is a very challenging task. Normally, even a complex and ad-hoc designed database application does not provide an end-to-end solution and therefore some of the steps, typically the data-entry, must be manually executed leaving space for mistakes and misalignments. The amount of information is normally relevant and therefore any manual intervention is long and error prone.

CRS in One Sentence

CRS allows to simply press a button and the complete configuration management report of your system is generated in XML format

CRS is not only a database application for the configuration management; CRS is not only a tool that allows displaying and browsing the Product Tree and searching among the configuration data. CRS has some unique features that allow automatically fetching the configuration data directly from the system under configuration control.

CRS and the European Space Agency

In year 2003, the European Space Agency (ESA) entrusted MakaluMedia GmbH with the development of a software tool for the on-line reporting of configuration information of the ESA Ground Station’s hardware and software.

The project was based on the following idea: the only solution to reliably report the configuration information of an arbitrary complex Product Tree (PT) is to fetch such information directly from the Configuration Items (CI) of the target system.

CRS has been delivered in year 2004 and deployed on all ESA Ground Stations. It is now considered Operational Software. The XML reports are retrieved, compared and analyzed either locally at the station site or at the Operations Control Centre in ESOC, Darmstadt, Germany.

In the next future it is foreseen that all station’s sub-systems will provide on-line configuration reporting capabilities and therefore an interface to CRS.

CRS Architecture

CRS is based on two modules: (a) the CRS Core Agent (CCA), a daemon that provides the core services, and (b) the MMI, a web-based application that can connect to any CCA. The task of each CCA is to fetch, report and manage the configuration information of the locally defined CIs like hard-disk, operating system and patch level, locally installed software systems and components, hardware boards, devices, etc.

Moreover, one or more Core Agents can be defined to be part of the CIs of another CCA at higher level, this allows to build up a hierarchy of CCAs, perhaps spanning over a large number of sub-systems, and to create an arbitrary complex Product Tree. The following figure is an example of the CRS hierarchy.


  CRS Hierarchy

For instance, one CCA could be installed on each facility of the primary ground segment reporting the configuration information for that facility; another CCA could be installed on one of the main servers of the control room, and connected to all facility’s CCAs reporting the entire configuration of the primary segment.

In the same way another set of CCAs could be installed on the backup segment providing the configuration information of the entire segment.

Optionally, a CCA could also be installed at Site level and connected to both the primary and backup segment. The process can be iterated in both directions towards higher or lower levels.

Retrieval of the Configuration Data

CRS was specifically designed to be completely independent from the sub-systems under its control, this means that the retrieval of the configuration data is achieved through well-defined interfaces. The internal architecture of the CCA is based on following three software layers:

This architecture provides a very high degree of configurability and flexibility which allow CRS to retrieve configuration data from virtually any kind of software and hardware without requiring modification of the CRS code itself.

Augmentations

For attributes that cannot be retrieved automatically, CRS can store the manually inserted values and add them transparently to the report when it is generated.