Author: Jamey Owens Author: Ben Klang Author: Ben Langfeld Author: Krishna Raman
This module helps install OpenShift Origin Platform As A Service.
Through the declaration of the openshift_origin
class, you can configure the OpenShift Origin Broker, Node and support
services including ActiveMQ, Qpid, MongoDB, named and OS settings including firewall, startup services, and ntp.
- Puppet >= 2.7
- Facter >= 1.6.17
- Puppetlabs/stdlib module. Can be obtained
here or with the command
puppet module install puppetlabs/stdlib
- Puppetlabs/ntp module. Can be obtained
here or with the command
puppet module install puppetlabs/ntp
The module can be obtained from the github repository.
- Download the Zip file from github
- Upload the Zip file to your Puppet Master.
- Unzip the file. This will create a new directory called puppet-openshift_origin-
- Rename this directory to just
openshift_origin
and place it in your modulepath.
There is one class (openshift_origin
) that needs to be declared on all nodes managing
any component of OpenShift Origin. These nodes are configured using the parameters of
this class.
Declaration example:
class { 'openshift_origin':
configure_ntp => true,
configure_activemq => true,
configure_qpid => false,
configure_mongodb => true,
configure_named => true,
configure_broker => true,
configure_node => true,
}
The following lists all the class parameters the openshift_origin
class accepts.
True if OpenShift Origin dependencies and OpenShift Origin nightly yum repositories should be created on this node.
True if OpenShift Client tools be installed on this node.
True if all support services be enabled. False if they are enabled by other classes in your recipe.
True if firewall should be configured for this node (Will blow away any existing configuration)
True if NTP should be configured on this node. False if ntp is configured by other classes in your recipe.
True if ActiveMQ should be installed and configured on this node (Used by m-collective)
True if Qpid message broker should be installed and configured on this node. (Optionally, used by m-collective. Replaced ActiveMQ)
True if Mongo DB should be installed and configured on this node.
True if a Bind server should be configured and run on this node.
True if an OpenShift Origin broker should be installed and configured on this node.
True if an OpenShift Origin node should be installed and configured on this node.
IP Address of DNS Bind server (If running on a different node)
FQDN of node running the MongoDB server (If running on a different node)
FQDN of node running the message queue (ActiveMQ or Qpid) server (If running on a different node)
FQDN of node running the OpenShift OpenShift broker server (If running on a different node)
DNS suffix for applications running on this PaaS. Eg. cloud.example.com Applications will be -.cloud.example.com
Enables quotas on the local node. Applicable only to OpenShift OpenShift Nodes. If this setting is set to false, it is expected that Quotas are configured elsewhere in the Puppet recipe
Device on which gears are stored (/var/lib/openshift)
Base mount point for /var/lib/openshift directory
Enables cgoups on the local node. Applicable only to OpenShift OpenShift Nodes. If this setting is set to false, it is expected that cgroups are configured elsewhere in the Puppet recipe
Updates PAM settings on the local node to secure gear logins. Applicable only to OpenShift OpenShift Nodes. If this setting is set to false, it is expected that cgroups are configured elsewhere in the Puppet recipe
The authentication plugin to use with the OpenShift OpenShift Broker. Supported values are 'mongo' and 'basic-auth'
Public key used to authenticate communication between node and broker. If left blank, this file is auto generated.
Private key used to authenticate communication between node and broker. If
broker_auth_pub_key
is left blank, this file is auto generated.
Password for broker_auth_priv_key
private key
Salt used to generate authentication tokens for communication between node and broker.
TODO
Message queue plugin to configure for mcollecitve. Defaults to 'activemq' Acceptable values are 'activemq', 'stomp' and 'qpid'
User to authenticate against message queue server
Password to authenticate against message queue server
User to authenticate against Mongo DB server
Password to authenticate against Mongo DB server
name of the MongoDB database
TSIG signature to authenticate against the Bind DNS server.
True if Bind DNS server specified in named_ipaddress
should be added as first DNS server
for application name resolution.
The ruby runtime currently distributed with Fedora 17 (1.9.3.362-24.fc17) has some issues which causes mcollective to arbitrarily disconnect from the message queue server.
Please update the ruby runtime from updates-testing
repository
yum update --enablerepo updates-testing ruby ruby-libs ruby-irb ruby-devel
Facter broken on Fedora 17. http://projects.puppetlabs.com/issues/15001
yumrepo { 'puppetlabs-products':
name => 'puppetlabs-products',
descr => 'Puppet Labs Products Fedora 17 - $basearch',
baseurl => 'http://yum.puppetlabs.com/fedora/f17/dependencies/\$basearch',
gpgkey => 'http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs',
enabled => 1,
gpgcheck => 1,
}
yumrepo { 'puppetlabs-deps':
name => 'puppetlabs-deps',
descr => 'Puppet Labs Dependencies Fedora 17 - $basearch',
baseurl => 'http://yum.puppetlabs.com/fedora/f17/products/\$basearch',
gpgkey => 'http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs',
enabled => 1,
gpgcheck => 1,
}
package { 'facter':
ensure => latest,
require => [Yumrepo['puppetlabs-products'],Yumrepo['puppetlabs-deps']],
}