39 Commits

Author SHA1 Message Date
Jenkins
47f62da745 Merge "Add barbican profile" 2016-11-01 12:58:55 +00:00
Jenkins
7ecb68289f Merge "Fixes transparent binding to OpenDaylight in HA Proxy" 2016-11-01 12:12:57 +00:00
Jenkins
a78b862cc5 Merge "Enable TLS in the internal network for aodh" 2016-10-31 11:48:53 +00:00
Jenkins
23e98fe884 Merge "Enable TLS in the internal network for ceilometer" 2016-10-31 09:39:36 +00:00
Tim Rozet
8ee57d6b61 Fixes transparent binding to OpenDaylight in HA Proxy
ODL was missing transparent binding mode, which causes HA deployments to
fail since HA Proxy will try to come up on every node (even without
VIP).

Closes-Bug: 1637833

Change-Id: I0bb7839cdcfeacb4ca1a9fc6f878e8b51330be92
Signed-off-by: Tim Rozet <trozet@redhat.com>
2016-10-30 09:44:18 -04:00
Jenkins
0b9c8fb56a Merge "Enable communication between UI and the Undercloud by making HAProxy proxy for the UI" 2016-10-23 08:47:56 +00:00
Jenkins
9d8a6b6e74 Merge "Enable haproxy statistics unix socket" 2016-10-23 08:09:44 +00:00
Jenkins
d897f2005c Merge "Increase haproxy client/server timeout for swift-proxy" 2016-10-22 21:45:27 +00:00
Jenkins
b23f488775 Merge "Use HAProxy for docker-registry endpoint" 2016-10-22 21:44:51 +00:00
John Trowbridge
4887e187a6 Increase haproxy client/server timeout for swift-proxy
The upload and extraction for the plan tarball to swift can take
longer than the default one minute in slower environments. Doubling
the timeout to two minutes has proven to help.

This is only a partial fix, because the error reporting for this
issue also needs to be improved.

Change-Id: I06592d38fdfefacc8bdf76289a0bfa20eb33a89b
Partial-Bug: 1635269
2016-10-21 10:51:44 -04:00
Steve Baker
d80b2d99b6 Use HAProxy for docker-registry endpoint
The docker tooling has a preference for interacting with encrypted
endpoints. Terminating the docker-registry endpoint with HAProxy
allows the SSL VIP to be used for this purpose.

Change-Id: Ifebfa7256e0887d6f26a478ff8dc82b0ef5f65f6
2016-10-20 15:11:07 +13:00
Juan Antonio Osorio Robles
aa7315e585 Enable TLS in the internal network for aodh
This optionally enables TLS for aodh in the internal network.
If internal TLS is enabled, each node that is serving the aodh
service will use certmonger to request its certificate.

This, in turn should also configure a command that should be ran when
the certificate is refreshed (which requires the service to be
restarted).

bp tls-via-certmonger

Change-Id: I50ef0c8fbecb19d6597a28290daa61a91f3b13fc
2016-10-19 17:40:32 +03:00
Juan Antonio Osorio Robles
a173a030aa Enable TLS in the internal network for ceilometer
This optionally enables TLS for aodh in the internal network.
If internal TLS is enabled, each node that is serving the ceilometer
service will use certmonger to request its certificate.

This, in turn should also configure a command that should be ran when
the certificate is refreshed (which requires the service to be
restarted).

bp tls-via-certmonger

Change-Id: Ib5609f77a31b17ed12baea419ecfab5d5f676496
2016-10-19 17:39:07 +03:00
Juan Antonio Osorio Robles
76bf2f532f Enable TLS in the internal network for keystone
This optionally enables TLS for keystone in the internal network.
If internal TLS is enabled, each node that is serving the keystone
service will use certmonger to request its certificate.

This, in turn should also configure a command that should be ran when
the certificate is refreshed (which requires the service to be
restarted).

bp tls-via-certmonger
Change-Id: I303f6cf47859284785c0cdc65284a7eb89a4e039
2016-10-19 17:37:32 +03:00
Ade Lee
aa6660376d Add barbican profile
Co-Authored-By: Juan Antonio Osorio Robles <jaosorior@redhat.com>
Change-Id: If2804b469eb3ee08f3f194c7dd3290d23a245a7a
2016-10-19 08:44:58 +03:00
Dan Trainor
43d6dc468d Enable communication between UI and the Undercloud by making HAProxy
proxy for the UI

