6009 Commits

Author SHA1 Message Date
Gaëtan Trellu
9f578c85e0 Add HAcluster Ansible role
Adds HAcluster Ansible role. This role contains High Availability
clustering solution composed of Corosync, Pacemaker and Pacemaker Remote.

HAcluster is added as a helper role for Masakari which requires it for
its host monitoring, allowing to provide HA to instances on a failed
compute host.

Kolla hacluster images merged in [1].

[1] https://review.opendev.org/#/c/668765/

Change-Id: I91e5c1840ace8f567daf462c4eb3ec1f0c503823
Implements: blueprint ansible-pacemaker-support
Co-Authored-By: Radosław Piliszek <radoslaw.piliszek@gmail.com>
Co-Authored-By: Mark Goddard <mark@stackhpc.com>
2021-04-08 06:39:19 +00:00
Michal Arbet
09b3c6ca07 Refactor mariadb to support shards
Kolla-ansible is currently installing mariadb
cluster on hosts defined in group['mariadb']
and render haproxy configuration for this hosts.

This is not enough if user want to have several
service databases in several mariadb clusters (shards).

Spread service databases to multiple clusters (shards)
is usefull especially for databases with high load
(neutron,nova).

How it works ?

It works exactly same as now, but group reference 'mariadb'
is now used as group where all mariadb clusters (shards)
are located, and mariadb clusters are installed to
dynamic groups created by group_by and host variable
'mariadb_shard_id'.

It also adding special user 'shard_X' which will be used
for creating users and databases, but only if haproxy
is not used as load-balance solution.

This patch will not affect user which has all databases
on same db cluster on hosts in group 'mariadb', host
variable 'mariadb_shard_id' is set to 0 if not defined.

Mariadb's task in loadbalancer.yml (haproxy) is configuring
mariadb default shard hosts as haproxy backends. If mariadb
role is used to install several clusters (shards), only
default one is loadbalanced via haproxy.

Mariadb's backup is working only for default shard (cluster)
when using haproxy as mariadb loadbalancer, if proxysql
is used, all shards are backuped.

After this patch will be merged, there will be way for proxysql
patches which will implement L7 SQL balancing based on
users and schemas.

Example of inventory:

[mariadb]
server1
server2
server3 mariadb_shard_id=1
server4 mariadb_shard_id=1
server5 mariadb_shard_id=2
server6 mariadb_shard_id=3

Extra:
wait_for_loadbalancer is removed instead of modified as its role
is served by check already. The relevant refactor is applied as
well.

Change-Id: I933067f22ecabc03247ea42baf04f19100dffd08
Co-Authored-By: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2021-04-07 23:19:42 +02:00
Mark Goddard
0b0dd35837 masakari: fix minor issues with instance monitor
* Don't generate masakari.conf for instance monitor
* Don't generate masakari-monitors.conf for API or engine
* Use a consistent name for dimensions -
  masakari_instancemonitor_dimensions
* Fix source code paths in dev mode

Change-Id: I551f93c9bf1ad6712b53c316074ae1df84e4352b
2021-04-07 13:28:01 +00:00
Zuul
0d153af87f Merge "Fix cyborg api doesn't listen on api interface" 2021-04-07 09:54:15 +00:00
Zuul
9ccb941a5a Merge "Deprecate and disable chrony by default" 2021-04-06 13:46:41 +00:00
Zuul
01859ade96 Merge "Use Docker healthchecks for vitrage services" 2021-04-06 13:17:39 +00:00
Radosław Piliszek
04315751a4 Drop the NTP service precheck
We can't check this with timedatectl as it is not aware
of any "non-native" NTP daemon.

This could be a warning-level message but we don't have
such messages from the prechecks.

Closes-Bug: #1922721
Change-Id: I6db37576118cf5cff4ba7a63e179f0ab37467d22
2021-04-06 12:24:15 +00:00
Radosław Piliszek
b647cb4128 Deprecate and disable chrony by default
Per [1].

[1] http://lists.openstack.org/pipermail/openstack-discuss/2021-February/020707.html

Change-Id: Id6f3cd158bf5d01750971249b11364b6a8631789
Closes-Bug: #1885689
2021-04-06 09:17:51 +00:00
Mark Goddard
fbd80bcdc8 octavia: Ensure service auth project exists
Kolla Ansible supports configuration of the project used by Octavia to
communicate with other services, via octavia_service_auth_project. Until
Ussuri, this was set to admin. In Ussuri it changed to service. It may
also be set to a different value.

