Puppet Class: loadbalancer

Defined in:
manifests/loadbalancer.pp

Overview

Copyright (C) 2014 eNovance SAS <licensing@enovance.com>

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Class: cloud::loadbalancer

Install Load-Balancer node (HAproxy + Keepalived)

Parameters:

keepalived_vrrp_interface

(optional) Networking interface to bind the vrrp traffic. Defaults to false (disabled)

keepalived_public_interface

(optional) Networking interface to bind the VIP connected to public network. Defaults to 'eth0'

keepalived_internal_interface

(optional) Networking interface to bind the VIP connected to internal network. keepalived_internal_ipvs should be configured to enable the internal VIP. Defaults to 'eth1'

keepalived_public_ipvs

(optional) IP address of the VIP connected to public network. Should be an array. Defaults to ['127.0.0.1']

keepalived_internal_ipvs

(optional) IP address of the VIP connected to internal network. Should be an array. Defaults to false (disabled)

keepalived_public_id

(optional) used for the keepalived public virtual_router_id. Should be numeric. Defaults to '1'

keepalived_internal_id

(optional) used for the keepalived internal virtual_router_id. Should be numeric. Defaults to '2'

keepalived_auth_type

(optional) Authentication method. Supported methods are simple Passwd (PASS) or IPSEC AH (AH). Defaults to undef

keepalived_auth_pass

(optional) Authentication password. Password string (up to 8 characters). Defaults to undef

swift_api

(optional) Enable or not Swift public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

ceilometer_api

(optional) Enable or not Ceilometer public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

cinder_api

(optional) Enable or not Cinder public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

glance_api

(optional) Enable or not Glance API public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

glance_registry

(optional) Enable or not Glance Registry public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

neutron_api

(optional) Enable or not Neutron public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

heat_api

(optional) Enable or not Heat public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

heat_cfn_api

(optional) Enable or not Heat CFN public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

heat_cloudwatch_api

(optional) Enable or not Heat Cloudwatch public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

nova_api

(optional) Enable or not Nova public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

trove_api

(optional) Enable or not Trove public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

horizon

(optional) Enable or not Horizon public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

horizon_ssl

(optional) Enable or not Horizon SSL public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

ec2_api

(optional) Enable or not EC2 public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

spice

(optional) Enable or not spice binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure. Defaults to false

novnc

(optional) Enable or not novnc binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure. Defaults to true

elasticsearch

(optional) Enable or not ElasticSearch binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure. Defaults to true

kibana

(optional) Enable or not kibana binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure. Defaults to true

redis

(optional) Enable or not redis binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure. Defaults to true

metadata_api

(optional) Enable or not Metadata public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

keystone_api

(optional) Enable or not Keystone public binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

rabbitmq

(optional) Enable or not RabbitMQ binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure. Defaults to false

sensu_dashboard

(optional) Enable or not sensu_dashboard binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure. Defaults to true

sensu_api

(optional) Enable or not sensu_api binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure. Defaults to true

keystone_api_admin

(optional) Enable or not Keystone admin binding. If true, both public and internal will attempt to be created except if vip_internal_ip is set to false. If set to ['10.0.0.1'], only IP in the array (or in the string) will be configured in the pool. They must be part of keepalived_ip options. If set to false, no binding will be configure Defaults to true

haproxy_auth

(optional) The HTTP sytle basic credentials (using login:password form) Defaults to 'admin:changeme'

haproxy_options

(optional) The haproxy global options Defaults to {}

keepalived_state

(optional) TODO Defaults to 'BACKUP'

keepalived_priority

(optional) TODO Defaults to '50'

ceilometer_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

cinder_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

ec2_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

glance_api_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

glance_registry_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

heat_cfn_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

heat_cloudwatch_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

heat_api_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

keystone_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

keystone_admin_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

metadata_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

neutron_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

nova_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

trove_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

swift_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

spice_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

novnc_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

horizon_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

horizon_ssl_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

rabbitmq_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

elasticsearch_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

kibana_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

sensu_dashboard_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

sensu_api_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

redis_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

galera_bind_options

(optional) A hash of options that are inserted into the HAproxy listening service configuration block. Defaults to []

ks_ceilometer_public_port

(optional) TCP port to connect to Ceilometer API from public network Defaults to '8777'

ks_cinder_public_port

(optional) TCP port to connect to Cinder API from public network Defaults to '8776'

ks_ec2_public_port

(optional) TCP port to connect to EC2 API from public network Defaults to '8773'

ks_glance_api_public_port

(optional) TCP port to connect to Glance API from public network Defaults to '9292'

ks_glance_registry_internal_port

(optional) TCP port to connect to Glance API from public network Defaults to '9191'

ks_heat_cfn_public_port

(optional) TCP port to connect to Heat API from public network Defaults to '8000'

ks_heat_cloudwatch_public_port

(optional) TCP port to connect to Heat API from public network Defaults to '8003'

ks_heat_public_port

(optional) TCP port to connect to Heat API from public network Defaults to '8004'

ks_keystone_admin_port

(optional) TCP port to connect to Keystone Admin API from public network Defaults to '35357'

ks_keystone_public_port

(optional) TCP port to connect to Keystone API from public network Defaults to '5000'

ks_metadata_public_port

(optional) TCP port to connect to Keystone metadata API from public network Defaults to '8775'

ks_swift_public_port

(optional) TCP port to connect to Swift API from public network Defaults to '8080'

ks_trove_public_port

(optional) TCP port to connect to Trove API from public network Defaults to '8779'

ks_nova_public_port

(optional) TCP port to connect to Nova API from public network Defaults to '8774'

ks_neutron_public_port

(optional) TCP port to connect to Neutron API from public network Defaults to '9696'

horizon_port

(optional) Port used to connect to OpenStack Dashboard Defaults to '80'

horizon_ssl_port

(optional) Port used to connect to OpenStack Dashboard using SSL Defaults to '443'

spice_port

(optional) TCP port to connect to Nova spicehtmlproxy service. Defaults to '6082'

novnc_port

(optional) TCP port to connect to Nova vncproxy service. Defaults to '6080'

rabbitmq_port

(optional) Port of RabbitMQ service. Defaults to '5672'

elasticsearch_port

(optional) Port of ElasticSearch service. Defaults to '9200'

kibana_port

(optional) Port of Kibana service. Defaults to '8300'

sensu_dashboard_port

(optional) Port of Sensu Dashboard service. Defaults to '3000'

sensu_api_port

(optional) Port of Sensu API service. Defaults to '4568'

redis_port

(optional) Port of redis service. Defaults to '6379'

galera_timeout

(optional) Timeout for galera connections Defaults to '90m'. Note: when changing this parameter you should also change the

*_db_idle_timeout for all services to be a little less
than this timeout.
galera_connections

(optional) An integer that specifies the maxconn for MySQL Defaults to '4096'

api_timeout

(optional) Timeout for API services connections Defaults to '90m'.

vip_public_ip

(optional) Array or string for public VIP Should be part of keepalived_public_ips Defaults to '127.0.0.2'

vip_internal_ip

(optional) Array or string for internal VIP Should be part of keepalived_internal_ips Defaults to false

vip_monitor_ip

(optional) Array or string for monitor VIP Defaults to false

galera_ip

(optional) An array of Galera IP Defaults to ['127.0.0.1']

galera_slave

(optional) A boolean to configure galera slave Defaults to false

firewall_settings

(optional) Allow to add custom parameters to firewall rules Should be an hash. Default to {}

Parameter Summary