db2_profile
Version information
This version is compatible with:
- Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >= 4.7.0 < 8.0.0
- , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'enterprisemodules-db2_profile', '0.3.1'
Learn more about managing modules with a PuppetfileDocumentation
Table of Contents
Overview
The db2_profile
module allows an easy path from first simple installation to a fully customized Enterprise setup. It is part of our family of Puppet modules to install, manage and secure DB2 databases with Puppet. Besides the db2_profile
module, this family also contains:
- db2_install For installing an DB2 databases.
- db2_config For configuring every aspect of your DB2 database
- db2_secured To secure your databases according to the CIS benchmarks or STIG documents.
This module support DB2 version 10 and 11
License
Most of the Enterprise Modules modules are commercial modules. This one is NOT. It is an Open Source module. You are free to use it any way you like. It, however, is based on our commercial Puppet DB2 modules.
Description
The db2_profile::database
class contains all the Puppet code to install, create and populate an DB2 database. This class is an easy way to get started. It contains the following steps:
em_license
(setup Enterprise Modules licenses)fact_caching
(Configure DB2 fact caching)sysctl
(Set required sysctl settings)limits
(Set required security limits)groups_and_users
(Ensure required OS groups and users)packages
(Ensure require OS packages)firewall
(Configure firewall for DB2 usage)db_software
(Install the DB2 software)db_fixpack
(Install the DB2 fixpack)db_instance
(Ensure DB2 instances)db_definition
(Ensure DB2 databases)db_primary
(Set the database as primary database when using HADR)db_standby
(Set the database as standby database when using HADR)db_tablespaces
(Ensure DB2 tablespaces)db_users
(Ensure DB2 users in database)db_roles
(Ensure DB2 roles)db_groups
(Ensure DB2 groups in database)db_schemas
(Ensure DB2 schemas)db_startup
(Esnure DB2 startup after reboot)
All these steps have a default implementation. This implementation is suitable to get started with. These classes all have parameters you can customize through hiera values. The defaults are specified in the module's data/default.yaml
file.
But sometimes this is not enough and you would like to add some extra definitions, you can, for example, add a Puppet class to be executed after the systctl
stage is done and before the limits
is done. You can do this by adding the next line to your yaml data:
db2_profile::database::before_sysctl: my_profile::my_extra_class
or after:
db2_profile::database::after_sysctl: my_profile::my_extra_class
If you want to, you can also skip this provided class:
db2_profile::database::sysctl: skip
Or provide your own implementation:
db2_profile::database::sysctl: my_profile::my_own_implementation
This mechanism can be used for all named stages and makes it easy to move from an easy setup with a running standard database to a fully customized setup using a lot of your own classes plugged in.
Check here to see the full documentation for this module.
Setup
Requirements
The db2_profile
module requires:
- Puppet module
enterprisemodules-db2_config
installed. - Puppet module
enterprisemodules-db2_install
installed. - Puppet module
enterprisemodules-easy_type
installed. - Puppet module
enterprisemodules/db2_secured
installed. - Puppet module
ipcrm-echo
installed. - Puppet module
herculesteam-augeasproviders_core
installed. - Puppet module
herculesteam-augeasproviders_sysctl
installed. - Puppet module
saz-limits
installed. - Puppet module
puppetlabs-firewall
installed. - Puppet module
crayfishx-firewalld
installed. - Puppet module
puppetlabs-stdlib
installed. - Puppet version 4.0 or higher. Can be Puppet Enterprise or Puppet Open Source
- DB2 11 higher
- A valid IBM DB2 license
- A valid Enterprise Modules license for usage.
- Runs on most Linux systems.
- Windows systems are NOT supported
Installing the db2_profile module
To install these modules, you can use a Puppetfile
mod 'enterprisemodules/db2_profile' ,'x.x.x'
Then use the librarian-puppet
or r10K
to install the software.
You can also install the software using the puppet module
command:
puppet module install enterprisemodules-db2_profile
Usage
To get started, include the db2_profile::database
class in your role and add the next hiera data for your node:
db2_profile::database::source: http://myserver/my_software
db2_profile::name: MYDB
db2_profile::location: /opt/ibm/db2/V11.5
db2_profile::version: '11.5'
db2_profile::database::db_software::file_name: DB2S_11.5.4_MPML.tar.gz
db2_profile::database::db_fixpack::version: '11.5.7'
db2_profile::database::db_fixpack::file_name: v11.5.7_linuxx64_universal_fixpack.tar.gz
Make sure the files:
- DB2S_11.5.4_MPML.tar.gz
- v11.5.7_linuxx64_universal_fixpack.tar.gz
Are downloaded and available in the location you specified as db2_profile::database::source
.
Run Puppet and you have a running IBM DB2 database
Reference
Here you can find some more information regarding this puppet module:
Limitations
This module runs on most Linux versions. It requires a puppet version higher than 4. The module does NOT run on windows systems.
Changelog
All notable changes to this project will be documented in this file.
Release 0.3.1
Fixes
- [packages] Fix incompatibility between RHEL 7 and 8
- [database] Fix way we call pacemaker_setup
Release 0.3.0
Features
- [core] Add Pacemaker cluster manager support
Release 0.2.0
Features
- [core] Add support for hadr configurations
Release 0.1.0
Features
- Initial release
Dependencies
- enterprisemodules/easy_type (>= 2.41.3 < 3.0.0)
- enterprisemodules/db2_config (>= 0.4.0 < 1.0.0)
- enterprisemodules/db2_install (>= 0.3.0 < 1.0.0)
- enterprisemodules/db2_secured (>= 0.3.0 < 1.0.0)
- ipcrm-echo (>= 0.1.6 < 1.0.0)
- herculesteam-augeasproviders_core (>= 2.1.4 < 4.0.0)
- herculesteam-augeasproviders_sysctl (>= 2.2.0 < 4.0.0)
- saz-limits (>= 3.0.2 < 4.0.0)
- puppetlabs-firewall (>= 1.12.0 < 4.0.0)
- puppet-firewalld (>= 4.0.0 < 5.0.0)
- puppetlabs-stdlib (>= 4.25.0 < 7.0.0)