- 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