apex-puppet-tripleo.git
9 years agoSSL/Cinder: enable ssl_header_handler filter
Juan Antonio Osorio Robles [Sat, 16 Jan 2016 10:07:59 +0000 (12:07 +0200)]
SSL/Cinder: enable ssl_header_handler filter

Enable oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory in
ssl_header_handler middlewarefilter so we can run Nova API with SSL
support.

Change-Id: If88dcdf9f4905e2a792b2fdc656eab51c85f637e

9 years agoEnable X-Forwarded-Proto header for cinder
Juan Antonio Osorio Robles [Wed, 13 Jan 2016 16:26:15 +0000 (18:26 +0200)]
Enable X-Forwarded-Proto header for cinder

Change-Id: I3bd836140537fc5b7e3fba600a712d6a9d6f1185

9 years agoMerge "Haproxy has non-working Horizon session persistence."
Jenkins [Thu, 7 Jan 2016 14:16:04 +0000 (14:16 +0000)]
Merge "Haproxy has non-working Horizon session persistence."

9 years agoMerge "Upgrade all packages after puppet managed ones"
Jenkins [Thu, 7 Jan 2016 14:15:51 +0000 (14:15 +0000)]
Merge "Upgrade all packages after puppet managed ones"

9 years agoMerge "loadbalancer: fix MySQL timeout HAproxy config"
Jenkins [Wed, 6 Jan 2016 12:37:20 +0000 (12:37 +0000)]
Merge "loadbalancer: fix MySQL timeout HAproxy config"

9 years agoMerge "Trove integration"
Jenkins [Tue, 5 Jan 2016 17:23:31 +0000 (17:23 +0000)]
Merge "Trove integration"

9 years agoMerge "Sahara integration"
Jenkins [Tue, 5 Jan 2016 17:21:35 +0000 (17:21 +0000)]
Merge "Sahara integration"

9 years agoMerge "Enable X-Forwarded-Proto header for Heat and Nova"
Jenkins [Tue, 5 Jan 2016 16:54:22 +0000 (16:54 +0000)]
Merge "Enable X-Forwarded-Proto header for Heat and Nova"

9 years agoMerge "Enable X-Forwarded-Proto header for keystone_public"
Jenkins [Tue, 5 Jan 2016 16:43:11 +0000 (16:43 +0000)]
Merge "Enable X-Forwarded-Proto header for keystone_public"

9 years agoHaproxy has non-working Horizon session persistence.
Sofer Athlan-Guyot [Wed, 16 Dec 2015 13:07:02 +0000 (14:07 +0100)]
Haproxy has non-working Horizon session persistence.

Haproxy is using session persistence[1] for horizon.  It is not
correctly configured though.  The cookie is not properly set.  This add
the necessary code.

[1]: http://blog.haproxy.com/2012/03/29/load-balancing-affinity-persistence-sticky-sessions-what-you-need-to-know/

Change-Id: Ic9d79475cf84c25fb8146ecbc5f0a45862c106f0
Closes-Bug: 1526786

9 years agoTrove integration
Ethan Gafford [Thu, 1 Oct 2015 23:28:47 +0000 (19:28 -0400)]
Trove integration

Adds configuration for Trove to loadbalancer class.

Partially-implements: blueprint trove-integration
Change-Id: I3cdf43b6d63ad0ee68db047518743c62b6689f56

9 years agoSahara integration
Ethan Gafford [Fri, 4 Sep 2015 21:27:18 +0000 (17:27 -0400)]
Sahara integration

Adds configuration for Sahara to loadbalancer class.

Change-Id: I0f0a1dc2eaa57d8226bad8cfb250110296ab9614
Partially-implements: blueprint sahara-integration

9 years agoUpgrade all packages after puppet managed ones
Dan Prince [Wed, 23 Dec 2015 15:20:44 +0000 (10:20 -0500)]
Upgrade all packages after puppet managed ones

This updates tripleo::packages so that when enable_upgrade
is used it will:

 1) upgrade puppet managed packages (will trigger puppet dependencies)
 2) then upgrade all packages via exec
 3) then restart services

NOTE: the intention here is that the Exec['update-packages'] will
always execute if enable_upgrade is set. It is not idempotent
in this regard because I think we always want to execute it
if enable_upgrade is set.

Change-Id: I02f7cf07792765359f19fdf357024d9e48690e42
Related-bug: #1522943

9 years agoMerge "Adds IPv6 support for interface_for_ip function"
Jenkins [Tue, 22 Dec 2015 18:50:28 +0000 (18:50 +0000)]
Merge "Adds IPv6 support for interface_for_ip function"

9 years agoEnable X-Forwarded-Proto header for Heat and Nova
Juan Antonio Osorio Robles [Wed, 16 Dec 2015 16:56:29 +0000 (18:56 +0200)]
Enable X-Forwarded-Proto header for Heat and Nova

Change-Id: Icd666d9988d14ac1e9581f55589bf95243cc7641

