Forge Home

openshift

Manages OpenShift Ansible and Playbooks

7,633 downloads

1,677 latest version

5.0 quality score

Version information

  • 2.2.6 (latest)
  • 2.2.5 (deleted)
  • 2.2.4
  • 2.2.3
  • 2.2.1
  • 2.2.0
released Nov 5th 2019
This version is compatible with:
  • Puppet Enterprise >=3.8.0 <6.0.0
  • Puppet >=3.8.0 <6.0.0
  • RedHat
    ,
    CentOS

Start using this module

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

Add this module to your Puppetfile:

mod 'appuio-openshift', '2.2.6'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add appuio-openshift
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install appuio-openshift --version 2.2.6

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.

Download

Documentation

appuio/openshift — version 2.2.6 Nov 5th 2019

Puppet module for managing OpenShift - the Ansible part

Table of Contents

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

Description

This Puppet module manages Ansible for setting up an OpenShift cluster with the official openshift-ansible Playbooks.

Setup

What openshift affects

The module has two "roles":

  • openshift::role::ansible_master:
    • Installs Ansible
    • Checks out openshift-ansible from git
    • Configures SSH for Ansible
    • Writes the inventory file in YAML format
  • openshift::role::node:
    • Installs required packages
    • Enables NetworkManager
    • Add some missing CA certificates

Setup Requirements

Required modules:

Beginning with openshift

On the host you want to run Ansible, apply the ansible_master role and pass the inventory to it:

class { 'openshift::role::ansible_master':
  host_groups => {
    'OSEv3' => {
      children => ["nodes", "masters"],
    },
    masters => {
      vars => {
        osm_default_node_selector => "foo=bar",
      },
      hosts => {
        "master1.example.com" => {},
        "master2.example.com" => {},
      },
      children => ["etcd"],
    },
    nodes => {
      hosts => {
        "node[1:9].example.com" => {
          custom_var => true,
        },
      },
    },
  }
}

This parameters can also be configured in Hiera.

An all nodes, apply the node role:

class { 'openshift::role::node': }

Usage

Reference

Classes

Public Classes

  • openshift::role::ansible_master: Installs and configures Ansible.

[host_groups] Default: {}. Hash of Ansible inventory data.

[playbooks_source] Default: https://github.com/openshift/openshift-ansible.git. Git repository where the Ansible plabooks are stored.

[playbooks_version] Default: master Git reference to check out

  • openshift::role::node: Prepares node for OpenShift.

No parameters available.

Limitations

This Puppet module only runs on CentOS and RHEL.

Development

  1. Fork it (https://github.com/appuio/puppet-openshift/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request