134 Commits

Author SHA1 Message Date
Zuul
70a5099376 Merge "Implement blazar ansible role" 2018-02-05 08:36:12 +00:00
Zuul
09dbb61133 Merge "Fix haproxy with memcached enabled" 2018-01-26 10:22:44 +00:00
Zuul
4771f5c22d Merge "Disable jinja2 trim_blocks feature" 2018-01-25 10:27:40 +00:00
Zuul
b66ebff65e Merge "Fix the ssl issue for placement api when enabled ssl" 2018-01-25 03:24:01 +00:00
Jeffrey Zhang
def1adb6b4 Fix the ssl issue for placement api when enabled ssl
Change-Id: I43db3048f92207da5ec3a2b9ed52b4c4083c3881
Closes-Bug: #1745128
2018-01-24 18:28:59 +08:00
Jeffrey Zhang
35b91cf7b7 Disable jinja2 trim_blocks feature
otherwise, if the jinja2 blocks at the end of the line, it will remove
the last newline character and join two lines into one.

Change-Id: Ie710342fb034e477ff854eba3915dd845bddd257
2018-01-24 10:20:14 +08:00
Alexandru Bogdan Pica
8e3b79440c Implement external MariaDB and pre-configured Databases support
This change allows the following use cases:

1. Using an already-configured MariaDB / MySQL server / Cluster
2. Using already-created DB users, without requiring root DB access.

Update: added external mariadb precheck

Change-Id: I78b0d178306d7c5293b0bf53e445f19f18b4b824
Implements: blueprint external-mariadb-support.
Closes-Bug: #1603121
2018-01-23 13:07:40 +00:00
Eduardo Gonzalez
e44ff538b7 Fix haproxy with memcached enabled
Haproxy keeps restarting due memcached servers
are writen in a single line. adds a empty line
in the for so each server is in its line

Change-Id: I763a23de7f70e9ebe543b935b175e675ec774f9a
2018-01-23 12:08:44 +01:00
Zuul
fdbfd96d14 Merge "Add a active-standby mode memcached in haproxy" 2018-01-22 05:11:31 +00:00
Jeffrey Zhang
a26357efb9 Add a active-standby mode memcached in haproxy
Memcached do not support cluster. Then make it work in active-standby
mode. This will be helpful to implement high available when using memcached
as tooz backend.

Change-Id: I13722111d8b8d5b066e9a85d4c8d1679704c8caa
2018-01-21 15:02:07 +08:00
Zuul
5cfd101057 Merge "We actually require 'mode http'" 2018-01-19 09:59:11 +00:00
liujunpeng
c51bf13420 add var haproxy_client_timeout and haproxy_server_timeout
Change-Id: I329307b226757144a493ff21c76125cae8468e91
2018-01-15 20:01:26 +08:00
Ian Kumlien
ee67917c49 We actually require 'mode http'
So it turns out that without 'mode http' redirects and rewrites
will not happen, and we're relying on it for multiple things.

Switch neutron to use http-tunnel mode instead which seems to work,
we've had no errors in our setup.

See:
https://www.haproxy.org/download/1.5/doc/configuration.txt

Quoute:
" - tunnel        : only the first request and response are processed,
                      everything else is forwarded with no analysis."

Fixes: bba80acc8b78ab3a34d61b3d0b496551e5a9258e
Change-Id: I0d9abe9731fba1e4deb64932e859f991648bb1ec
2018-01-09 13:19:54 +01:00
Eduardo Gonzalez
31f7732aef Implement blazar ansible role
Add ansible role to deploy blazar
Add nova filters to allow use of blazar

Change-Id: I6742ddc9a4736f256491dd0cfd31904fa8eb5652
Implements: blueprint blazar-ansible-role
2018-01-03 16:36:54 +00:00
Zuul
e3af18f90a Merge "Add vitrage ansible role" 2017-12-28 04:57:45 +00:00
Zuul
c0af83331a Merge "Let OVS to connect to the individual IPs of each ODL node" 2017-12-25 19:30:08 +00:00
chenxing
2d1a1b1df6 Add vitrage ansible role
Co-Authored-By: caoyuan <cao.yuan@99cloud.net>
Co-Authored-By: Eduardo Gonzalez <dabarren@gmail.com>

Depends-on I7ffb991adbd05275e331401cd73fc84362084ebd
Change-Id: I85afeb5dfce0bf6350a444000bdb885c6fe079c9
Partially-implements: blueprint vitrage-roles
2017-12-18 17:29:32 +08:00
Ian Kumlien
bba80acc8b RFC: disable haproxy http mode
In some cases the http mode in haproxy causes issues with api calls
(We exeperienced this in production between horizon and neutron)

See:
https://ask.openstack.org/en/question/57958/keystone-through-haproxy/

Change-Id: Id2079c5a491ef8691e7ad8846a5fec99e49ec4ba
2017-11-29 14:42:10 +01:00
Zhijiang Hu
28b50c22ce Let OVS to connect to the individual IPs of each ODL node
Close-Bug: 1734047

For ODL clustering, one should explicitly points switches to each
of the ODL instances. The openflowplugin logic will figure out
which controller should be the master, and which should be the
slave.

Kolla currently sets the manager to one of the specific ODL over
ptcp and another one through the VIP. The VIP is probably
forwarding the traffic to that same ODL so from ODL's perspective
it's getting two duplicated connection requests from the same OVS
which will cause re-connection problem.

This PS does:
1) Let OVS to connect to the individual IPs of each ODL node in
a ODL cluster instead of only connect to the representative over
VIP. Devstack is doing the same thing[1]. Further more, there is no
need for HAProxy to be frontend for ODL southbound.

2) Delete the unusd ptcp connection option.

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

Change-Id: Ib57e6fbb5ce64a48be0506904d3c8397ed6f70d9
Signed-off-by: Zhijiang Hu <hu.zhijiang@zte.com.cn>
2017-11-23 06:18:42 -05:00
root
d55f2785e3 Allow outward_rabbitmq with enable_outward_rabbitmq
outward_rabbitmq is determined  using enable_outward_rabbitmq
property rather than current haproxy_enable_external_vip

Change-Id: Iee096ab50fd4d9f5f3fe05880d0e0a7842c59d0a
Closes-Bug: 1722854
2017-10-12 10:26:38 +00:00
Tatsuma Matsuki
03354bc99e Add fluentd enable option
This change adds enable_fluentd option and enables some other log shippers
to be integrated. When enable_fluentd is "no", syslog server is also disabled.
Then, this change also adds syslog parameters to use a syslog server
prepared by users.

Change-Id: I7c83ef7fe30a6b9ab7385bcee953ad07e96b0a83
Implements: blueprint fluentd-enable-option
2017-09-28 04:36:36 +00:00
Dan Ardelean
418d584693 HyperV: fix FreeRDP console config
Console access for HyperV VMs is now done via Kolla VIP.
The VIP will point to each HyperV compute node IP on which
FreeRDP-WebConnect is installed.

Closes-Bug: #1714249
Change-Id: I3a5d23425996a5c347ff21df3f99c3f63dd35173
2017-09-01 19:28:48 +03:00
Jenkins
7f3dec3123 Merge "Revert "Update Keystone haproxy config to balance based on source ip"" 2017-08-23 15:50:23 +00:00
Sam Yaple
0fc512e0fe Revert "Update Keystone haproxy config to balance based on source ip"
This reverts commit 91321ac8ff342ad8276c6874f85b7ad3a823a444.

The reasoning given in this commit is incorrect. Keystone/oslo.cache
uses memcached hosts based on a hashing of the key to determine which
memcached host to check. If you have different configured memcached
servers per keystone deployment you have a mis-configured deployment.

Any RESTapi should be capable of roundrobin load-balancing. I am not
familiar with the Murano case with uploading a package, but this change
also does not address Murano at all.

As far as Horizon goes, that hasn't had a problem with shared backends
since the beginning because we use memcached servers with a shared
secret key [1].

All this change has done is lowered the efficiency of loadbalancing
keystone.

[1] https://github.com/openstack/kolla-ansible/blob/master/ansible/roles/horizon/templates/local_settings.j2#L149

Change-Id: Ic0b550e7c96d67c39153933b527ab3edf7d90f27
2017-08-19 18:07:36 +00:00
Marcus G K Williams
57496c4147 Add OpenDaylight role
Adds role for OpenDaylight deploy.

Change-Id: I1e697ea4d3f33aab4b0f55863a377b39eda8f609
Co-Authored-By: Mauricio Lima <mauriciolimab@gmail.com>
Co-Authored-By: Jiri Prokes <jirix.x.prokes@intel.com>
Co-Authored-By: Eduardo Gonzalez <dabarren@gmail.com>
Partially-Implements: blueprint opendaylight-support
2017-08-03 07:39:38 -07:00
Jenkins
d079951252 Merge "Remove all kolla-kubernetes configurations" 2017-07-19 03:23:51 +00:00
Jeffrey Zhang
cacf08f0a6 Remove all kolla-kubernetes configurations
kolla-kubernetes is using its own configuration generation[0], so it is
time for kolla-ansible to remove the related code to simplify the
logical.

[0] https://github.com/openstack/kolla-kubernetes/tree/master/ansible

Change-Id: I7bb0b7fe3b8eea906613e936d5e9d19f4f2e80bb
Implements: blueprint clean-k8s-config
2017-07-18 22:00:58 +08:00
Jeffrey Zhang
ddad15c07e Remove ceilometer-api and ceilometer-collector services
* remove ceilometer-api and ceilometer-collector service
* use ceilometer-notification to publish message to proper backend
* remove useless ceilometer_database_type and ceilometer_event_type
  variables
* sync event_definitions.yaml, event_pipeline.yaml and pipeline.yaml
  file with upstream

Change-Id: Ib39053cb5f70bd11ee61d3f26d5b28accecd7190
2017-07-17 11:03:44 +08:00
Jenkins
05eecdc451 Merge "Fix glance Upload large image haproxy timeout when using external" 2017-07-12 12:35:32 +00:00
liyingjun
1daef3512c Fix glance Upload large image haproxy timeout when using external
timeout options are added to glance-api but not for glance_api_external,
it should be added there also.

Change-Id: Idbd3dabbe24a5c71e70154dfde96c5c70eeefc10
Partial-bug: 1675637
2017-06-20 23:25:13 -04:00
Eduardo Gonzalez
c3b72a7833 Add if enable_outward_rabbitmq in haproxy.cfg
Haproxy fails to deploy if outward group is not
in inventory.
This change adds an optional outward setting for
haproxy

Change-Id: I351578582b1057bb48ac69859583a5db13f0bfb8
2017-06-16 10:34:59 +01:00
Paul Bourke
d8fe3ea780 Add a new 'outward' rabbitmq instance
Certain services such as Murano and trove require access to a rabbitmq
instance from tenant networks. [0]

Exposing the internal rabbitmq to end users is a security hole, hence
there are two options, 1) use vhosts in the existing rabbitmq, or two a
separate rabbitmq instances. Given the importance of rabbitmq to the
OpenStack deployment, we have decided to go with a separate instance.
Refer to [1] for more detail on the various options.

This change makes the rabbitmq role generic so that it can be reused, in
this case to start 'outward_rabbitmq'. It needs to be exposed via
haproxy both for network isolation and also because this is what Murano
configuration requires.

Follow on patches will be added to add a vhost in this outward instance
for Murano and other services which require access.

Based on the original work by bdaca[2]

[0] http://murano.readthedocs.io/en/stable-liberty/intro/architecture.html
[1] http://lists.openstack.org/pipermail/openstack-dev/2016-December/109091.html
[2] https://review.openstack.org/#/c/374525

Change-Id: Ib2bcc7ed4bf4f883a7cd1dfad3db89201e3cfd8d
Partial-Bug: #1620374
Depends-On: I020eb6219f89a310451becde41f6f1c7f54baadd
Co-Authored-By: Bartłomiej Daca <bartek.daca@gmail.com>
2017-06-15 11:12:22 +00:00
Mathieu Rohon
43900bc8b6 Add skydive service
This patch introduces the ansible materials to deploy
the skydive service, that can be used to monitor and
troubleshoot networking in an openstack deployment.

Implements: blueprint skydive-service

Co-Authored-By: Nicolas Bouron <nicolas.bouron@gmail.com>
Signed-off-by: Mathieu Rohon <mathieu.rohon@gmail.com>

Change-Id: I53051a1b0c85380416288e17040a398b6efb62c0
2017-06-06 09:09:10 +02:00
Bertrand Lallau
afdd11b9a2 Generalize api_interface_address variable usage
Useful api_interface_address variable has been define here:
https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L57
In order to simplify codebase we must use it as much as possible.

