- Description
- Setup - The basics of getting started with openshift
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
This Puppet module manages Ansible for setting up an OpenShift cluster with the official openshift-ansible Playbooks.
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
Required modules:
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': }
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.
This Puppet module only runs on CentOS and RHEL.
- Fork it (https://github.com/appuio/puppet-openshift/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request