12108 Commits

Author SHA1 Message Date
Zuul
c02a223769 Merge "CI: Move from ceph-ansible to cephadm" 2021-03-05 09:11:32 +00:00
Zuul
9194a3e99b Merge "Fix Cinder log parsing" 2021-03-04 13:03:17 +00:00
Doug Szumski
647ff667e6 Add variable for changing Apache HTTP timeout
In services which use the Apache HTTP server to service HTTP requests,
there exists a TimeOut directive [1] which defaults to 60 seconds. APIs
which come under heavy load, such as Cinder, can sometimes exceed this
which results in a HTTP 504 Gateway timeout, or similar. However, the
request can still be serviced without error. For example, if Nova calls
the Cinder API to detach a volume, and this operation takes longer
than the shortest of the two timeouts, Nova will emit a stack trace
with a 504 Gateway timeout. At some time later, the request to detach
the volume will succeed. The Nova and Cinder DBs then become
out-of-sync with each other, and frequently DB surgery is required.

Although strictly this category of bugs should be fixed in OpenStack
services, it is not realistic to expect this to happen in the short
term. Therefore, this change makes it easier to set the Apache HTTP
timeout via a new variable.

An example of a related bug is here:

https://bugs.launchpad.net/nova/+bug/1888665

Whilst this timeout can currently be set by overriding the WSGI
config for individual services, this change makes it much easier.

Change-Id: Ie452516655cbd40d63bdad3635fd66693e40ce34
Closes-Bug: #1917648
2021-03-04 11:25:06 +00:00
Doug Szumski
ca1a80ab2f Support bypassing Monasca Log API for control plane logs
This change allows a user to forward control plane logs
directly to Elasticsearch from Fluentd, rather than via
the Monasca Log API when Monasca is enabled. The Monasca
Log API can continue to handle tenant logs.

For many use cases this is simpler, reduces resource
consumption and helps to decouple control plane logging
services from tenant logging services.

It may not always be desired, so is optional and off by
default.

Change-Id: I195e8e4b73ca8f573737355908eb30a3ef13b0d6
2021-03-04 09:19:50 +00:00
Doug Szumski
444097848c Support disabling Monasca alerting pipeline
The Monasca alerting pipeline provides multi-tenancy alerts and
notifications. It runs as an Apache Storm topology and generally
places a significant memory and CPU burden on monitoring hosts,
particularly when there are lot of metrics. This is fine if the
alerting service is in use, but sometimes it is not. For example
you may use Prometheus for monitoring the control plane, and
wish to offer tenants a monitoring service via Monasca without
alerting and notification functionality. In this case it makes
sense to disable this part of the Monasca pipeline and this patch
adds support for that.

If the service is ever re-enabled, all alerts and notifications
should spawn back automatically since they are persisted in the
central mysql database cluster.

Change-Id: I84aa04125c621712f805f41c8efbc92c8e156db9
2021-03-04 09:19:44 +00:00
wuchunyang
366ba8526e CI: octavia: create and test a load balancer
Co-Authored-By: Mark Goddard <mark@stackhpc.com>
Change-Id: I20c1d9bddee5a046b521b9378bade2ab50612be0
2021-03-04 09:27:38 +08:00
Doug Szumski
a52d661219 Disable Monasca Log Metrics service by default
The Log Metrics service is an admin only service. We now have
support in Fluentd via the Prometheus plugin to create metrics
from logs. These metrics can be scraped into Monasca or Prometheus.
It therefore makes sense to deprecate this service, starting by
disabling it by default, and then removing it in the Xena release.
This should improve the stability of the Monasca metrics pipeline
by ensuring that all metrics pass via the Monasca API for
validation, and ensure that metrics generated from logs are
available to both Prometheus and Monasca users by default.

Change-Id: I704feb4434c1eece3eb00c19dc5f934fd4bc27b4
2021-03-03 17:20:18 +00:00
Doug Szumski
0743a9bf4b Remove Monasca Log Transformer
Historically Monasca Log Transformer has been for log
standardisation and processing. For example, logs from different
sources may use slightly different error levels such as WARN, 5,
or WARNING. Monasca Log Transformer is a place where these could
be 'squashed' into a single error level to simplify log searches
based on labels such as these.