9 years agoMerge "Allows customization of the HAProxy default timeouts"
Jenkins [Thu, 17 Dec 2015 10:20:03 +0000 (10:20 +0000)]
Merge "Allows customization of the HAProxy default timeouts"

9 years agoAdds IPv6 support for interface_for_ip function
Gilles Dubreuil [Mon, 16 Nov 2015 05:55:28 +0000 (16:55 +1100)]
Adds IPv6 support for interface_for_ip function

Proper interface matching when an IPv6 address is provided.

If Facter version used is < 3 then it adds the netmask6 facts as custom facts.

Fix bugs https://bugzilla.redhat.com/show_bug.cgi?id=1280523

Change-Id: Ide26ca1740dc12ea5f47a28f4cecacd6ef0b18f9

9 years agoModify cassandra dependency
Jaume Devesa [Mon, 30 Nov 2015 11:53:55 +0000 (12:53 +0100)]
Modify cassandra dependency

Switch to locp/cassandra module since it has much more options than
midonet/puppet-cassandra and it is already defined on the
openstack-puppet-modules packages in RHEL. More info:

https://bugzilla.redhat.com/show_bug.cgi?id=1285718

Depends-On: I72f21036fda795b54312a7d39f04c30bbf16c41b
Change-Id: Icea9bd96e4c80a26b9e813d383f84099c736d7bf

9 years agoAdding psych on Gemfile explicitly
Jaume Devesa [Mon, 14 Dec 2015 11:49:31 +0000 (12:49 +0100)]
Adding psych on Gemfile explicitly

It seems like bundle has a bug[1] that, somehow, it unloads the psych
library unless is installed through bundle itself. It will be fixed on
bundle 1.2.

[1]: http://github.com/bundler/bundler/issues/2068

Change-Id: Ic2fa8a8f114c3183a656bfdb1bc2d6d6413dbb75

9 years agoMerge "Remove all 'validate_array' statements"
Jenkins [Sat, 12 Dec 2015 10:19:59 +0000 (10:19 +0000)]
Merge "Remove all 'validate_array' statements"

9 years agoAdding MidoNet LoadBalancing options
Jaume Devesa [Thu, 26 Nov 2015 17:25:22 +0000 (18:25 +0100)]
Adding MidoNet LoadBalancing options

MidoNet API needs to be loadbalanced if the midonet environment is
activated.

Change-Id: I6f1ac659297b8cf6671e11ad23284f8f543568b0

9 years agoRemove all 'validate_array' statements
Jaume Devesa [Fri, 27 Nov 2015 11:44:05 +0000 (12:44 +0100)]
Remove all 'validate_array' statements

Unfortunately, some distributions like CentOS 7 (I guess RedHat 7 as
well) still using puppet < 3.7, which experience the annoying 'PUP-1299'
bug:

https://tickets.puppetlabs.com/browse/PUP-1299

So passing a single array element, it magically transforms to a string
(or whatever the inside elements are) and the validate_array fails. We
need to get rid of these validations.

Change-Id: Icc22ee575b7c236d1a6358f8593cf813d339a4b5

9 years agoMerge "loadbalancer: add Aodh API support"
Jenkins [Thu, 10 Dec 2015 16:06:26 +0000 (16:06 +0000)]
Merge "loadbalancer: add Aodh API support"

9 years agoAllows customization of the HAProxy default timeouts
Giulio Fidente [Thu, 10 Dec 2015 13:19:40 +0000 (14:19 +0100)]
Allows customization of the HAProxy default timeouts

Change-Id: I3fdb705bbac26b4bc43a18131407a0a86d36a8a5

9 years agoEnable X-Forwarded-Proto header for keystone_public
Juan Antonio Osorio Robles [Tue, 8 Dec 2015 14:08:22 +0000 (16:08 +0200)]
Enable X-Forwarded-Proto header for keystone_public

One of the ways to make use of TLS in keystone is through the usage of
the X-Fowarded-Proto header, which will be forwarded with the request
by the loadbalancer, and it will tell keystone what protocol was used
to access it. This also requires configuration from the keystone side.

Change-Id: I9b899ba95e28b7dfae0c1ed84ca8431054673925

9 years agoMerge "Fix unit tests failing against Puppet 4.3.x"
Jenkins [Tue, 8 Dec 2015 15:38:03 +0000 (15:38 +0000)]
Merge "Fix unit tests failing against Puppet 4.3.x"

9 years agoFix unit tests failing against Puppet 4.3.x
Gael Chamoulaud [Tue, 8 Dec 2015 13:51:20 +0000 (14:51 +0100)]
Fix unit tests failing against Puppet 4.3.x

Change-Id: Ie2f3e29005570805fbf2ca75a930fab746f5f299
Related-bug: #1517805
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
9 years agoRemove `validate_ip_address` validator.
Jaume Devesa [Tue, 1 Dec 2015 10:26:11 +0000 (11:26 +0100)]
Remove `validate_ip_address` validator.

