Chapter 8. Puppet Parameters


The following is a comprehensive list of the OpenShift Enterprise installation parameters you can specify with Puppet manifests.

Note

Passwords are used to secure various services. You are advised to specify only alphanumeric values with this module as others may cause syntax errors depending on context. If non-alphanumeric values are required, update them separately after installation.
roles

Choose from the following roles to be configured on the host.

broker
Installs the broker and Management Console applications.
node
Installs the node component and cartridges.
msgserver
Installs an ActiveMQ message broker.
datastore
Installs MongoDB (not sharded/replicated).
nameserver
Installs a BIND DNS server configured with a TSIG key for dynamic updates.
Default: ['broker','node','msgserver','datastore','nameserver']
install_method

This sets the method for providing packages to the installation process. Currently, the only supported option for OpenShift Enterprise is none, meaning installation sources must already set up when the module executes (for example, using RHSM or RHN Classic).

domain

The network domain, or cloud domain, under which applications and hosts will be placed.

Default: 'example.com'
broker_hostname, node_hostname, nameserver_hostname, msgserver_hostname, datastore_hostname

These parameters supply the FQDN of the hosts containing the respective components. Used for configuring the host’s name at installation and for configuring the broker application to reach the required services.

Default: The root plus the defined domain (for example, broker.example.com), except nameserver=ns1.example.com.

Note

If installing a name server, the module creates DNS entries for the host names of the other components being installed on this host as well. If you are using a name server that is set up separately, you are responsible for all necessary DNS entries.
datastore1_ip_addr|datastore2_ip_addr|datastore3_ip_addr

IP addresses of the first three MongoDB servers in a replica set. Add datastoreX_ip_addr parameters for larger clusters.

Default: undef
nameserver_ip_addr

IP of a name server instance or current IP if installing on this node. This is used by every host to configure its primary name server.

Default: The current IP at installation time.
bind_key

When the name server is remote, use this to specify the key for updates. This is the Key: field from the .private key file generated by the dnssec-keygen command. This field is required on all node hosts.

bind_key_algorithm

When using a BIND key, use this algorithm for the BIND key.

Default: 'HMAC-MD5'
bind_krb_keytab

When the name server is remote, this Kerberos keytab together with a Kerberos principal can be used instead of the dnssec key for updates.

bind_krb_principal

When the name server is remote, this Kerberos principal together with a Kerberos keytab can be used instead of the dnssec key for updates.

aws_access_key_id

This and the aws_secret_key parameter are Amazon AWS security credentials. The aws_access_key_id is a string which identifies an access credential.

aws_secret_key

This is the secret portion of Amazon AWS security credentials indicated by the aws_access_key_id parameter.

aws_zone_id

This is the ID string for an AWS Hosted zone which will contain the OpenShift Enterprise application records.

conf_nameserver_upstream_dns

List of upstream DNS servers to use when installing a nameserver on this node.

Default: ['8.8.8.8']
broker_ip_addr

This is used for node hosts to record its broker. It is also the default for the name server IP if none is given.

Default: The current IP at installation time.
broker_virtual_ip_address

The virtual IP address that will front-end the broker cluster.

Default: undef
broker_virtual_hostname

The host name that represents the broker API cluster. This name is associated to the broker_virtual_ip_address parameter and added to BIND for DNS resolution.

Default: 'changeme'
node_ip_addr

This is used for node hosts to give a public IP, if different from the one on its NIC.

Default: The current IP at installation time.
Node Resource Limits

The following resource limits must be the same within a given district.

node_profile
This is the specific node’s gear profile. Default: 'small'
node_quota_files
The max number of files allowed in each gear. Default: '80000'
node_quota_blocks
The max storage capacity allowed in each gear (1 block = 1024 bytes). Default: '1048576'
node_max_active_gears
This is used for limiting or guiding gear placement. For no overcommit, this must be:
(Total System Memory - 1G) / memory_limit_in_bytes
Default: '100'
node_no_overcommit_active
This enforces the node_max_active_gears parameter in a more stringent manner than normal. However, it also adds overhead to gear creation, so it should only be set to true when required. For example, in the case of enforcing single tenancy on a node.
Default: false
node_limits_nproc
The max number of processes. Default: '250'
node_tc_max_bandwidth
mbit/sec, total bandwidth allowed for all gears. Default: '800'
node_tc_user_share
mbit/sec, one user is allotted. Default: '2'
node_cpu_shares
The CPU share percentage for each gear. Default: '128'
node_cpu_cfs_quota_us
Default: '100000'
node_memory_limit_in_bytes
Gear memory limit in bytes. Default: '536870912' (512MB)
node_memsw_limit_in_bytes
Gear max memory limit including swap (512M + 100M swap). Default: '641728512'
node_memory_oom_control
Kill processes when hitting out of memory. Default: '1'
node_throttle_cpu_shares
The CPU share percentage each gear receives at throttle. Default: '128'
node_throttle_cpu_cfs_quota_us
Default: '30000'
node_throttle_apply_period
Default: 120
node_throttle_apply_percent
Default: '30'
node_throttle_restore_percent
Default: '70'
node_boosted_cpu_cfs_quota_us
Default: '200000'
node_boosted_cpu_shares
The CPU share percentage each gear receives while boosted. Default: '30000'
configure_ntp