Kolla Ansible currently gives the octavia user the admin role in the
project, but it does not ensure that the project exists. For admin and
service projects, this is not a problem. If the project has been
customised however, it will not necessarily exist, which will cause
Octavia deployment to fail.

This change fixes the issue by ensuring that the service auth project
exists, in addition to the service project.

Closes-Bug: #1922100
Change-Id: I968efbf3ad1de676548b4e3aeefc20bf80ca94a0
2021-03-31 15:57:07 +01:00
Michał Nasiadka
a52cf61b22 octavia: Fix log directory permission
After WSGI implementation the permissions were not fixed.

Depends-On: https://review.opendev.org/c/openstack/kolla/+/783845

Change-Id: I908efe29dcd16c10b0bc88582d8dfb23ba573a35
2021-03-30 12:32:22 +00:00
LinPeiWen
3c1fd44092 Use Docker healthchecks for memcached services
This change enables the use of Docker healthchecks for memcached services.
Implements: blueprint container-health-check

Change-Id: I571e6d6cac634fd86429e12b946d6f7b4a2ab02c
2021-03-30 03:12:01 +00:00
Zuul
93c4448365 Merge "baremetal: Add support for Docker http/https proxy setup" 2021-03-29 09:54:36 +00:00
Zuul
f261b97a00 Merge "openvswitch: Add healthchecks" 2021-03-26 20:36:25 +00:00
Zuul
a2eb9a6a21 Merge "Use Docker healthchecks for cinder services" 2021-03-26 19:48:32 +00:00
Michal Nasiadka
7fa419cfc3 baremetal: Add support for Docker http/https proxy setup
Change-Id: I947c2940518c0f4872acaa977edeaca370dc9a96
2021-03-26 17:51:17 +00:00
wuchunyang
76579b80a1 Fix cyborg api doesn't listen on api interface
host -> host_ip[0]
Remove deprecated configuration notification_topics.

WARNING oslo_config.cfg [-] Deprecated: Option "notification_topics"
from group "DEFAULT" is deprecated. Use option "topics" from
group "oslo_messaging_notifications".

[0]https://docs.openstack.org/cyborg/latest/configuration/sample-config.html

Change-Id: Ia5d53fb60d34c1509c6cdb905cbd0a93dd1c8b3d
2021-03-26 21:38:59 +08:00
Zuul
0a2b80eed8 Merge "Use Docker healthchecks for haproxy services" 2021-03-26 11:51:01 +00:00
Zuul
a29bfbf889 Merge "Use Docker healthchecks for kibana services" 2021-03-26 11:26:28 +00:00
Zuul
28c65af96a Merge "Use Docker healthchecks for sahara services" 2021-03-26 10:40:30 +00:00
Zuul
00e7aa5ff7 Merge "Use Docker healthchecks for watcher services" 2021-03-26 10:29:02 +00:00
Zuul
4f798ef79b Merge "Use Docker healthchecks for senlin services" 2021-03-26 10:28:45 +00:00
Zuul
e9436d6adf Merge "Use Docker healthchecks for cyborg services" 2021-03-26 10:27:25 +00:00
Zuul
aa10561ca5 Merge "Use Docker healthchecks for skydive services" 2021-03-26 10:27:08 +00:00
Zuul
e2d2bc4242 Merge "Use Docker healthchecks for redis services" 2021-03-26 10:26:49 +00:00
Zuul
b07ccdeaa0 Merge "Use Docker healthchecks for blazar services" 2021-03-26 10:26:28 +00:00
Zuul
69b053469f Merge "Add kolla_externally_managed_cert option" 2021-03-26 10:26:11 +00:00
Zuul
304c26da95 Merge "Use Docker healthchecks for barbican services" 2021-03-26 10:25:12 +00:00
Zuul
d656f2c6f8 Merge "Use Docker healthchecks for tacker services" 2021-03-26 10:24:54 +00:00
Zuul
1d1d2aaefa Merge "Use Docker healthchecks for elasticsearch services" 2021-03-26 10:24:36 +00:00
Zuul
c2ff7d74c0 Merge "Register Elasticsearch in Keystone" 2021-03-26 09:54:58 +00:00
Zuul
9a32695165 Merge "Remove cinder v2 api" 2021-03-26 09:43:55 +00:00
Michal Nasiadka
3c3191692f OVN: Make OVS db entries idempotent
Co-Authored-By: Bartosz Bezak <bartosz@stackhpc.com>