It is already merged on the puppetlabs-stdlib module:

https://github.com/puppetlabs/puppetlabs-stdlib/commit/88a9a314c3e9cccbea5add95081655f2c14ec4c1

And we don't need to carry with this validation anymore.

Change-Id: I2cee12e7601c546e616e2c249157e7739af29490

9 years agoMerge "Fix unit tests failing against Puppet 4.3.0"
Jenkins [Mon, 30 Nov 2015 20:22:21 +0000 (20:22 +0000)]
Merge "Fix unit tests failing against Puppet 4.3.0"

9 years agoMerge "MidoNet services manifests"
Jenkins [Thu, 26 Nov 2015 10:07:39 +0000 (10:07 +0000)]
Merge "MidoNet services manifests"

9 years agoMerge "Set tunnel timeout for nova_novncproxy"
Jenkins [Wed, 25 Nov 2015 17:18:34 +0000 (17:18 +0000)]
Merge "Set tunnel timeout for nova_novncproxy"

9 years agoFix unit tests failing against Puppet 4.3.0
Gael Chamoulaud [Wed, 25 Nov 2015 12:55:04 +0000 (13:55 +0100)]
Fix unit tests failing against Puppet 4.3.0

Change-Id: I10c0d35b473026a5e1ede265099f73c803402adc
Related-bug: #1517805
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
9 years agoloadbalancer: add Aodh API support
Emilien Macchi [Tue, 3 Nov 2015 22:43:01 +0000 (17:43 -0500)]
loadbalancer: add Aodh API support

Add Aodh (Ceilometer Alarming) support in TripleO Loadbalancer config.

Change-Id: I891985da9248a88c6ce2df1dd186881f582605ee

9 years agoMidoNet services manifests
Jaume Devesa [Tue, 10 Nov 2015 20:13:43 +0000 (21:13 +0100)]
MidoNet services manifests

Provide TripleO overcloud manifests to deploy MidoNet and the cluster
services that needs to run.

Change-Id: I24f852e74fc4652d4609e1a71897e813448055fe

9 years agoRemove class_parameter_defaults puppet-lint check
Gael Chamoulaud [Thu, 12 Nov 2015 11:51:11 +0000 (12:51 +0100)]
Remove class_parameter_defaults puppet-lint check

Change-Id: I9c6fafa4b7b57cc0941040e899bcdd2e89fc9d58
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
9 years agoResolve repeated ports for ssl frontends (nova vnc and swift proxy)
Juan Antonio Osorio Robles [Thu, 22 Oct 2015 11:29:41 +0000 (14:29 +0300)]
Resolve repeated ports for ssl frontends (nova vnc and swift proxy)

Nova vnc and swift proxy were listening on the same port if SSL is
enabled in the load balancer

Change-Id: Ibf4aa118d6c8e94f8f2a68bf270d5445ebda7593

9 years agoMerge "Resolve repeated ports for ssl frontends"
Jenkins [Thu, 22 Oct 2015 11:24:47 +0000 (11:24 +0000)]
Merge "Resolve repeated ports for ssl frontends"

9 years agoResolve repeated ports for ssl frontends
Juan Antonio Osorio Robles [Wed, 21 Oct 2015 10:28:35 +0000 (13:28 +0300)]
Resolve repeated ports for ssl frontends

keystone and heat_cfn were listening on the same port if SSL is enabled
inm the load balancer.

Change-Id: I099119198ebf3322a783581f0c6758417e705a2e

9 years agoSet tunnel timeout for nova_novncproxy
Javier Pena [Fri, 9 Oct 2015 10:01:57 +0000 (12:01 +0200)]
Set tunnel timeout for nova_novncproxy

When using websockets in HAProxy, like nova_novncproxy does, we
need to set "timeout tunnel" to avoid disconnections after a short
period without traffic.

Change-Id: I1b66cd9a1d20cbbe35a2ada5782a76a01b14bcd1
Closes-BZ: 1267043

9 years agoloadbalancer: fix MySQL timeout HAproxy config
Emilien Macchi [Mon, 14 Sep 2015 16:56:41 +0000 (12:56 -0400)]
loadbalancer: fix MySQL timeout HAproxy config

Current HAproxy config is broken for MySQL timeout parameters.
This is what we have today by default in HAproxy logs:
--------------
[WARNING] 238/115010 (13878) : config : missing timeouts for proxy
'mysql'.
| While not properly invalid, you will certainly encounter various
problems
| with such a configuration. To fix this, please ensure that all
following
| timeouts are set to a non-zero value: 'client', 'connect', 'server'.
--------------

This patch aims to:
* Use the correct parameters to configure puppetlabs-haproxy
* Update the database timeouts to higher values to prevent the
services from disconnecting too frequently by setting the Galera HAProxy
timeout to 90 minutes.

Change-Id: I06dd4bf81d4f4fd3c01bb681f6f0b3152f2b8eea