Enabling this configures NTP. It is important that the time be synchronized across hosts because MCollective messages have a TTL of 60 seconds and may be dropped if the clocks are too far out of sync. However, NTP is not necessary if the clock will be kept in sync by some other means.

Default: true
ntp_servers

If the configure_ntp parameter is set to true (default), this parameter allows users to specify an array of NTP servers used for clock synchronization.

Default: ['time.apple.com iburst', 'pool.ntp.org iburst', 'clock.redhat.com iburst']

Note

Use iburst after every NTP server definition to speed up the initial synchronization.
msgserver_cluster

Set to true to cluster ActiveMQ for high availability and scalability of OpenShift Enterprise message queues.

Default: false
msgserver_cluster_members

An array of ActiveMQ server host names. Required when the msgserver_cluster parameter is set to true.

Default: undef
mcollective_cluster_members

An array of ActiveMQ server host names. Required when the msgserver_cluster is set to true.

Default: $msgserver_cluster_members
msgserver_password

Password used by ActiveMQ’s amquser. The amquser is used to authenticate ActiveMQ inter-cluster communication. Only used when the msgserver_cluster is set to true.

Default: 'changeme'
msgserver_admin_password

This is the password for the admin user for the ActiveMQ Admin Console, which is not needed by OpenShift Enterprise, but might be useful in troubleshooting.

Default: Generates a random password.
mcollective_user, mcollective_password

This is the user and password shared between broker and node for communicating over the MCollective topic channels in ActiveMQ. Must be the same on all broker and node hosts.

Default: 'mcollective' / 'marionette'
mongodb_admin_user, mongodb_admin_password

This is the user name and password of the administrative user that will be created in the MongoDB datastore. These credentials are not used by in this module or by OpenShift Enterprise, but an administrative user must be added to MongoDB in order for it to enforce authentication.

Default: 'admin' / 'mongopass'

Note

The administrative user will not be created if CONF_NO_DATASTORE_AUTH_FOR_LOCALHOST is enabled.
mongodb_broker_user, mongodb_broker_password

This is the user name and password of the normal user that will be created for the broker to connect to the MongoDB datastore. The broker application’s MongoDB plug-in is also configured with these values.

Default: 'openshift' / 'mongopass'
mongodb_name

This is the name of the database in MongoDB in which the broker will store data.

Default: 'openshift_broker'
mongodb_port

The TCP port used for MongoDB to listen on.

Default: '27017'
mongodb_replicasets

Enables or disables MongoDB replica sets for database high availability.

Default: false
mongodb_replica_name

The MongoDB replica set name when the mongodb_replicasets parameter is set to true.

Default: 'openshift'
mongodb_replica_primary

Set the host as the primary with true or secondary with false. Must be set on one and only one host within the mongodb_replicasets_members array.

Default: undef
mongodb_replica_primary_ip_addr

The IP address of the primary host within the MongoDB replica set.

Default: undef
mongodb_replicasets_members

An array of [host:port] of replica set hosts.

Example: [10.10.10.10:27017, 10.10.10.11:27017, 10.10.10.12:27017]
Default: undef
mongodb_keyfile

The file containing the mongodb_key used to authenticate MongoDB replica set members.

Default: '/etc/mongodb.keyfile'
mongodb_key

The key used by members of a MongoDB replica set to authenticate one another.

Default: 'changeme'
openshift_user1, openshift_password1

This user and password are entered in the /etc/openshift/htpasswd file as a test user. Red Hat recommends removing the user after installation or using a different authentication method.

Default: 'demo' / 'changeme'
conf_broker_auth_salt, conf_broker_auth_private_key

Salt and private keys used when generating secure authentication tokens for application-to-broker communication. Requests like scale up or down and Jenkins builds use these authentication tokens. This value must be the same on all broker nodes.

Default: Self-signed keys are generated. Does not work with a multi-broker setup.
conf_console_product_logo

Relative path to the product logo URL.