Depends-On: https://review.opendev.org/c/openstack/kolla/+/782906

Change-Id: I73cd776772a45c9ffcb045f4d0eff8f4bdc997f1
2021-03-25 19:52:23 +00:00
Michał Nasiadka
df06af99e3 openvswitch: Add healthchecks
Depends-On: https://review.opendev.org/c/openstack/kolla/+/782815
Change-Id: I5230f017f1fa99629b81d944ba245c5778411b1f
2021-03-25 09:24:22 +00:00
Martin Chlumsky
400c5a9f18 Switch octavia-api to wsgi running under apache.
This change also adds support for Octavia backend TLS.

Closes-Bug: #1874228
Depends-On: https://review.opendev.org/c/openstack/kolla/+/779892
Change-Id: I5ff84aec4cdbc15f6a797391815243821dbdbd67
2021-03-24 20:55:20 -04:00
Zuul
d1e7964a8d Merge "Add missing octavia-driver-agent" 2021-03-24 19:12:02 +00:00
Zuul
8e9da5fa2d Merge "Follow up fixes for Monasca docs and formatting" 2021-03-24 19:03:42 +00:00
Zuul
ff2c29b21c Merge "Support bypassing Monasca Log API for control plane logs" 2021-03-24 19:03:19 +00:00
Zuul
d3a1a1a504 Merge "Support disabling Monasca alerting pipeline" 2021-03-24 19:02:54 +00:00
Zuul
f9a9a9f327 Merge "Disable Monasca Log Metrics service by default" 2021-03-24 18:32:17 +00:00
Zuul
6c18e5814e Merge "Remove Monasca Log Transformer" 2021-03-24 18:21:04 +00:00
Michal Nasiadka
7a066f7154 Add missing octavia-driver-agent
For using 3rd party Octavia providers (such as OVN provider) an
octavia-driver-agent container must be running to expose those providers to
use.

OVN CI job has been extended with deploying Octavia and testing OVN Load
Balancer.

Closes-Bug: #1903506
Depends-On: https://review.opendev.org/c/openstack/kolla/+/771191

Change-Id: Ibafa8b7307981f2a51e630cc113d18af6162171c
2021-03-24 16:36:44 +00:00
Zuul
cdffc4845f Merge "prometheus: Collect metrics from rabbitmq" 2021-03-24 10:23:09 +00:00
Mark Goddard
adf492bd9f cinder: fix condition to copy backend TLS certs
We need to import copy-certs.yml when either copying a CA file into
containers, or when a service has backend TLS enabled. Cinder only
included the former condition. This patch fixes it.

TrivialFix

Change-Id: I70aab86055cadad9abf28956c6d6e8a90a9668c0
2021-03-23 15:59:54 +00:00
Pierre Riteau
aa9ac3320f Add global tag variables for Panko and Skydive
This follows the pattern used in other roles.

Change-Id: Ie5e2ea2cab853b4f389c944863d9d2df542856ad
2021-03-23 14:47:53 +01:00
Piotr Parczewski
268f0e4c9f Disable usage collection in Kibana
This commit disables collection of usage data in Kibana by default.
User has still an option to enable it via GUI. Reference: [1]

[1] https://www.elastic.co/guide/en/kibana/7.x/telemetry-settings-kbn.html

Change-Id: Ic3a8bf05a73fb042ae42cbd26ccced60240d8e94
2021-03-22 22:28:30 +01:00
Zuul
7e67628b5f Merge "nova-cell: Stop printing ceph keys in output" 2021-03-19 15:52:45 +00:00
Will Szumski
25c33f9c94 Make it possible to override automatic fluentd version detection
One use case for this is so that you can generate config in a CI job
without access to the container repository. It also removes the
dependency of having docker configured for config generation.

TrivialFix

Change-Id: I0d388851c8b953af0494e44ae569e7eb9e15c326
2021-03-18 08:59:56 +00:00
Zuul
2ba4c88c8d Merge "Add support for custom grafana dashboards" 2021-03-17 16:48:48 +00:00
Zuul
ea2f0e6aa4 Merge "[docker] Added a new flag to disable default network" 2021-03-17 16:47:59 +00:00
Zuul
0bd235dffc Merge "don't use the same CIDR in octavia_amp_network_cidr and init-run-once" 2021-03-17 16:31:28 +00:00