However, in Kolla Ansible, we do this processing in Fluentd so
that the simpler Fluentd -> Elastic -> Kibana pipeline also
benefits. This helps to avoid spreading out log parsing
configuration over many services, with the Fluentd Monasca output
plugin being yet another potential place for processing (which
should be avoided). It therefore makes sense to remove this
service entirely, and squash any existing configuration which
can't be moved to Fluentd into the Log Perister service. I.e.
by removing this pipeline, we don't loose any functionality,
we encourage log processing to take place in Fluentd, or at least
outside of Monasca, and we make significant gains in efficiency
by removing a topic from Kafka which contains a copy of all logs
in transit.

Finally, users forwarding logs from outside the control plane,
eg. from tenant instances, should be encouraged to process the
logs at the point of sending using whichever framework they are
forwarding them with. This makes sense, because all Logstash
configuration in Monasca is only accessible by control plane
admins. A user can't typically do any processing inside Monasca,
with or without this change.

Change-Id: I65c76d0d1cd488725e4233b7e75a11d03866095c
2021-03-03 17:20:18 +00:00
Zuul
1fb56cf5be Merge "Use Docker healthchecks for magnum services" 2021-03-03 17:07:03 +00:00
Zuul
21b9b5092f Merge "[CI] Cinder upgrade testing" 2021-03-03 16:47:27 +00:00
Zuul
933d575bd5 Merge "Revert "CI: Temporarily disable rabbitmq internal tls"" 2021-03-03 16:38:22 +00:00
wuchunyang
2cb83b9ae4 Use Docker healthchecks for watcher services
This change enables the use of Docker healthchecks for watcher
services.
Implements: blueprint container-health-check

Change-Id: I0774063dd970507e566637138167ed1af9a2874c
2021-03-03 21:43:57 +08:00
LinPeiWen
d2d91d9ec1 Use Docker healthchecks for senlin services
This change enables the use of Docker healthchecks for senlin services.
Implements: blueprint container-health-check

Change-Id: I148a0174c46244241580265d0fedc0fb1b92602c
2021-03-03 11:23:09 +00:00
wuchunyang
6973c71a60 Use Docker healthchecks for cyborg services
This change enables the use of Docker healthchecks for cyborg
services.
Implements: blueprint container-health-check

Change-Id: I5326b142eaa826f97c32498cd2a9a0cba65be698
2021-03-03 11:10:39 +00:00
LinPeiWen
5c2d1c90be Use Docker healthchecks for octavia services
This change enables the use of Docker healthchecks for octavia services.
Implements: blueprint container-health-check

Change-Id: I2ec11544b0e9c66a1821bfe0f9a40a9e9d88033b
2021-03-03 11:08:16 +00:00
LinPeiWen
9688635e42 Use Docker healthchecks for skydive services
This change enables the use of Docker healthchecks for skydive services.
Implements: blueprint container-health-check

Change-Id: I2e18f2d912dad92a327261e092da358911531ebe
2021-03-03 09:44:00 +00:00
LinPeiWen
66888bb7e0 Use Docker healthchecks for redis services
This change enables the use of Docker healthchecks for redis services.
Implements: blueprint container-health-check

Change-Id: I0590c5b22ef8eb733211b029cdd73a055d58af11
2021-03-03 07:06:39 +00:00
Mark Goddard
3c5ccb915e CI: octavia: remove octavia from magnum scenario
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/755589
Co-Authored-By: wu.chunyang <wuchunyang@yovole.com>

Change-Id: I489c1ca23d8abc350d3204ecc167d5d93bbbd1d9
2021-03-03 10:54:38 +08:00
Mark Goddard
5d3ebc0452 octavia: support tenant management network
- bind health manager port to ovs
- create a octavia-interface.service (used for creating health manager
  interface after reboot)