If the ose_version parameter is undefined, the default is /assets/logo-origin.svg. If the ose_version parameter is defined, the deafult is /assets/logo-enterprise-horizontal.svg.
conf_console_product_title

OpenShift instance name.

If the ose_version parameter is undefined, the default is OpenShift Origin. If the ose_version parameter is defined, the deafult is OpenShift Enterprise.
conf_broker_multi_haproxy_per_node

This setting is applied on a per-scalable-application basis. When set to true, OpenShift Enterprise allows multiple instances of the HAProxy gear for a given scalable application to be established on the same node. Otherwise, on a per-scalable-application basis, a maximum of one HAProxy gear can be created for every node in the deployment. The latter is the default behavior, which protects scalable applications from single points of failure at the node level.

Default: false
conf_broker_session_secret, conf_console_session_secret

Session secrets used to encode cookies used by the broker and Management Console applications. These values must be the same on all broker nodes.

Default: undef
conf_valid_gear_sizes

List of all gear sizes that will be used in this OpenShift Enterprise installation.

Default: ['small']
conf_default_gear_size

Default gear size if one is not specified.

Default: 'small'
conf_default_gear_capabilities

List of all gear sizes that newly created users will be able to create.

Default: ['small']
conf_default_max_domains

Default max number of domains a user is allowed to use.

Default: '10'
conf_default_max_gears

Default max number of gears a user is allowed to use.

Default: '100'
broker_dns_plugin

DNS plug-in used by the broker to register application DNS entries. Only one option is supported with OpenShift Enterprise:

nsupdate
An nsupdate-based plug-in. Supports TSIG and GSS-TSIG based authentication. Uses the bind_key parameter for TSIG and the bind_krb_keytab and bind_krb_principal parameters for GSS-TSIG.
Default: 'nsupdate'
broker_auth_plugin

Authentication setup for users of the OpenShift service. Options:

mongo
Stores user names and passwords in MongoDB.
kerberos
Kerberos-based authentication. Uses the broker_krb_service_name, broker_krb_auth_realms, broker_krb_keytab parameters.
htpasswd
Stores user names and passwords in the /etc/openshift/htpasswd file.
ldap
LDAP-based authentication. Uses the broker_ldap_uri parameter.
Default: 'htpasswd'
broker_krb_service_name

The KrbServiceName value for a mod_auth_kerb configuration.

broker_krb_auth_realms

The KrbAuthRealms value for a mod_auth_kerb configuration.

broker_krb_keytab

The Krb5KeyTab value of mod_auth_kerb is not configurable. The keytab is expected to be at /var/www/openshift/broker/httpd/conf.d/http.keytab.

broker_ldap_uri

The URI to the LDAP server, for example:

ldap://ldap.example.com:389/ou=People,dc=my-domain,dc=com?uid?sub?(objectClass=*)
broker_ldap_bind_dn

LDAP DN (Distinguished name) of the user to bind to the directory with. For example:

cn=administrator,cn=Users,dc=domain,dc=com
Default: Anonymous bind.
broker_ldap_bind_password

Password of the bind user set in the broker_ldap_bind_dn parameter.

Default: Anonymous bind with a blank password.
node_shmmax

The kernel.shmmax sysctl setting for the /etc/sysctl.conf file.

The default setting should work for most deployments, but if this is desired to be tuned higher, the general recommendations are as follows:
shmmax = shmall * PAGE_SIZE
- PAGE_SIZE = getconf PAGE_SIZE
- shmall = cat /proc/sys/kernel/shmall
It is not recommended to set the shmmax to a value higher than 80% of total available RAM on the system (expressed in BYTES).
Default: kernel.shmmax = 68719476736
node_shmall

The kernel.shmall sysctl setting for the /etc/sysctl.conf file. Defaults to 2097152 BYTES

This parameter sets the total amount of shared memory pages that can be used system wide. Therefore, SHMALL should always be at least:
ceil(shmmax/PAGE_SIZE)
Default: kernel.shmall = 4294967296
node_container_plugin

Specify the container type to use on the node. Currently, the selinux plug-in is the default and only supported option for OpenShift Enterprise.

Default: 'selinux'
node_frontend_plugins

Specify one or more plug-ins to use to register HTTP and WebSocket connections for applications. Options:

apache-vhost
A Virtual Host-based plug-in for HTTP and HTTPS. Suited for installations with less application create and delete activity. Easier to customize. If apache-mod-rewrite is also selected, apache-vhost is be ignored.
nodejs-websocket
A WebSocket proxy listening on ports 8000 and 8443.
haproxy-sni-proxy
A TLS proxy using SNI routing on ports 2303 through 2308.
apache-mod-rewrite
Deprecated in OpenShift Enterprise 2.2. A mod_rewrite-based plug-in for HTTP and HTTPS requests. Suited for installations with many create, delete, and scale actions. Cannot be used at the same time as the apache-vhost plug-in.
Default: ['apache-vhost','nodejs-websocket']
node_unmanaged_users

List of user names who have UIDs in the range of OpenShift Enterprise gears but must be excluded from gear setups.

Default: []
conf_node_external_eth_dev

External facing network device. Used for routing and traffic control setup.

Default: 'eth0'
conf_node_public_key, conf_node_private_key

Public and private keys used for gears on the default domain. Both values must be defined or default self-signed keys will be generated.

Default: Self-signed keys are generated.
conf_node_supplementary_posix_groups

Name of supplementary UNIX group to add a gear to.

conf_node_watchman_service

Enable or disable the OpenShift Enterprise node Watchman service.

Default: true
conf_node_watchman_gearretries

Number of restarts to attempt before waiting RETRY_PERIOD.

Default: '3'
conf_node_watchman_retrydelay

Number of seconds to wait before accepting another gear restart.

Default: '300'
conf_node_watchman_retryperiod

Number of seconds to wait before resetting retries.

Default: '28800'
conf_node_watchman_statechangedelay

Number of seconds a gear must remain inconsistent with its state before Watchman attempts to reset state.

Default: '900'
conf_node_watchman_statecheckperiod

Wait at least this number of seconds since last check before checking gear state on the node. Use this to reduce the impact of Watchman’s GearStatePlugin on the system.

Default: '0'
conf_node_custom_motd

Define a custom MOTD to be displayed to users who connect to their gears directly. If undefined, uses the default MOTD included with the node package.

Default: undef
development_mode

Set development mode and extra logging.

Default: false
install_login_shell

Install a Getty shell which displays DNS, IP, and login information. Used for the all-in-one VM installation.

register_host_with_nameserver

Set up DNS entries for this host in a locally-installed BIND DNS instance.

Default: false
dns_infrastructure_zone

The name of a zone to create which will contain OpenShift Enterprise infrastructure hosts. If this is unset, then no infrastructure zone or other artifacts will be created.

Default: ''
dns_infrastructure_key

A dnssec symmetric key which grants update access to the infrastructure zone resource records. This is ignored unless the dns_infrastructure_zone parameter is set.

Default: ''
dns_infrastructure_key_algorithm

When using a BIND key, use this algorithm for the infrastructure BIND key. This is ignored unless the dns_infrastructure_zone parameter is set.

Default: 'HMAC-MD5'
dns_infrastructure_names

An array of hashes containing host name and IP address pairs to populate the infrastructure zone. This is ignored unless the dns_infrastructure_zone parameter is set.

Host names can be simple names or fully qualified domain name (FQDN).
Simple names are placed in the dns_infrastructure_zone parameter. Matching FQDNs are placed in the dns_infrastructure_zone. Host names anchored with a dot (.) are added verbatim.
For example:
$dns_infrastructure_names = [
  {hostname => "10.0.0.1", ipaddr => "broker1"},
  {hostname => "10.0.0.2", ipaddr => "data1"},
  {hostname => "10.0.0.3", ipaddr => "message1"},
  {hostname => "10.0.0.11", ipaddr => "node1"},
  {hostname => "10.0.0.12", ipaddr => "node2"},
  {hostname => "10.0.0.13", ipaddr => "node3"},
]
Default: []
manage_firewall

Indicate whether or not this module configures the firewall for you.

install_cartridges

List of cartridges to be installed on the node. Options:

  • cron
  • diy
  • haproxy
  • mongodb
  • nodejs
  • perl
  • php
  • postgresql
  • python
  • ruby
  • jenkins
  • jenkins-client
  • mysql
  • jbossews
  • jbosseap (requires add-on subscription)
Default: ['cron','diy','haproxy','mongodb','nodejs','perl','php','postgresql','python','ruby','jenkins','jenkins-client','mysql']
update_network_conf_files

Indicate whether or not this module will configure the resolv.conf file and network for you.

Default: true
ose_version

Set this to the X.Y release version (for example, 2.2) of OpenShift Enterprise to ensure an OpenShift Enterprise supported configuration is used.

See the README_OSE.asciidoc distributed with the openshift_origin Puppet module for more details.
Default: undef
ose_unsupported

Set this to true to allow OpenShift Enterprise unsupported configurations. Only appropriate for proof of concept environments.

This parameter is only used when the ose_version parameter is set.
Default: false
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.