9 years agoMerge "Automatically install packages when upgrading"
Jenkins [Thu, 1 Oct 2015 14:38:00 +0000 (14:38 +0000)]
Merge "Automatically install packages when upgrading"

9 years agoFix manila conditional statement
Gael Chamoulaud [Tue, 29 Sep 2015 10:49:25 +0000 (12:49 +0200)]
Fix manila conditional statement

- s/manila/$manila

Change-Id: I7aaa8f83fe758484ab39af28c914fa3d78464633
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
9 years agoAutomatically install packages when upgrading
Dan Prince [Mon, 28 Sep 2015 16:28:08 +0000 (12:28 -0400)]
Automatically install packages when upgrading

This simplifies use of tripleo::packages so that when
enable_upgrade is set to true you no longer have to enable_install
as well.

Change-Id: Ic3050a64530be9e2b6827ed8566f59d28547ae81

9 years agoMerge "Allow a user to specify the syslog address for HAProxy"
Jenkins [Tue, 15 Sep 2015 08:08:15 +0000 (08:08 +0000)]
Merge "Allow a user to specify the syslog address for HAProxy"

9 years agoloadbalancer: use http mode for Horizon haproxy config
Emilien Macchi [Fri, 28 Aug 2015 16:29:11 +0000 (12:29 -0400)]
loadbalancer: use http mode for Horizon haproxy config

The haproxy configuration for horizon does not have 'mode http' set.
This proxy needs to be in http mode since it is using a cookie for
persistence. The default section has 'mode tcp', which is fine, but
horizon proxy needs to override this setting to get http mode. Without
this, you will likely see an error like this:

[WARNING] 238/115010 (13878) : config : cookie will be ignored for proxy
'horizon' (needs 'mode http').'

Closes BZ-1257687

Change-Id: I397986ea022f47a33a5210696752509f4a2731a5

9 years agoMerge "Initial msync run for all Puppet OpenStack modules"
Jenkins [Fri, 11 Sep 2015 15:03:21 +0000 (15:03 +0000)]
Merge "Initial msync run for all Puppet OpenStack modules"

9 years agoAllow a user to specify the syslog address for HAProxy
Yanis Guenane [Fri, 11 Sep 2015 13:06:08 +0000 (15:06 +0200)]
Allow a user to specify the syslog address for HAProxy

Currently the address of the syslog server for HAProxy is hardcoded to
/dev/log without a way to customize this setting.

This commit aims to give a user more flexibility about which syslog
server address to use.

Change-Id: If7f7c8154e544e5d8a49f79f642e1ad01644a66d

9 years agoMerge "Add package_manifest resource."
Jenkins [Fri, 11 Sep 2015 12:33:56 +0000 (12:33 +0000)]
Merge "Add package_manifest resource."

9 years agoloadbalancer: use 'source' for novnc balance mode
Emilien Macchi [Tue, 1 Sep 2015 21:30:41 +0000 (17:30 -0400)]
loadbalancer: use 'source' for novnc balance mode

When establishing a connection from the client (Web Browser) to the
novncproxy (loadbalanced by HAproxy), we need to make sure the client
will stick on the same server the time he's connected, because HAproxy
load-balance to another novncproxy node, the client will loose the
connection and timeout like 'Connection Reset By Peer error'.

This patch aims to configure novnc HAproxy configuration to balance
using 'source' mode, so it will make sure the server remains the same
while the connection is established.

Change-Id: Ibbb7162b763f1fd2854a10a92a681910e0683c0a
Closes-BZ: 1257324

9 years agoAdd package_manifest resource.
Dan Prince [Mon, 20 Jul 2015 20:18:52 +0000 (16:18 -0400)]
Add package_manifest resource.

This patch converts the write_package_names function into
a proper resource. Using the write_package_names only works
if the function comes last in the puppet manifest. By
making the same functionality a custom resource we allow
for it to exist anywhere in the manifest and provide the
same functionality.

 The new syntax would be:

 package_manifest{'/tmp/foo': ensure => present}

Co-Authored-By: Martin Mágr <mmagr@redhat.com>
Change-Id: If3e03b1983fed47082fac8ce63f975557dbc503c

9 years agoInitial msync run for all Puppet OpenStack modules
Cody Herriges [Tue, 4 Aug 2015 18:53:56 +0000 (11:53 -0700)]
Initial msync run for all Puppet OpenStack modules

This patch is the initial modulesync run, it impacts:

* gitignore: just a sync between projects
* gemfile:
  - update and allow to setup facter version and gem source
  - split beaker gems with a dedicated group
  - switch to rspec-puppet 2.2.0
* rakefile:
  - use the new syntax for lint configuration
  - add a acceptance target
* acceptance:
  - sync nodesets
  - update tests in order to use zuul-cloner
* spec: added rspec coverage report

Change-Id: Iadefbe2cc0525224e9917c6712712c67ce1e0fff