- used for ci, test or poc

Implements: blueprint implement-automatic-deploy-of-octavia

Change-Id: I8ac30dea6c8402d97189c6b05032c608936b0ff2
Co-Authored-By: wu.chunyang <wuchunyang@yovole.com>
2021-03-03 10:20:40 +08:00
Arthur Outhenin-Chalandre
57220ce1d9 Add kolla_externally_managed_cert option
This option disables copy of certificates from the operator host to
kolla-ansible managed hosts.

This is especially useful if you already have some mechanisms to handle
your certificates directly on your hosts.

Co-Authored-By: Marc 'risson' Schmitt <marc.schmitt@risson.space>
Change-Id: Ie18b2464cb5a65a88c4ac191a921b8074a14f504
2021-03-02 18:09:06 +01:00
Michał Nasiadka
65a16a08e2 CI: Move from ceph-ansible to cephadm
Change-Id: I81a4f8f8b8faa7559740531bb16d8aec7fc23f9b
2021-03-02 17:49:12 +01:00
Zuul
1b1d06a9d7 Merge "Add Monasca Grafana security note" 2021-03-02 16:35:57 +00:00
Piotr Parczewski
a50bef0f76 Deprecate Prometheus 1.x
Deprecates support for Prometheus v1.x.
In Xena support for it will be removed from Kolla Ansible.

Change-Id: I027b19621196c698e09f79af294ba1b5dbfc0516
2021-03-02 16:33:35 +01:00
Michał Nasiadka
dbc63244ab nova-cell: Stop printing ceph keys in output
Change-Id: Ib6719a033b37be3e248b682795b7243c60b22b84
2021-03-02 16:24:39 +01:00
wuchunyang
7bab7d0d27 Use Docker healthchecks for tacker services
This change enables the use of Docker healthchecks for tacker
services.
Implements: blueprint container-health-check

Change-Id: Ib33863e4bf78f73a28d82b222ab349909ebb6671
2021-03-02 20:07:53 +08:00
LinPeiWen
2518e926d9 Use Docker healthchecks for trove services
This change enables the use of Docker healthchecks for trove services.
Implements: blueprint container-health-check

Change-Id: I55badd93f92f82e020ef80b06c788600e597d068
2021-03-02 11:42:34 +00:00
Bartosz Bezak
44cf00ab04 don't use the same CIDR in octavia_amp_network_cidr and init-run-once
Currently kolla-ansible uses the same CIDR in init-run-once script
and for octavia_amp_network_cidr.

Change-Id: I5ab24fbf9be4acbd691f13d33908aa44d2b4d496
2021-02-26 09:15:23 +01:00
Michał Nasiadka
a8981a79aa CI: Add ssh retries
Change-Id: I77791d504327ace880d0cc2438af2f8ced66d4eb
2021-02-24 16:42:06 +00:00
Doug Szumski
fa5511c75d Fix Cinder log parsing
The Cinder API log is currently written to a file called
cinder-wsgi.log, and the WSGI logs to cinder-api.log. Fluentd
then tries to parse the WSGI log as an OpenStack log which
results in 'got incomplete line' errors and prevents proper
ingestion of these logs.

Co-Authored-By: yaoning <yaoning@unitedstack.com>
Closes-Bug: 1916752
Change-Id: I3296dcc4780160cbf88bd18285571276f58bb249
2021-02-24 13:27:00 +00:00
wuchunyang
e315446291 Improve trove releasenote
trivial fix
see: https://review.opendev.org/c/openstack/kolla-ansible/+/763191

Change-Id: I7f5a5ba5e9a6b3866fc4d2c72b7b4884c85020bd
2021-02-23 22:04:46 +08:00
Piotr Parczewski
fc72887d31 Add Neutron DHCP agent to OVN networking setup
This commit adds possibility to deploy Neutron's DHCP agents in OVN
networking scenario.

Co-Authored-By: Michał Nasiadka <mnasiadka@gmail.com>