Change-Id: I74eac4bbfc16720eeb6e2bf0ee251689dde3bafc
Implements: enable-communication-ui-undercloud
2016-10-17 23:17:55 -07:00
Michele Baldessari
36c0d0a3c1 Enable haproxy statistics unix socket
By enabling the statistics socket we allow the collection
of statistics over time for haproxy.

This socket is set to "user" level, so this socket is limited
to read-only. The "stats timeout" line is optional, but since the
default timeout of the stats socket is 10s, we set this higher.

Change-Id: I22d3ab771e981be0d2c74b60443d276973bc1639
2016-10-16 21:57:29 +02:00
Juan Antonio Osorio Robles
d7b449943a Fetch internal certificates for HAProxy based on network
The service profile in HAProxy has the capability of creating
certificates based on a map. The idea is to standardize this, as
some of those certificates should match certain networks the services
are listening on (with the exception of the external network which is
handled differently and the tenant network which doesn't need a
certificate). So, based on which network a certain service is
listening on, we fetch the appropriate certificate.

bp tls-via-certmonger

Change-Id: I89001ae32f46c9682aecc118753ef6cd647baa62
2016-10-05 18:38:31 +03:00
Juan Antonio Osorio Robles
b04f01026b Use service-specific servernames for haproxy
Right now we're hardcoding the server names for the services to be
the controllers. This is problematic if we start  using custom roles
for services, which listen on nodes that are not controllers.

We already have the server names for each service, so using this
mapping instead fixes the issue.

Change-Id: Ic4b65edb3dc1b75abbc3421a87cab97425b058c4
Closes-Bug: #1629098
2016-10-05 08:21:17 +00:00
Jenkins
675cb627fe Merge "Added X-Forwarded-Proto headers for horizon" 2016-10-03 06:30:41 +00:00
Jenkins
6a9429eeda Merge "Terminate Zaqar websocket endpoint in HAProxy" 2016-09-20 11:55:51 +00:00
Juan Antonio Osorio Robles
d07cf8e668 Terminate Zaqar websocket endpoint in HAProxy
Note that there was a need to modify different timeouts due
to the nature of how websockets work. The source where the
reasoning and value came from is listed as a comment in the
code.

Related-Bug: #1625448
Co-Authored-By: Brad P. Crochet <brad@redhat.com>
Change-Id: I9de77d5f692c1c9d04e3c59c5de5312e63f81aed
2016-09-20 04:52:00 +00:00
Juan Antonio Osorio Robles
907faa2003 Fix wrong flag name for VNC Proxy in HAProxy
The name was wrong, and so fixing it will actually enable VNC Proxy
when the service is enabled.

Change-Id: I65e90479fd33844b4dcd70c19cec3cd838aeff69
Closes-Bug: #1623796
2016-09-15 09:19:02 +03:00
Juan Antonio Osorio Robles
ad5182f632 Enable X-Forwarded-Proto for manila
This is necessary so the middleware in manila can set the protocol
correctly in case we're terminating SSL in HAProxy.

Depends-On: Ice78b0abceb6a956bb8c1dc6212ee1b56b62b43f
Change-Id: Iedaabaf1379466c22e3b9bb2307e940459d26de7
2016-09-12 09:38:51 +03:00
Giulio Fidente
131f2a84b1 Add Ceph RGW listener to HAProxy
Shares the same (ssl)port with Swift Proxy

Change-Id: I2e1de1a3fa6ad62895a1e972e43858f23c08bbea
2016-08-31 14:35:03 +02:00
Giulio Fidente
f295fc7761 Default haproxy listeners activation on hiera service _enabled
Change-Id: I5c620ba717f782b39c599aff24b4ac56fb695a04
2016-08-31 14:35:03 +02:00
Jenkins
d3491b5351 Merge "Removing WARNING: line has more than 140 characters in puppet-tripleo profiles" 2016-08-29 15:21:14 +00:00
Graeme Gillies
b7fe585677 Added X-Forwarded-Proto headers for horizon
When enabling federated authentication with keystone, and then enabling websso
in horizon, the URL horizon constructs for the redirect is done internally, and
django needs to be able to know if it has to construct the url with http or
https. By setting this header at the haproxy level, horizon can make the correct
decision.