9 years agoRemove httpchk option from haproxy listeners
Giulio Fidente [Thu, 2 Jul 2015 09:31:18 +0000 (11:31 +0200)]
Remove httpchk option from haproxy listeners

To make sure we don't use the ssl-hello-chk option set by the
puppet-haproxy module we used to redefine the listener options
for all listeners.

With this change a default for the options hash is provided to
the puppet class instead.

This change also configures use of tcpka only where wanted, as
documented by [1], removing it from the haproxy defaults section,
given it wasn't used anyway by the other listeners which were
indeed overriding options.

1. https://github.com/beekhof/osp-ha-deploy/blob/master/pcmk/lb.scenario

Change-Id: Ic8deb77533f561cea7ce7db1d20f6be5e2dc0d33

9 years agoEnable Manila Service
Ryan Hefner [Tue, 21 Jul 2015 01:52:17 +0000 (21:52 -0400)]
Enable Manila Service

Adds bindings to the Manila service for HAProxy.

Change-Id: I175d5b7e35a781d04452fc6aee610e8dca005419

9 years agoFix HAProxy config for Nova EC2 API
Jiri Stransky [Mon, 27 Jul 2015 12:58:26 +0000 (14:58 +0200)]
Fix HAProxy config for Nova EC2 API

EC2 API returns 400 for unauthenticated requests, making HAProxy believe
that the service is down. We'll use TCP check instead of HTTP check for
EC2 API.

Change-Id: Ide7f9390603c9893b95cacd51d468461255dcf07

9 years agoMerge "Implement firewalling in tripleo::firewall"
Jenkins [Thu, 23 Jul 2015 18:37:25 +0000 (18:37 +0000)]
Merge "Implement firewalling in tripleo::firewall"

9 years agoListener options for Ironic/ceilometer/glance_registry
James Slagle [Sat, 18 Jul 2015 00:00:52 +0000 (20:00 -0400)]
Listener options for Ironic/ceilometer/glance_registry

This updates some of the listener options set by loadbalancer.pp.

Iroinc needs to pass in the option to do a httpchk, otherwise
puppet-haproxy defaults it to doing a ssl-hello-chk, which won't work
against the non-ssl loadbalancer server.

Ceilometer and glance_registry both don't support a httpchk against the
root (/) of their webservers (they return a straight 401) so disable
those checks completely.

Change-Id: Ibfc81175842a748eb077b132b0818c4ea17bbcf6

9 years agoAdd param to configure HAProxy default maxconn (per frontend)
Giulio Fidente [Thu, 16 Jul 2015 12:11:18 +0000 (14:11 +0200)]
Add param to configure HAProxy default maxconn (per frontend)

The default per frontend maxconn is set to 2000, which can easily
be reached with modern hardware with multiple logic cores; this
change adds a parameter to configure the default maxconn value,
default it to 4096 and also increases the global maxconn to 20480
to preserve the 1:5 ratio.

Change-Id: I3fffc51ecc704ceccb86ca008ecba02578c29eb5

9 years agoImplement firewalling in tripleo::firewall
Yanis Guenane [Wed, 15 Jul 2015 09:58:46 +0000 (11:58 +0200)]
Implement firewalling in tripleo::firewall

Currently firewalling is implemented in tripleo/init.pp this commit
moves it to its own scope tripleo/firewall.pp.

This is done so that in tripleo-heat-templates we can have a simple and
generic `include tripleo::firewall` in every manifest - unconditional.
The rest of the behavior will all be managed by hiera.

If a user wants to enable firewalling:

```
tripleo::firewall::manage_firewall: true
```

If a user wants to specify firewall rules:

```
tripleo::firewall::firewall_rules:
  '103 mongod':
    port: 27017
```

Change-Id: I144c60db2a568a94dce5b51257f1d10980173325

9 years agoMerge "Add missing options to Ceilometer/Ironic/Horizon"
Jenkins [Tue, 14 Jul 2015 17:10:30 +0000 (17:10 +0000)]
Merge "Add missing options to Ceilometer/Ironic/Horizon"

9 years agoMerge "Remove mode tcp enforcement where unneeded, we default to mode tcp"
Jenkins [Tue, 14 Jul 2015 16:59:22 +0000 (16:59 +0000)]
Merge "Remove mode tcp enforcement where unneeded, we default to mode tcp"

9 years agoMerge "Implement Advanced Firewalling support"
Jenkins [Fri, 10 Jul 2015 18:48:13 +0000 (18:48 +0000)]
Merge "Implement Advanced Firewalling support"

9 years agoMerge "Add a function to write package names"
Jenkins [Fri, 10 Jul 2015 13:16:44 +0000 (13:16 +0000)]
Merge "Add a function to write package names"

9 years agoAdd missing options to Ceilometer/Ironic/Horizon
Giulio Fidente [Wed, 8 Jul 2015 11:33:43 +0000 (13:33 +0200)]
Add missing options to Ceilometer/Ironic/Horizon

