Skip to content

cerndb/dbod-core

Repository files navigation

DBOD-core

Build Status Coverage Status

Objectives

Because of how the CERN DB On Demand service evolved historically (far outgrowing its original design specifications) the current implementation of some of its components is open to improvements for better accomodating to new changes or extensions in the service architecture.

At the lowest level of the service managing infrastructure you can find a set of commands which execute certain actions for each kind of database server supported by the service (e.g: dbod_recovery, dbod_backup, dbod_shutdown,...).

The objective of the module is to have a compact code base including all the shared functionality between the different types of instances supported in the service. This module consolidates functionality currently found in six different libraries while also trying set a base which eases the implementation of future extensions.

Basic Requirements and Assumptions

  • Perl library requirements can be seen in Makefile.PL.
  • A configuration file is required. A valid template is available
    • In the CERN environment the configuration file is populated and managed using Puppet.

Development setup installation

This procedure assumes you have installed cpanm, and requires the use of inc::Module::Install and File::ShareDir.

   $ git clone https://github.com/cerndb/DBOD-core.git dbod-core
   $ cd dbod-core
   $ cpanm inc::Module::Install
   $ cpanm File::ShareDir
   $ cpanm --installdeps .

   $ # Build and install
   $ make
   $ make install

   $ # Run tests (optional)
   $ make test

Please note that the list of requirements include database drivers, which in turn require additional packages to be build. The names of the required extra packages will vary depend on your environment, but will be related to header files and libraries. For example, in the case of the MySQL driver you will need libmysqlclient-dev if you are using Debian 8.4, and MySQL-shared or mysql-libs in some other RPM based distributions.

Additional dependencies may be required for additional database drivers

About

DB On Demand management infrastructure core library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages