313 Commits

Author SHA1 Message Date
Cédric Jeanneret
778dba94a4 Load known, standard kernel modules from the host, not within containers
Known kernel modules are:
- dm-multipath (for multipathd)
- ip_vs (for keepalived)
- iscsi_tcp (for ironic-conductor)
- openvswitch (for openvswitch-vswitchd)

Change-Id: I1841ec30cde142c8019830ad3190847dfe493eb9
2018-10-11 10:26:34 +02:00
Adam Harwell
f1c8136556 Refactor haproxy config (split by service) V2.0
Having all services in one giant haproxy file makes altering
configuration for a service both painful and dangerous. Each service
should be configured with a simple set of variables and rendered with a
single unified template.

Available are two new templates:

* haproxy_single_service_listen.cfg.j2: close to the original style, but
only one service per file
* haproxy_single_service_split.cfg.j2: using the newer haproxy syntax
for separated frontend and backend

For now the default will be the single listen block, for ease of
transition.

Change-Id: I6e237438fbc0aa3c89a3c8bd706a53b74e71904b
2018-09-26 03:30:38 -07:00
jiangpch
d57c7019a9 Make haproxy proxy to the right glance_api backend
Since glance_api only start one container when using file
backend, the haproxy should follow this rule.

See: https://review.openstack.org/#/c/448654

Closes-Bug: #1722422

Change-Id: Id3519581e0f54509dacd24d0dd542c630342c771
2018-09-13 15:24:02 +01:00
Zuul
acb72ddbe1 Merge "Fix prechecks for adding a new haproxy node" 2018-08-15 09:56:20 +00:00
Zuul
3e45b2cbec Merge "Use include_tasks instead of include" 2018-07-27 08:16:08 +00:00
Zuul
d1e427b7c1 Merge "Apply Resource Constraints to Openstack Services" 2018-07-26 14:18:34 +00:00
Lakshmi Prasanna Goutham Pratapa
76210a2d85 Apply Resource Constraints to Openstack Services
This commit is to apply resource-constraints only to few OpenStack services.
Commit to apply constraints to other services will be made in coming commits.

Partially-Implements: blueprint resource-constraints

Change-Id: Icafa54baca24d2de64238222a5677b9d8b90e2aa
2018-07-25 17:05:04 +01:00
Jeffrey Zhang
b51eeed89e Use include_tasks instead of include
include is marked as deprecated since ansible 2.4[0]

[0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated

Co-Authored-By: confi-surya <singh.surya64mnnit@gmail.com>
Change-Id: Ic9d71e1865d1c728890625aeddf424a5734c0a8a
2018-07-25 23:57:22 +08:00
Victor Coutellier
6a9a0e927d Fix prechecks for adding a new haproxy node
Change-Id: I2615e4938ec6b4a525f7fddde5a51a139dced8de
Closes-Bug: #1783381
2018-07-24 14:00:32 -04:00
Kevin Tibi
16df54eaa5 Disable TLS 1.1 on haproxy
While it is possible to implement countermeasures against some attacks
on TLS, migrating to a later version of TLS (TLS 1.2 is strongly
encouraged) is the only reliable method to protect against
the current protocol vulnerabilities.[1]

[1] https://blog.pcisecuritystandards.org/are-you-ready-for-30-june-2018-sayin-goodbye-to-ssl-early-tls

Change-Id: I44f67e3a49bb00fea069d29c46b3e86404c7df0b
2018-07-20 11:10:33 +02:00
Jorge Niedbalski
1596475db6 [prometheus] Initial implementation of prometheus-alertmanager
This patch extends the prometheus role for being able
to deploy the prometheus-alertmanager[0] container.

The variable enable_prometheus_alertmanager
decides if the container should be deployed and enabled.

If enabled, the following configuration and actions are performed:

- The alerting section on the prometheus-server configuration
is added pointing the prometheus-alertmanager host group as targets.

- HAProxy is configured to load-balance over the prometheus-alertmanager
host group. (external/internal).

Please note that a default (dummy) configuration is provided, that
allows the service to start, the operator should extend it via a node custom config

[0] https://github.com/openstack/kolla/tree/master/docker/prometheus/prometheus-alertmanager

Change-Id: I3a13342c67744a278cc8d52900a913c3ccc452ae
Closes-Bug: 1774725
Signed-off-by: Jorge Niedbalski <jorge.niedbalski@linaro.org>
2018-07-11 16:20:35 -04:00
caoyuan
1b2bb2ef36 Add zun-wsproxy into kolla-ansible
the zun-wsproxy image is exists in kolla[0], but kolla-ansible
missing, this ps to add it.

[0]: https://github.com/openstack/kolla/tree/master/docker/zun/zun-wsproxy
Co-Authored-By: ZhijunWei <wzj334965317@outlook.com>

Change-Id: I89ef3463dfa5df8cf2d963ff0f0c7ddc382fc79b
Closes-Bug: #1765728
2018-06-27 15:18:49 +00:00
Vladislav Belogrudov
fe70df356f Add possibility to increase Murano agent timeout
Some Murano applications require much longer time than default
1 hour to be deployed.

Change-Id: I395e9e3e8cccf70f316f313847648841822e639a
Closes-Bug: #1777670
2018-06-19 15:35:03 +00:00
Ha Manh Dong
30be04ea91 Specify 'become' for all tasks that use kolla_docker module
Add become to all tasks that use the module "kolla_docker"

Change-Id: I4309c4011687b88ec31d739fd8f834fe2326ff10
Partial-Implements: blueprint ansible-specific-task-become
2018-06-08 12:39:24 +00:00
Zuul
e3494638a2 Merge "Compatible with ubuntu 18.04" 2018-06-05 02:30:54 +00:00
Nikita Gerasimov
418a6c8896 Adds parameter to configure HAProxy defaults balance
Introduce new option "haproxy_defaults_balance" to set balance in
defaults section.

Change-Id: Iaf12717ffac94ac2308758bd8ec87f088af26b69
Closes-Bug: #1773178
2018-05-24 17:47:05 +03:00
Zuul
e38d95def5 Merge "Support deploying the Monasca Log API" 2018-05-21 13:53:34 +00:00
Doug Szumski
eab66ab02e Support deploying the Monasca Log API
Deploys the Monasca Log API with mod_wsgi + Apache.

Change-Id: I28f0aa31c59b0b6917be2b125b5f8a0d7a7035af
Partially-Implements: blueprint monasca-roles
2018-05-21 12:05:58 +01:00
Zuul
a672d4e730 Merge "Support deploying the Monasca API" 2018-05-21 11:05:54 +00:00
Doug Szumski
c11f9f521d Support deploying the Monasca API
Deploys the Monasca API with mod_wsgi + Apache.

Co-Authored-By: Mark Goddard <mark@stackhpc.com>

Partially-Implements: blueprint monasca-roles
Change-Id: I3e03762217fbef1fb0cbff6239abb109cbec226b
2018-05-21 09:28:13 +00:00
Zuul
cbb7cce7c1 Merge "[haproxy] Enable global optimization options" 2018-05-16 12:25:09 +00:00
Jeffrey Zhang
be6798fc30 Compatible with ubuntu 18.04
Depends-On: https://review.openstack.org/568529
Change-Id: I8084e4c8406c818589ca984afe5b5364c00b08ca
2018-05-16 18:00:44 +08:00
Jorge Niedbalski
48231e1df0 [haproxy] Enable global optimization options
This patch enables 3 new configuration options for haproxy.cfg
global section.

  - haproxy_processes: number of haproxy processes (default:1).
  - haproxy_max_connections: number of concurrent connections (default:4000)
  - haproxy_process_cpu_map: enforces 1:1 mapping/affinity between
process and core. (default: no).

Closes-Bug: #1770060
Change-Id: I33fc499b083c7bcc548133498e44406a479389f1
Signed-off-by: Jorge Niedbalski <jorge.niedbalski@linaro.org>
2018-05-11 10:28:09 -03:00
Jeffrey Zhang
c567055176 Fix ansible warning
- rename action and serial to kolla_ansible and kolla_serial
- use become instead of "sudo <command>" in shell
- Remove quota for failed_when and changed_when in rabbitmq tasks

Change-Id: I78cb60168aaa40bb6439198283546b7faf33917c
Implements: blueprint migrate-to-ansible-2-2-0
2018-05-11 02:54:02 +00:00
Zuul
ad2b856178 Merge "Let haproxy to be ODL websocket's frontend" 2018-05-04 04:09:21 +00:00
Zuul
2b8bc555cb Merge "Fix SSL api for multiple services" 2018-04-27 08:55:48 +00:00
Zuul
d35712800b Merge "Add role to deploy prometheus" 2018-04-25 13:59:45 +00:00
Vladislav Belogrudov
ecafeb62d5 Add precheck for haproxy certificate file
If user enables TLS it also is necessary to create
a certificate. This precheck ensures the certificate
file exists before starting deployment.

Change-Id: I772d52e228ed012b9f8ccb5b616f9b188d3d340c
Closes-Bug: #1765677
2018-04-20 18:04:47 +03:00
Mathias Ewald
4d1f37359d Add role to deploy prometheus
This patch adds the ansible role to deploy the prometheus service which
can be used to collect performance metrics accross the environment

Partially-Implements: blueprint prometheus
Change-Id: I908b9c9dad63ab5c9b80be1e3a80a4fc8191cb9e
2018-04-19 10:58:15 -04:00
Kevin TIBI
a81a5d5d5d Fix SSL api for multiple services
If SSL is enabled, api of multiple services returns
wrong external URL without https prefix.

Removal of condition for deletion of http  header.

Change-Id: I4264e04d0d6b9a3e11ef7dd7add6c5e166cf9fb4
Closes-Bug: #1749155
Closes-Bug: #1717491
2018-04-18 17:20:27 +02:00
Doug Szumski
b865bada8c Support accessing InfluxDB via HAProxy
This change allows access to InfluxDB via HAProxy on the internal
network.

If HA is required the Enterprise version of InfluxDB will need to
be installed. This could be implemented by customising the InfluxDB
Docker file.

There are other alternatives to HA, such as the InfluxDB Relay [1].
Support for this is considered to be outside of the scope of this
bugfix.

[1] https://docs.openstack.org/developer/performance-docs/
    methodologies/monitoring/influxha.html

Closes-Bug: #1751283
Change-Id: I4624efbd99c0cddd1361f2438866ad3a82e5557b
2018-04-06 17:48:24 +01:00
Nick Jones
55773923b1
[HAProxy] Allow extra options to be specified per listener
This commit provides operators with the ability to specify additional
options per HTTP or TCP listener stanza.

Change-Id: I66cc5372f2a686213b6748a8260cfe84f789ad8e
Implements: blueprint haproxy-listener-extra-options
2018-04-03 09:58:45 +01:00
Zuul
bbcda9e08d Merge "keepalived: ability to use unicast instead of multicast" 2018-04-03 07:42:56 +00:00
Zuul
b32f224db5 Merge "Make it possible to not haproxy memcached" 2018-04-03 01:33:25 +00:00
Jeffrey Zhang
7aeb6825ff Use a large number for haproxy timeout tunnel
timeout tunnel is use for WebSocket and CONNECT protocol. Need use a
larger number for it. Otherwise, novnc will be auto disconnected if no
action happend in a short time on browser.

Change-Id: If37623e8fda5260ab0b38d2203f5266777dba063
Closes-Bug: #1759774
2018-03-29 14:56:10 +08:00
Joshua Harlow
e82fb95603 Make it possible to not haproxy memcached
Clients usually have sophisticated logic for handling
key redistribution on node failure; so going under the
covers and messing with that is bad (because then the
clients and their sophisticated logic is unaware of
what is going on).

Change-Id: Ica12240440d28f930b917d5d6202f4f9e6675b2a
2018-03-27 10:03:46 -07:00
Eduardo Gonzalez
ea1a1dee0d Verify YAML syntax in gates
This patchset implements yamllint test to all *.yml
files.

Also fixes syntax errors to make jobs to pass.

Change-Id: I3186adf9835b4d0cada272d156b17d1bc9c2b799
2018-03-26 17:56:22 +02:00
Pavel Glushchak
6832e0aad1 keepalived: ability to use unicast instead of multicast
In some data centers multicast traffic is prohibited. Additionally
VRRP id needs to be unique within broadcast domain when keepalived
operates in multicast mode, otherwise it fails to start.

However keepalived can be configured to use unicast traffic [1].
In unicast mode VRRP id doesn't make sense, but needs to be
the same among peers.

[1] http://manpages.ubuntu.com/manpages/zesty/man5/keepalived.conf.5.html

Change-Id: I692ecbb0aa750baf20c013b53b57f88b474b63cc
Signed-off-by: Pavel Glushchak <pglushchak@virtuozzo.com>
2018-02-27 08:00:53 +00:00
Zuul
70a5099376 Merge "Implement blazar ansible role" 2018-02-05 08:36:12 +00:00
Zhijiang Hu
98b06a0586 Let haproxy to be ODL websocket's frontend
This PS does:
1) Let haproxy to be ODL websocket's frontend and listen on port 8185.
2) Add 10-rest-connector.xml config file template for ODL container.
3) ODL websocket backend listen only on api interface, port is also
8185.

Closes-Bug: #1745323

Change-Id: Id330d610c7cd8a239b0f77c8f5f47422d48b9977
Signed-off-by: Zhijiang Hu <hu.zhijiang@zte.com.cn>
2018-01-31 02:54:09 -05: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