Backend options for Ceilometer and Ironic are aligned with what we
use for the other OpenStack services.

Listener options for Horizon is updated so that we do cookie
tracking as suggested by refarch doc.

Change-Id: I4640d974a3ab8188919eaae79dde71463234b5ff

9 years agoMerge "Add class to set noop on various puppet resources"
Jenkins [Thu, 9 Jul 2015 15:01:29 +0000 (15:01 +0000)]
Merge "Add class to set noop on various puppet resources"

9 years agoMerge "Add tripleo::packages"
Jenkins [Wed, 8 Jul 2015 13:01:06 +0000 (13:01 +0000)]
Merge "Add tripleo::packages"

9 years agoRemove mode tcp enforcement where unneeded, we default to mode tcp
Giulio Fidente [Wed, 8 Jul 2015 11:27:13 +0000 (13:27 +0200)]
Remove mode tcp enforcement where unneeded, we default to mode tcp

Change-Id: Ic0ae6b743a732ccd2cf7e395b5ab172bf3daaf7d

9 years agoMerge "Fix Heat 302 redirects"
Jenkins [Wed, 8 Jul 2015 11:27:11 +0000 (11:27 +0000)]
Merge "Fix Heat 302 redirects"

9 years agoMerge "Remove database code from puppet-tripleo"
Jenkins [Sun, 5 Jul 2015 19:16:09 +0000 (19:16 +0000)]
Merge "Remove database code from puppet-tripleo"

9 years agoAdd class to set noop on various puppet resources
Dan Prince [Fri, 3 Jul 2015 21:01:07 +0000 (17:01 -0400)]
Add class to set noop on various puppet resources

This patch adds a new tripleo::noop class that can be
used to help switch all resources of a given type
to noop mode. The class does this via Puppet resource
collectors to enable the noop metaparam on all resources
of the specified type.

When a resource is in noop mode no action
will get taken (however puppet stdout will log information
about what would happen if noop were removed).

The motivation for this patch is to be able to do something
like this and run puppet to configure select resources
(like only config files):

 class {'tripleo::noop':
   file => false
 }

It is important to note that when tripleo::noop is used all common
resources default to noop mode.

This could be used alongside docker containers to provide
a mechanism to pre-configure all related config files for
a set of docker containers ahead of time.

Change-Id: I67f9dbbf33a2d6bcee5005ae0b6b1aa7091039ad

9 years agoFix Heat 302 redirects
Ben Nemec [Mon, 29 Jun 2015 22:27:00 +0000 (22:27 +0000)]
Fix Heat 302 redirects

When doing a heat stack-show, Heat initially returns a 302 redirect.
With the existing loadbalancer config for SSL, this results in a
redirect to an http:// address pointing at the SSL port, which
naturally doesn't work.

The fix for this is to use the rsprep haproxy option to rewrite the
Location header in responses from the Heat api server.  This allows
us to properly handle redirect traffic as https.

Also note that http header rewriting requires "mode http", so that
is added here as well.

Change-Id: I7e5c5b1877e9aa46c4b88dfba45c1fddf61727fc

9 years agoEnable support for loadbalancing Ironic
Ben Nemec [Wed, 24 Jun 2015 22:44:19 +0000 (22:44 +0000)]
Enable support for loadbalancing Ironic

Just like any other OpenStack API endpoint.

Change-Id: Iaa45d7bef94c3c42df0988a58f146bb8a530f74e

9 years agoAdd a function to write package names
Dan Prince [Mon, 22 Jun 2015 20:12:15 +0000 (16:12 -0400)]
Add a function to write package names

This function writes out package names that have been
defined in a given puppet catalog.

In order to work this should be place last (or very late)
in a manifest to ensure it picks up packages.

Change-Id: Ie21b5bf7df71337da02ea43915dc4e70d3052bb7

9 years agoAdd tripleo::packages
Dan Prince [Fri, 19 Jun 2015 01:44:27 +0000 (21:44 -0400)]
Add tripleo::packages

This adds a new class to help configure package installation
and upgrades.

The previous approach was to use a global package declaration
at the top of each manifest within the tripleo-heat-templates.

The new approach is to use a Package collector (<| |>) to
allow us to configure the package provider within a
class. This should help remove some of the duplicated logic
within the triplo-heat-template manifests and is
also a good fit for puppet-tripleo in that is generic
and unlikely to change that often.

In addition to installation this class also support upgrades
to puppet managed packages as well.

Change-Id: Ie8fbc344149bc8c9977e127de77636903607617a

9 years agoMerge "Introduce param to enable use of clustercheck"
Jenkins [Thu, 25 Jun 2015 16:06:08 +0000 (16:06 +0000)]
Merge "Introduce param to enable use of clustercheck"

9 years agoMerge "Use mode tcp for glance-registry balancing"
Jenkins [Thu, 25 Jun 2015 09:01:19 +0000 (09:01 +0000)]
Merge "Use mode tcp for glance-registry balancing"

