Giter Site home page Giter Site logo

puppet-pentaho's Introduction

Pentaho

Build Status Puppet Forge Version Puppet Forge Downloads License

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with Pentaho
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

Overview

A puppet module that allows one to install the Pentaho BA server component on a system. This module aims to configure only Pentaho component and is not responsible to configure the database or the application server.

Module Description

As stated above this module allow one to automate the installation and configuration of the Pentaho BA serrver. It handles the configuration of either MySQL or PostgreSQL as a database backend. It has been tested with the Tomcat application server but should work with any other application server.

Setup

What Pentaho affects

  • Pentaho's pentaho-solution folder
  • Pentaho's tomcat configuration
  • Database backend data

Setup Requirements

As stated above, this module only handle the Pentaho installation and configuration. One needs to properly configure the other pieces needed to have a working environment, database, application server, etc..

Beginning with Pentaho

In a properly configured environment, to get started simply run :

include ::pentaho

Usage

All the interaction with the Pentaho BA server is done via pentaho. Interactions with the actual tables to load in database is done via pentaho::database.

Reference

Classes

Public classes

  • pentaho: Installs and configures Pentaho
  • pentaho::database: Installs and configures required databases

Private classes

  • pentaho::config: Configures the file in the pentaho-solutions directory
  • pentaho::setup: Installs the required drivers and file to proceed with installation
  • pentaho::webapp: Configures the web application withing the servlet container

Parameters

####pentaho

#####version

The Pentaho BA server version that will be installed.

#####applicationserver_base

The application server directory.

#####applicationserver_user

The application server user name.

#####applicationserver_group

The application server group name.

#####listen_ip

The IP address Pentaho shoud listen on. Note: It is unrelated to the application server configuration, it relates strictly to the parameter that will be present in web.xml.

#####manage_jdbc_drivers

A list of jdbc drivers the installation should manage.

#####db_type

The type of the database backend.

#####db_host

The host of the database backend.

#####db_port

The port of the database backend.

#####quartz_db_user

The quartz database user name.

#####quartz_db_password

The quartz database user password.

#####hibernate_db_user

The hibernate database user name.

#####hibernate_db_password

The hibernate database user password.

#####jackrabbit_db_user

The jackrabbit database user name.

#####jackrabbit_db_password

The jackrabbit database user password.

#####pentaho_solutions_path

The pentaho-solutions directory path

#####pentaho_source_url

The pentaho source url to retrieve from.

#####h2driver_source_url

Since the h2 jdbc driver is not packaged, the url where to retrieve the driver from.

#####temp_folder

A temporary folder that will server as cache and drop temporary file into.

#####log_directory

The log directory.

####pentaho::database

#####db_type

The type of the database backend.

#####db_host

The host of the database backend.

#####db_port

The port of the database backend.

#####quartz_db_user

The quartz database user name.

#####quartz_db_password

The quartz database user password.

#####hibernate_db_user

The hibernate database user name.

#####hibernate_db_password

The hibernate database user password.

#####jackrabbit_db_user

The jackrabbit database user name.

#####jackrabbit_db_password

The jackrabbit database user password.

#####db_charset

The database charset

#####db_collate

The database collate

Limitations

This is modules has been tested on :

Operating Systems

  • RedHat Enterprise 6
  • CentOS 6

Database backends

  • MySQL (MariaDB)

Application servers

  • Tomcat

Contributors

The list of contributors can be found at Contributors

puppet-pentaho's People

Contributors

spredzy avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

puppet-pentaho's Issues

How hard would this module be to port to Windows?

I'm planing on trying to use my existing Puppet manifest develop for Linux to install Pentaho BI on a Windows server. Right now I'm using this module. How much work do you think it is to port this to Windows? What dependencies might cause problem? And what should I focus on in order to skip most of the manual work in the installation? I'm fine with skipping the Augeas part of editing the config files, using File resources in Puppet would be ok for me.

symlinks in puppet modules

I just wanted to let you know that though Puppet doesn't currently support symlinks in modules, they will actively be ignored during the untar process in upcoming versions of both r10k and puppet module tool. I noticed you have symlinks in this module --

yguenane-pentaho-0.0.2/files/connectors/psql/postgresql-8.4-703.jdbc4.jar -> 8.4/postgresql-8.4-703.jdbc4.jar
yguenane-pentaho-0.0.2/files/connectors/mysql5 -> mysql

These links will go missing in future installs with either r10k or puppet module tool.

Anderson

master version makes a change on every puppet run

Hi @Spredzy !

I managed to get this module working fine with the latest Pentaho when I tried the master version as you suggested. Now I see on the Puppet master that in every report it does the same change:

Level: notice
Message: executed successfully
Source: /Stage[main]/Pentaho::Setup/Archive[pentaho]/Archive::Extract[pentaho]/Exec[pentaho unpack]/returns
File: /etc/puppetlabs/puppet/modules/archive/manifests/extract.pp
Line: 64

I'm just curious if you get the same result. Reading from the source it seems like it extracts the pentaho.zip on every Puppet run and thus causing the change.
The ideal would of course be if a change was only reported when something actually changed. In this case I guess a change is reported even if a file is overwritten with the same file, resulting in a somewhat misleading report.

Thanks in advance!
John

Same user/solution/role accross instance

When a usere/solution or role with the exact same name is defined accross instances in datastore, the compilation fails.

It creates duplicate on the catalog for this given node. ie Pentaho::Instance['test_1']/Pentaho::User['toto'] and Pentaho::Instance['test_2']/Pentaho::User['toto']

Solution : Make the name var being ${user} + ${instance} and retrieve only ${user} on the corresponding type.

Add Datasource type

Adding the datasource type so one can centralized its datasource information.

Advice on what is needed to run this

Hi!

I'm trying out your module in a fresh Ubuntu 12.04 virtual machine. First of all I should say that I'm new to Puppet and is running a Puppet Enterprise installation. To try to keep it simple I'm trying to run Puppet standalone like this:

root@johnspuppet:/etc/puppetlabs/puppet/modules/pentaho/manifests# puppet apply -e "include pentaho" --noop

But then I get these errors:

Error: Could not find data item instance in any Hiera data file and no default supplied at /etc/puppetlabs/puppet/modules/pentaho/manifests/install.pp:10 on node johnspuppet.spaze.local
Error: Could not find data item instance in any Hiera data file and no default supplied at /etc/puppetlabs/puppet/modules/pentaho/manifests/install.pp:10 on node johnspuppet.spaze.local

I can setup a /var/lib/hiera/defaults.yaml file but I don't see any instructions on what I should add to it. Do you have an example I could use? or give me a tip on what variables are needed for running the pentaho manifest?

Thanks in advance!
John

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.