Forge Home


Puppet MarkLogic management module


10,128 latest version

0.5 quality score

Version information

  • 1.0.0 (latest)
  • 0.1.3
  • 0.1.2
  • 0.1.1
  • 0.1.0
  • 0.0.4
  • 0.0.3
  • 0.0.2
  • 0.0.1
released Sep 3rd 2014

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'myoung34-marklogic', '1.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add myoung34-marklogic
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install myoung34-marklogic --version 1.0.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



myoung34/marklogic — version 1.0.0 Sep 3rd 2014


Build Status Coverage Status Bitdeli Badge

Puppet Module For Marklogic


MarkLogic is an Enterprise level NoSQL XML database driven to big data. It supports Windows, OSX, and RHEL/CentOS distributions, while this module is aimed at CentOS only (untested on RHEL).

Known AWS Issues

See this for a detailed explanation

Supported Versions (tested)


  • CentOS 6
    • MarkLogic Base install (MarkLogic not pre-installed)
      • 6.0-1.1
      • 6.0-2.3
      • 6.0-4
      • 6.0-4.1
      • 7.0-1
    • MarkLogic Upgrades
      • to
      • to 6.0.4
      • to
      • to 7.0-1
      • to 6.0.4
      • to
      • to 7.0-1
      • 6.0.4 to 6.0-4.1
      • 6.0.4 to 7.0-1
      • to 7.0-1


  1. Yum repository with MarkLogic RPMs available (The EULA does not allow redistribution)
  2. Valid license information

Quick Start

   yumrepo { "my ML repo":
      baseurl  => "http://server/pulp/repos/marklogic/",
      descr    => "My MarkLogic Repository",
      enabled  => 1,
      gpgcheck => 0,
    class { 'marklogic':
      admin_user             => 'admin', #defaults to admin
      admin_password         => 'admin', #defaults to admin
      disable_ec2_detection  => true,    #defaults to false
      is_development_license => true,    #defaults to false
      is_upgrade             => false,   #defaults to false
      licensee               => 'myname',#required
      license_key            => 'mykey', #required
      version                => '6.0-4', #required


marklogic::admin_password:         'admin'
marklogic::admin_user:             'admin'
marklogic::disable_ec2_detection:  true
marklogic::is_development_license: true
marklogic::is_upgrade:             false
marklogic::licensee:               'my licensee'
marklogic::license_key:            'my key'
marklogic::version:                '6.0-4'


Due to licensing issues, I cannot distribute the base Vagrant .box that contains the Yum repo.

Also due to licensing, I cannot distribute the required license information to get the tests to run.

If you wish to run the tests:

  • create the file ~/.marklogic.yml which contains:

      licensee: 'my licensee info'
      license_key: 'my key'
      is_development_license: true
  • Create a matching Vagrant box

       vagrant box add base
       vagrant init
       vagrant up
       vagrant ssh 
       sudo mkdir /usr/share/marklogic && sudo chmod 777 /usr/share/marklogic -R
       # scp -P 2222 -r ~/rpms/marklogic/*.rpm vagrant@localhost:/usr/share/marklogic/ #put your RPMs into the vm
       vagrant ssh 
       sudo yum install -y createrepo
       cd /usr/share/marklogic && createrepo .
       sudo su -
       echo $'[marklogic]\nname=MarkLogic CentOS-$releasever\nbaseurl=file:///usr/share/marklogic/\ngpgcheck=0\nenabled=1' > /etc/yum.repos.d/marklogic.repo
       rm -f /etc/sysconfig/network-scripts/ifcfg-eth1
       rm -f /etc/udev/rules.d/70-persistent-net.rules # see:
       vagrant package --output
       vagrant box add centos-64-x64-ml-yum
  • Run the default tests (puppet + lint)

      bundle install
      bundle exec rake
  • Run the system install tests individually

      $ bundle exec rake RSPEC_SET=centos-64-x64-ml-6011-yum spec:system
      $ bundle exec rake RSPEC_SET=centos-64-x64-ml-6023-yum spec:system
      $ bundle exec rake RSPEC_SET=centos-64-x64-ml-604-yum spec:system
      $ bundle exec rake RSPEC_SET=centos-64-x64-ml-701-yum spec:system
  • Run the system upgrade tests individually

      $ bundle exec rake RSPEC_SET=centos-64-x64-ml-6011-6023-yum spec:system
      $ bundle exec rake RSPEC_SET=centos-64-x64-ml-6011-604-yum spec:system
      $ bundle exec rake RSPEC_SET=centos-64-x64-ml-6011-701-yum spec:system
      $ bundle exec rake RSPEC_SET=centos-64-x64-ml-6023-604-yum spec:system
      $ bundle exec rake RSPEC_SET=centos-64-x64-ml-6023-701-yum spec:system
      $ bundle exec rake RSPEC_SET=centos-64-x64-ml-604-701-yum spec:system
  • Run every. single. test.

      $ for i in `cat .nodeset.yml | shyaml get-value sets| grep -E '^[a-zA-Z]' | sed 's/://g'`; do echo $i; bundle exec rake RSPEC_SET=$i spec:system | grep -A 1 -E '^Finished in'; done
  • Running without upgrade tests

    • Remove nextVersion: '...' from the node you want to test