Change-Id: I0281fe1e5efa0d3f5983342dec70752246d9fca8
2016-08-24 11:35:03 +10:00
Tim Rozet
d688064d23 Adds OpenDaylight
Partially-Implements: blueprint opendaylight-integration

Note this patch only adds support for a single ODL instance.

 - neutron/opendaylight.pp handles installing ODL to control nodes
 - ml2/opendaylight.pp handles configuring ML2 to work with ODL
 - ovs/opendaylight.pp handles configuring OVS to connect to ODL

Change-Id: I666dc0874f1d11a72a62d796f4f6d41f7aa87a3f
Signed-off-by: Tim Rozet <trozet@redhat.com>
2016-08-13 15:34:22 -04:00
Carlos Camacho
ea752f3527 Removing WARNING: line has more than 140 characters in puppet-tripleo profiles
Some lint checks are returning:
WARNING: line has more than 140 characters in puppet-tripleo profiles

This patch will remove those warnings by adding \'s

Change-Id: I19b56c93db82948fb0498a4c9851b522c81946f8
2016-08-11 19:11:51 +00:00
Juan Antonio Osorio Robles
39e10ab15a Handle redirects for keystone
If keystone sends a redirect and we have TLS enabled, we need to
modify the response in order to indicate https.

Change-Id: Icd61f527473bfe5153e058e94f9ed141cf13812d
2016-08-10 15:10:05 +03:00
Jenkins
c4360efdc8 Merge "Add passing of X-Forwarded-Proto to Glance API endpoint" 2016-08-07 11:14:42 +00:00
Juan Antonio Osorio Robles
9838f8fa31 Add passing of X-Forwarded-Proto to Glance API endpoint
Glance supports the http_proxy_to_wsgi middlware, and it was recently
enabled in the overcloud [1]. However, for it to work properly, we
need to add the X-Forwarded-Proto header which was missing from the
HAProxy configuration.

[1] I4a8f7fc079ca93c50aa0ef7b0548dc64f6c5cfa0

Change-Id: I82e2db1145b0476cec27676fdfbb97e86cbd8182
2016-08-05 11:21:23 +03:00
Juan Antonio Osorio Robles
98aad52ee2 Add zaqar API endpoint in HAProxy
This will enable us to terminate SSL connections for Zaqar's API.

Change-Id: If75e2947a2dca95b3e53e1b1ffd93f36fc7fb1cc
2016-08-05 04:44:21 +00:00
Brad P. Crochet
327effce2a Add Mistral profiles
Add Mistral profiles for non-ha and ha scenarios

Change-Id: I1a072326091fd3b0c21d2f78041e3532b67c60eb
Implements: blueprint refactor-puppet-manifests
Depends-On: I6ce61054384c15876c498ba8cf582f88d9f7f54c
2016-07-14 17:32:57 +00:00
Juan Antonio Osorio Robles
6ffa7e3121 Add ironic inspector as a terminated HAProxy endpoint
This is needed for the undercloud, as it's in HAProxy where we make
the SSL terminations.

Change-Id: Ie4d652b4e5a95849c2fa32a5ce5ecec09ccb6bd9
Related-Bug: #1595047
2016-06-22 16:35:51 +03:00
Emilien Macchi
ca2efb5761 Remove tripleo::loadbalancer
The split has been done on both undercloud & overcloud, they now use
tripleo::haproxy and tripleo::keepalived. We can move forward with
removing tripleo::loadbalancer and tripleo::loadbalancer::endpoint, not
used anymore.

Simplify tripleo::profile::base::loadbalancer to just include
tripleo::haproxy and rely on Hiera for parameters.

Change-Id: Ieeb1e94117ae9cb8b11320306de3a9b236bd989a
2016-06-02 22:23:07 -04:00
Emilien Macchi
4529b60bde loadbalancer: remove controller_host
controller_host was deprecated and is not used anymore anywhere.
Let's drop it.
Also make controller_hosts really required, by not setting a default
paramter, so Puppet catalog will fail if no value is given.

Change-Id: Iad760115f925e848e4b72009db5177f88ceb4ad8
2016-06-02 21:37:44 +00:00
Emilien Macchi
7b355dcc63 Explode loadbalancer role in 2 sub-roles
Split loadbalancer role into 2 sub-roles:
- HAproxy
- Keepalived

Change-Id: I84dfa9d409d390c6f549d62cb3634931e4cb432c
2016-05-26 16:58:27 -04:00