Juan Antonio Osorio Robles [Fri, 18 Mar 2016 08:30:55 +0000 (10:30 +0200)]
Redirect to https for horizon
This adds a TLS binding listening on the internal network for
horizon. And on the other hand, if the public binding for horizon is
accessed via non-https, it will redirect to https.
Change-Id: I1f92ecd0c4845450df4b24f6b621d313ba9cbfc4
Depends-On: I4943c6c74e0be96c1d7e190908b9262df05d059a
Ben Nemec [Wed, 9 Mar 2016 21:46:14 +0000 (21:46 +0000)]
Allow enabling authentication on haproxy.stats
Right now we always deploy the haproxy.stats endpoint with no
authentication, which is a security concern. Allow setting a
password on the endpoint so it isn't accessible to the world.
While this allows configuring SSL on the stats endpoint, it does
not use the service_certificate parameter because that certificate
is intended to be used only for public endpoints, and the stats
endpoint is actually on the admin VIP. Once we have support for
SSL on admin endpoints we can have stats use it by default.
Change-Id: I8a5844e89bd81a99d5101ab6bce7a8d79e069565
Jenkins [Wed, 9 Mar 2016 15:28:30 +0000 (15:28 +0000)]
Merge "Make OpenStack service ports configurable in HAProxy"
Juan Antonio Osorio Robles [Wed, 2 Mar 2016 13:54:16 +0000 (15:54 +0200)]
Make OpenStack service ports configurable in HAProxy
Some deployments were expecting specific ports for the OpenStack
services; In case the default ports are not meeting those needs, we
need to provide the means of changing the defaults.
Change-Id: Idbbcc90e2af1b3a731b0b5ea955df6082541a9f7
Jenkins [Thu, 3 Mar 2016 14:55:49 +0000 (14:55 +0000)]
Merge "loadbalancer: fix Redis timeout HAproxy config"
Juan Antonio Osorio Robles [Tue, 1 Mar 2016 07:34:16 +0000 (09:34 +0200)]
Always override X-Forwarded-Proto header for Heat
Heat has the ssl middleware to handle the X-Forwarded-Proto header by
default. We override this header when SSL is enabled because we need
to, but overriding it even when we won't be terminating SSL will
prevent some attacks using this header.
Change-Id: I0b2c61cd4f47c8c08a84402af310983af752d3f2
Jason Guiditta [Thu, 25 Feb 2016 15:27:26 +0000 (10:27 -0500)]
loadbalancer: fix Redis timeout HAproxy config
Current HAproxy config is broken for Redis timeout parameters. This is what we
have today by default in HAproxy logs:
[WARNING] 238/115010 (13878) : config : missing timeouts for proxy 'redis'.
| 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 removes the explicit setting of client and server timeouts to 0,
which is the cause of the above warning. Instead, Redis will simply inherit the
haproxy defaults, which should be a more reasonable setting, and result in no
warnings.
Change-Id: Ibe7941bec02f5facf21732910c9ad96f547ff8e5
Juan Antonio Osorio Robles [Mon, 22 Feb 2016 13:09:05 +0000 (15:09 +0200)]
Override X-Forwarded-Proto header
Right now, the only manipulation done to the X-Forwarded-Proto header
is done if an SSL connection is established. This is not sufficient as
one might be able to erroneously put values through that header.
This patch disables that behaviour by defaulting to plain http if an
SSL connection is not established.
Change-Id: I4bf6def21e21148834c2baa9669190bab8fa95ef
Jenkins [Thu, 18 Feb 2016 13:19:57 +0000 (13:19 +0000)]
Merge "packages: secure upgrade workflow from dependency cycles"
Jenkins [Wed, 17 Feb 2016 09:25:04 +0000 (09:25 +0000)]
Merge "Handle redirects for Horizon"
Jenkins [Thu, 11 Feb 2016 20:40:46 +0000 (20:40 +0000)]
Merge "Enable X-Forwarded-Proto header for keystone admin endpoint"
Ben Nemec [Fri, 15 Jan 2016 18:45:11 +0000 (18:45 +0000)]
Handle redirects for Horizon
As for Heat, we need to be able to handle 30X redirects from Horizon
when configured to use SSL. Because Horizon's redirects are
handled directly by Apache, we can't use middleware to handle the
X-Forwarded-Proto header like we are planning to do for the other
services. However, in this case we don't need to worry about
rewriting urls in the payload like we do for the other services
because Horizon is just serving standard web pages, not custom
HTTP bodies with JSON contents.
One other change from the previous Heat patch is to drop the IP
from the rewrite regex. This is because Horizon will generally be
accessed via a DNS name, so the IP won't appear in the Location
header. The heat regex should probably be changed as well since
we now support registering endpoints with DNS names, but since we
plan to move all the other services to the X-Forwarded-Proto header
middleware anyway we can probably just wait until that happens and
then remove the Heat rule entirely.
Change-Id: I039a3036be17eeabe3cff68e0ef24f70907cc568
Jenkins [Thu, 11 Feb 2016 12:51:05 +0000 (12:51 +0000)]
Merge "Use HAProxy 'transparent' bind option for compat with IPv6"
Jenkins [Thu, 11 Feb 2016 12:50:56 +0000 (12:50 +0000)]
Merge "Make haproxy balancer default options configurable"
Jenkins [Mon, 25 Jan 2016 15:14:32 +0000 (15:14 +0000)]
Merge "loadbalancer: add Gnocchi API support"
Jenkins [Mon, 25 Jan 2016 09:32:22 +0000 (09:32 +0000)]
Merge "SSL/Cinder: enable ssl_header_handler filter"
Emilien Macchi [Fri, 22 Jan 2016 13:48:45 +0000 (08:48 -0500)]
Drop webmock dependency
webmock is not used anywhere in puppet-tripleo, let's clean it.
Change-Id: Idd8646e69e31a63791a345765c459d094a23f813
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
Emilien Macchi [Sat, 16 Jan 2016 00:25:17 +0000 (19:25 -0500)]
packages: secure upgrade workflow from dependency cycles
Change the workflow to be:
Upgrade all packages before any services that is notified & managed by
Puppet.
It also disable the Exec timeout so we rely on Heat timeout and not on
the 300s that are the default in Puppet [1]
Example: we upgrade and OpenStack config will change (obviously).
Puppet catalog will contain 3 important things:
* config resources
* service resources
* package-upgrade Exec resource
with that patch, what will happen:
* puppet will update config first or second and notify
services
* puppet will run package-upgrade first or second but before
the package-upgrade Exec resource
* at the very end, puppet will restart services
That way, we avoid complications with Puppet dependency cycle issues.
[1] https://docs.puppetlabs.com/references/latest/type.html#exec-attribute-timeout
Closes-Bug:
1536349
Change-Id: I07310bdfc5b07b03ac9fa5f8c13e87eaa2bfef4d
Juan Antonio Osorio Robles [Thu, 14 Jan 2016 09:01:13 +0000 (11:01 +0200)]
Enable X-Forwarded-Proto header for keystone admin endpoint
This is useful for handling URLs properly when TLS is enabled.
Change-Id: I4defed679cf3b2980dcc4ce1db030c0fdf154bfe
Giulio Fidente [Fri, 8 Jan 2016 15:26:36 +0000 (16:26 +0100)]
Use HAProxy 'transparent' bind option for compat with IPv6
Change-Id: Iddf1fdaabc1c758546999e7af7e7412158400e7f
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
Giulio Fidente [Fri, 8 Jan 2016 15:07:35 +0000 (16:07 +0100)]
Make haproxy balancer default options configurable
Change-Id: Id5e119e0949d27a6e3b3f21ecd5e2eb39f1eeb13
Jenkins [Thu, 7 Jan 2016 14:16:04 +0000 (14:16 +0000)]
Merge "Haproxy has non-working Horizon session persistence."
Jenkins [Thu, 7 Jan 2016 14:15:51 +0000 (14:15 +0000)]
Merge "Upgrade all packages after puppet managed ones"
Jenkins [Wed, 6 Jan 2016 12:37:20 +0000 (12:37 +0000)]
Merge "loadbalancer: fix MySQL timeout HAproxy config"
Jenkins [Tue, 5 Jan 2016 17:23:31 +0000 (17:23 +0000)]
Merge "Trove integration"
Jenkins [Tue, 5 Jan 2016 17:21:35 +0000 (17:21 +0000)]
Merge "Sahara integration"
Jenkins [Tue, 5 Jan 2016 16:54:22 +0000 (16:54 +0000)]
Merge "Enable X-Forwarded-Proto header for Heat and Nova"
Jenkins [Tue, 5 Jan 2016 16:43:11 +0000 (16:43 +0000)]
Merge "Enable X-Forwarded-Proto header for keystone_public"
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
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
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
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
Jenkins [Tue, 22 Dec 2015 18:50:28 +0000 (18:50 +0000)]
Merge "Adds IPv6 support for interface_for_ip function"
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
Jenkins [Thu, 17 Dec 2015 10:20:03 +0000 (10:20 +0000)]
Merge "Allows customization of the HAProxy default timeouts"
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
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
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
Jenkins [Sat, 12 Dec 2015 10:19:59 +0000 (10:19 +0000)]
Merge "Remove all 'validate_array' statements"
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
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
Jenkins [Thu, 10 Dec 2015 16:06:26 +0000 (16:06 +0000)]
Merge "loadbalancer: add Aodh API support"
Giulio Fidente [Thu, 10 Dec 2015 13:19:40 +0000 (14:19 +0100)]
Allows customization of the HAProxy default timeouts
Change-Id: I3fdb705bbac26b4bc43a18131407a0a86d36a8a5
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
Jenkins [Tue, 8 Dec 2015 15:38:03 +0000 (15:38 +0000)]
Merge "Fix 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>
Emilien Macchi [Tue, 1 Dec 2015 18:48:56 +0000 (13:48 -0500)]
loadbalancer: add Gnocchi API support
Add Gnocchi (OpenStack Metric storage) support in TripleO Loadbalancer config.
Change-Id: Ia991819f57616a9a11bd4dfb77893748130268a0
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
Jenkins [Mon, 30 Nov 2015 20:22:21 +0000 (20:22 +0000)]
Merge "Fix unit tests failing against Puppet 4.3.0"
Jenkins [Thu, 26 Nov 2015 10:07:39 +0000 (10:07 +0000)]
Merge "MidoNet services manifests"
Jenkins [Wed, 25 Nov 2015 17:18:34 +0000 (17:18 +0000)]
Merge "Set tunnel timeout for nova_novncproxy"
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>
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
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
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>
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
Jenkins [Thu, 22 Oct 2015 11:24:47 +0000 (11:24 +0000)]
Merge "Resolve 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
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
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
Jenkins [Thu, 1 Oct 2015 14:38:00 +0000 (14:38 +0000)]
Merge "Automatically install packages when upgrading"
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>
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
Jenkins [Tue, 15 Sep 2015 08:08:15 +0000 (08:08 +0000)]
Merge "Allow a user to specify the syslog address for HAProxy"
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
Jenkins [Fri, 11 Sep 2015 15:03:21 +0000 (15:03 +0000)]
Merge "Initial msync run for all Puppet OpenStack modules"
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
Jenkins [Fri, 11 Sep 2015 12:33:56 +0000 (12:33 +0000)]
Merge "Add package_manifest resource."
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
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
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
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
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
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
Jenkins [Thu, 23 Jul 2015 18:37:25 +0000 (18:37 +0000)]
Merge "Implement firewalling in tripleo::firewall"
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
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
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
Jenkins [Tue, 14 Jul 2015 17:10:30 +0000 (17:10 +0000)]
Merge "Add missing options to Ceilometer/Ironic/Horizon"
Jenkins [Tue, 14 Jul 2015 16:59:22 +0000 (16:59 +0000)]
Merge "Remove mode tcp enforcement where unneeded, we default to mode tcp"
Jenkins [Fri, 10 Jul 2015 18:48:13 +0000 (18:48 +0000)]
Merge "Implement Advanced Firewalling support"
Jenkins [Fri, 10 Jul 2015 13:16:44 +0000 (13:16 +0000)]
Merge "Add a function to write package names"
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
Jenkins [Thu, 9 Jul 2015 15:01:29 +0000 (15:01 +0000)]
Merge "Add class to set noop on various puppet resources"
Jenkins [Wed, 8 Jul 2015 13:01:06 +0000 (13:01 +0000)]
Merge "Add tripleo::packages"
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
Jenkins [Wed, 8 Jul 2015 11:27:11 +0000 (11:27 +0000)]
Merge "Fix Heat 302 redirects"
Jenkins [Sun, 5 Jul 2015 19:16:09 +0000 (19:16 +0000)]
Merge "Remove database code from puppet-tripleo"
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
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
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
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
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
Jenkins [Thu, 25 Jun 2015 16:06:08 +0000 (16:06 +0000)]
Merge "Introduce param to enable use of clustercheck"
Jenkins [Thu, 25 Jun 2015 09:01:19 +0000 (09:01 +0000)]
Merge "Use 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
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
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