9 years agoUse mode tcp for glance-registry balancing
Giulio Fidente [Thu, 25 Jun 2015 01:22:15 +0000 (03:22 +0200)]
Use mode tcp for glance-registry balancing

The glance-registry service is returning 401 to httpchk, which
makes haproxy think it is down. This change switches the check
mode to tcp.

Closes-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1234637
Closes-Bug: 1468566

Change-Id: Icdd80aa9cd56e5afd3707eb7fa38aaedb8535af6

9 years agoIntroduce param to enable use of clustercheck
Giulio Fidente [Wed, 24 Jun 2015 06:55:21 +0000 (08:55 +0200)]
Introduce param to enable use of clustercheck

In the pacemaker scenario we want to use the clustercheck script
to evict galera nodes which are out of sync. This change adds a
parameter meant to enable use of clustercheck for the mysql service.

Change-Id: I7199c7e5d759a76f58c0f48b40e9d460a3163886
Closes-Bug: 1456701

9 years agoRemove control over the galera_master_node
Giulio Fidente [Tue, 23 Jun 2015 12:21:53 +0000 (14:21 +0200)]
Remove control over the galera_master_node

We do not want to give users control over the galera_master_node,
this should be gathered using the clustercheck script instead.

Depends-On: I56ebd2d8405ac35c707666d993b396f04aeb683e
Change-Id: Ib6a36e9283b73133251fb9ff3f33e71c50edb3db
Closes-Bug: 1467918
Closes-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1234817

9 years agoMerge "Configure fencing devices"
Jenkins [Wed, 17 Jun 2015 10:54:15 +0000 (10:54 +0000)]
Merge "Configure fencing devices"

9 years agoUpdate .gitreview file for project rename
Jeremy Stanley [Fri, 12 Jun 2015 22:41:20 +0000 (22:41 +0000)]
Update .gitreview file for project rename

Change-Id: I682bac7726393da66b8da9c17fa638f02d4b0a1b

9 years agoImplement Advanced Firewalling support
Emilien Macchi [Mon, 8 Jun 2015 21:45:58 +0000 (17:45 -0400)]
Implement Advanced Firewalling support

* Provide a Define function which will allow to manage IPtables rules.
* Manage rules in 'pre' and 'post' Puppet stages, it allows to create
  rules before and after regular Puppet stages (ie: to make sure no rule
  exists *before* and everything is blocked *after* regular Puppet
  stages)

Change-Id: I84fc79096f6fc3db76a61d012d8cb62dd12bdd89

9 years agoConfigure fencing devices
Jiri Stransky [Thu, 4 Jun 2015 14:07:48 +0000 (16:07 +0200)]
Configure fencing devices

Adds a class to configure fence devices and a helper function which
helps to select the devices for configuration on appropriate nodes.

Depends on patches outside OpenStack's Gerrit:
https://github.com/redhat-openstack/puppet-pacemaker/pull/50
https://github.com/redhat-openstack/puppet-pacemaker/pull/52

Change-Id: I819fc8c126ec47cd207c59b3dcf92ff699649c5a

9 years agoConfigure virtual IPs for split out networks
Dan Prince [Thu, 28 May 2015 02:29:39 +0000 (22:29 -0400)]
Configure virtual IPs for split out networks

This patch optionally creates new virtual IPs for
the storage, storage_mgmt, and internal_api
networks if ip addresses are provided.

Additionally the HAproxy configuration is updated
to use hiera lookups to obtain virtual IPs for
alternate networks. By default the ctlplane
VIP is still used.

Change-Id: I20483574920a1da689374b0eb1b39b0391c3d243

9 years agoAdd interface_for_ip function
Dan Prince [Fri, 29 May 2015 14:27:01 +0000 (10:27 -0400)]
Add interface_for_ip function

This patch adds a custom Puppet function called interface_for_ip
This function will be used within the TripleO puppet implementation
to help obtain the correct interface for a given IP address.

Change-Id: I0979f69a49052fda888277fa64ebeadc038bc778

9 years agoUse node IP lists for HA Proxy ipaddresses
Dan Prince [Thu, 28 May 2015 19:35:27 +0000 (15:35 -0400)]
Use node IP lists for HA Proxy ipaddresses

This patch updates the loadbalancer class so that it
defaults to trying to use the node IP list for each
respective service. This data is provided via Hiera
directly (all-nodes-config provides it via the Heat
templates).

By default the ctlplane IP address list is still used
if no service node IP list is provided.

Change-Id: I34cbdf8bd525e6ab61859fe8b8c18fe613dabbfe

9 years agoDrop nova_meta and glance_registry on public vip
Dan Prince [Tue, 2 Jun 2015 13:40:31 +0000 (09:40 -0400)]
Drop nova_meta and glance_registry on public vip

This patch removes the public VIP for the nova metadata
and glance registry services.