Change-Id: I073d04319b510182f5c1478e728c0c5bcc8799f1
2021-02-23 13:57:48 +01:00
Doug Szumski
9e668902c2 Register Elasticsearch in Keystone
This makes it possible for services to fetch the Elasticsearch endpoint
from Keystone. It is useful for both operators and Monasca Tempest.

Change-Id: Id60298582496a8959e82b970676669ca17e2e9d4
2021-02-23 10:22:50 +00:00
Zuul
d6f266b38d Merge "docs: Add information on tuning Ansible" 2021-02-23 09:11:13 +00:00
Zuul
c084795c9e Merge "Use trove.conf for all trove services" 2021-02-22 12:57:30 +00:00
Zuul
436cde8dd4 Merge "CI: Initial jinja2 templates syntax checks" 2021-02-22 10:57:30 +00:00
wu.chunyang
2bc50cd64e Use Docker healthchecks for sahara services
This change enables the use of Docker healthchecks for sahara
services.
Implements: blueprint container-health-check

Change-Id: I091ce194cc3180d500e287832810b499d7b100be
2021-02-21 08:12:36 -05:00
wu.chunyang
26a7fc04c6 Use Docker healthchecks for magnum services
This change enables the use of Docker healthchecks for magnum
services.
Implements: blueprint container-health-check

Change-Id: I14d862aa599915c781d02b71a0e57d2124de9abc
2021-02-21 07:05:46 -05:00
wu.chunyang
b567154395 Use trove.conf for all trove services
it was confused to customize opts in trove-conductor.conf
or trove-taskmanager.conf now.
if we want to customize a opts,The operator needs
to know which service is using the configuration opts.
actually trove uses trove.conf is enough for all services
this change combines  all trove config files.

Change-Id: I5a630109e3c4b59bff216146a3ed64c6d47e247f
2021-02-20 10:03:14 -05:00
Michal Nasiadka
a00fec8cc6 CI: Initial jinja2 templates syntax checks
Change-Id: If42b7324b58851a4f0beb3a80c70ca2c9dd729af
2021-02-20 09:37:48 +01:00
Zuul
4d4dff0cb8 Merge "Use a better process name for httpd subprocess" 2021-02-20 05:07:48 +00:00
Zuul
87d8bd414d Merge "Add support to OpenID Connect Authentication flow" 2021-02-19 23:15:07 +00:00
Zuul
d3d3cd6b3e Merge "Use Docker healthchecks for manila services" 2021-02-19 20:44:37 +00:00
Zuul
cb4ee5c862 Merge "Add IPv6 configuration options to Octavia management network" 2021-02-19 20:44:28 +00:00
Zuul
4bf52895db Merge "ovn: Fix disabling of gateway chassis" 2021-02-18 12:30:38 +00:00
Zuul
6a6dcfcf28 Merge "Replace db-sock with db-nb-sock and db-sb-sock" 2021-02-18 10:50:04 +00:00
Zuul
f00cd7b55f Merge "Lint and fix renos" 2021-02-17 17:31:10 +00:00
Zuul
90a079b8a7 Merge "Update String type for Monasca ES template" 2021-02-16 17:11:55 +00:00
Zuul
38a2097935 Merge "[CI] Fix the NFV scenario" 2021-02-16 16:46:16 +00:00
Michał Nasiadka
ec04972b72 ovn: Fix disabling of gateway chassis
It currently runs on hosts in ovn group, and in case that controllers are not
network gateways - it fails on missing openvswitch.

Change-Id: Ibbf683872337402b4e2a38323bb6a3f35ee4bed4
2021-02-16 17:30:07 +01:00
Bharat Kunwar
e3c199d181 Rename eswitchd.conf -> eswitchd.conf.j2
In I173669bdf92b1f2ea98907ba16808ca3c914944c, eswitchd.conf.j2 template
file missed a .j2 at the end. This PS rectifies it.

Change-Id: I251febe3fd192372177116569f41ccb9aa225302
2021-02-16 15:16:40 +00:00