Change-Id: I18fec19bf69e05a22a4142a9cd1165eccd022455
2017-05-23 08:35:15 +00:00
Jenkins
3ba11be4a3 Merge "Fix glance Upload large image haproxy timeout" 2017-05-07 02:02:14 +00:00
Jenkins
5dedf0d05e Merge "Update Keystone haproxy config to balance based on source ip" 2017-05-03 09:42:41 +00:00
Mick Thompson
91321ac8ff Update Keystone haproxy config to balance based on source ip
Source based routing is necessary for some services where we want the
same clients land to the same servers.

For exanmple, Keystone uses one of many memcached servers - if a client
gets a token from one but then lands on another api server on the next
request, that will bind to another cache and we get failed
authentication.

Other examples are horizon/murano where we upload a package in several
steps. If we don't balance client connections to the same host we will
end up with the package downloaded to one host but unsuccessfully
unpacked/imported on another host.

This option is commonly used in the official OpenStack docs [0]

[0] https://docs.openstack.org/ha-guide/controller-ha-haproxy.html

Co-Authored-By: James McCarthy <james.m.mccarthy@oracle.com>

Change-Id: I56f1e48f6dbe457e776a474222073bbefc48c92a
2017-03-31 09:31:10 +00:00
root
2364bee3cc Add zun ansible role
Change-Id: I13cf03d6a97fb94dd7cb309e99a417ad101dc21a
Co-Authored-By: Mauricio Lima <mauriciolimab@gmail.com>
Partially-implements: bp add-zun-ansible-role
2017-03-30 04:15:17 -04:00
jimmygc
538a9ebf2d Fix glance Upload large image haproxy timeout
Change-Id: I1a4d5ae561a944a138512d7573fe16b5197050af
Closes-Bug: #1675637
2017-03-24 14:30:12 +08:00
Jeffrey Zhang
f7c54a5dd2 Fix wrong api interface reference in haproxy.cfg for nova serial
Change-Id: Ie81e3a2528ea04106ecf8c9f5e4491b1d98d2f7a
Closes-Bug: #1674645
2017-03-21 20:35:52 +08:00
Jenkins
c028b6fdd1 Merge "Fix X-Forward-Proto Header Deletion" 2017-02-15 02:49:28 +00:00
Jeffrey Zhang
70d1dcb397 Fix haproxy configure for external placement api listen
Need listen on external ip address rather then internal.

Change-Id: Ic1b8823b97e52793088cf1f82625107c69ec345b
2017-02-14 20:22:38 +08:00
Vladislav Belogrudov
f556a42a87 Allow configuration of HAProxy default timeouts
With this fix operator can tune client/server timeouts of HAProxy
to avoid receiving '504' for lengthy requests by API clients.

Change-Id: I12611b34f99759e6b6527fea3768a971c9fbdd71
Closes-Bug: #1662506
2017-02-07 18:21:57 +03:00
Jenkins
f31930ec92 Merge "Implement nova placement service" 2017-02-03 03:20:42 +00:00
Jeffrey Zhang
facfabf3bb Implement nova placement service
Closes-Bug: #1660987
Depends-On: I30efc20e6d918e08860584c017455e6d5fa91a35
Change-Id: If0a79b6013f28871dc9f13c510c919078f3304d5
2017-02-02 05:18:13 +00:00
Kevin Fox
cac3ed855c Fix genconfig for kolla-kubernetes
This PS fixes some bugs that causes trunk not to work for
kolla-kubernetes.

Change-Id: I4eaba87c9c75a85ac16823a77ab197e62254e66e
2017-01-31 12:17:46 -08:00
Jenkins
2157d9787a Merge "Add freezer ansible role" 2017-01-27 12:12:52 +00:00
caowei
9c82ed8071 Add freezer ansible role
Co-Authored-By: caoyuan <cao.yuan@99cloud.net>
Co-Authored-By: zhubingbing <zhubingbing10@gmail.com>

Change-Id: I419f7ceb219ea9643cfd225c130018f967ddd860
Partially-implements: bp freezer-ansible-role
2017-01-27 11:19:13 +00:00
Jenkins
f2f30b4a5e Merge "Ansible config for nova-serialproxy console" 2017-01-24 16:40:40 +00:00
Jenkins
2b37e3b871 Merge "Add fluentd role" 2017-01-24 12:54:12 +00:00