Beaker Host Generator

beaker-hostgenerator is a command line utility designed to generate beaker host config files using a compact command line SUT specification.

It currently only supports puppetlabs' internal vmpooler templates, but is designed in a way that makes it possible to easily add support for additional hypervisor templates (any hypervisor type supported by beaker).

Usage

Below are some example usages of beaker-hostgenerator.

Simple two-host SUT layout

$ beaker-hostgenerator centos6-64mdca-32a

Will generate

---
HOSTS:
  centos6-64-1:
    pe_dir:
    pe_ver:
    pe_upgrade_dir:
    pe_upgrade_ver:
    hypervisor: vmpooler
    platform: el-6-x86_64
    template: centos-6-x86_64
    roles:
    - agent
    - master
    - database
    - dashboard
  centos6-32-2:
    pe_dir:
    pe_ver:
    pe_upgrade_dir:
    pe_upgrade_ver:
    hypervisor: vmpooler
    platform: el-6-i386
    template: centos-6-i386
    roles:
    - agent
CONFIG:
  nfs_server: none
  consoleport: 443
  pooling_api: http://vmpooler.delivery.puppetlabs.net/

Single-host SUT layout with Arbitrary Roles

$ beaker-hostgenerator centos6-32compile_master,another_role.ma

Will generate

---
HOSTS:
  centos6-32-1:
    pe_dir:
    pe_ver:
    pe_upgrade_dir:
    pe_upgrade_ver:
    hypervisor: vmpooler
    platform: el-6-i386
    template: centos-6-i386
    roles:
    - agent
    - master
    - compile_master
    - another_role
    frictionless_options:
      main:
        dns_alt_names: puppet
        environmentpath: "/etc/puppetlabs/puppet/environments"
CONFIG:
  nfs_server: none
  consoleport: 443
  pooling_api: http://vmpooler.delivery.puppetlabs.net/

Support

Support offered by Puppet Labs may not always be timely since it is maintained by a tooling support team that is primarily focused on improving tools, infrastructure, and automation for our Enterprise products.

That being said, we will happily accept and review PRs from community members interested in extending and using beaker-hostgenerator for their own purposes. See the contributing doc for more information about how to contribute.

If you have questions or comments, please contact the Beaker team at the #puppet-dev IRC channel on chat.freenode.org

License

beaker-hostgenerator is distributed under the Apache License, Version 2.0. See the LICENSE file for more details.