Change-Id: I0878f7b3eeed6e16c5d30bdf76ebca56eb49d042

9 years agoAllow use of ssl for public api endpoints
Ben Nemec [Tue, 21 Apr 2015 15:55:09 +0000 (15:55 +0000)]
Allow use of ssl for public api endpoints

There are two methods included: Setting $service_certificate will
enable SSL for all public endpoints with the same cert file, while
service-specific certificate settings allow using a cert file for
just one service.

Change-Id: I6f87ed2ebbea08ff1a0dff981559c8f4fc8b67cc

9 years agoIncrease global maxconn to 10000 and remove per-instance limit
Giulio Fidente [Thu, 14 May 2015 13:37:19 +0000 (15:37 +0200)]
Increase global maxconn to 10000 and remove per-instance limit

The per-instance limit to 150 can easily be reached for the
database when OpenStack services are running on hosts with many
CPUs. The global maxconn is increased as per astapor. See [1].

1. https://bugzilla.redhat.com/show_bug.cgi?id=1218322

Change-Id: Ia9258372ca4f707929f11097193a91c138069725

9 years agoRemove database code from puppet-tripleo
Yanis Guenane [Wed, 13 May 2015 18:55:51 +0000 (20:55 +0200)]
Remove database code from puppet-tripleo

The Galera code has been merged upstream directly into
tripleo-heat-templates[1], since this code is not used we can remove it.

[1] https://review.openstack.org/#/c/177765/

Change-Id: I536cf9b561b93ff26d03183331b6a527ab851286

10 years agoAdd support for haproxy_service_manage
Giulio Fidente [Wed, 6 May 2015 11:00:51 +0000 (13:00 +0200)]
Add support for haproxy_service_manage

We want to let the caller decide upon having the haproxy
service started and enabled or not on boot.

Change-Id: I24a9fd2245a974120892a8887c8b58647c65cba9

10 years agoMerge "Make setup of keepalived optional via manage_vip parameter"
Jenkins [Tue, 28 Apr 2015 11:40:52 +0000 (11:40 +0000)]
Merge "Make setup of keepalived optional via manage_vip parameter"

10 years agoMerge "Bump rspec-puppet to 2.1.0"
Jenkins [Thu, 23 Apr 2015 18:23:19 +0000 (18:23 +0000)]
Merge "Bump rspec-puppet to 2.1.0"

10 years agoBump rspec-puppet to 2.1.0
Emilien Macchi [Thu, 23 Apr 2015 03:58:03 +0000 (23:58 -0400)]
Bump rspec-puppet to 2.1.0

rspec-puppet 2.1.0 includes Puppet 4.0 support [1].

[1] https://github.com/rodjek/rspec-puppet/commits/v2.1.0

Change-Id: I101785506c7f450c3a6146eee1e76ead28933e7a

10 years agoMerge "Enable access to HAProxy stats page"
Jenkins [Mon, 20 Apr 2015 15:52:15 +0000 (15:52 +0000)]
Merge "Enable access to HAProxy stats page"

10 years agoMerge "Add $::galera_bootstrapped fact"
Jenkins [Mon, 20 Apr 2015 15:50:57 +0000 (15:50 +0000)]
Merge "Add $::galera_bootstrapped fact"

10 years agoMerge "Do not make RabbitMQ listen on public vip"
Jenkins [Mon, 20 Apr 2015 15:43:39 +0000 (15:43 +0000)]
Merge "Do not make RabbitMQ listen on public vip"

10 years agoMerge "Loadbalancer: Add support for Redis"
Jenkins [Thu, 16 Apr 2015 21:02:56 +0000 (21:02 +0000)]
Merge "Loadbalancer: Add support for Redis"

10 years agoDo not make RabbitMQ listen on public vip
Yanis Guenane [Thu, 16 Apr 2015 19:16:34 +0000 (21:16 +0200)]
Do not make RabbitMQ listen on public vip

Currently RabbitMQ is listening on both private vip and public vip.
There is no need for RabbitMQ to listen on the public vip, so we remove
it.

Change-Id: I82ea2e1e18b7710ae391ffe4903439a9330b1461

10 years agoLoadbalancer: Add support for Redis
Yanis Guenane [Tue, 7 Apr 2015 10:42:35 +0000 (12:42 +0200)]
Loadbalancer: Add support for Redis

Add support for Redis in the loadbalancer setup.
Redis loadbalancing system is particular as it does not provide
clustering capabilities yet, hence this pattern[1] will be applied.

[1] https://github.com/falsecz/haredis

Change-Id: I80a6c284af9eceb6b669a03c5d93256261523331

10 years agoMake setup of keepalived optional via manage_vip parameter
Giulio Fidente [Wed, 15 Apr 2015 09:56:24 +0000 (11:56 +0200)]
Make setup of keepalived optional via manage_vip parameter

Change-Id: I98b9b3dbc48009ce255d964ac580e1a31f279f1e