- Jun 23, 2021
-
-
Mark Goddard authored
By default, Ansible injects a variable for every fact, prefixed with ansible_. This can result in a large number of variables for each host, which at scale can incur a performance penalty. Ansible provides a configuration option [0] that can be set to False to prevent this injection of facts. In this case, facts should be referenced via ansible_facts.<fact>. This change updates all references to Ansible facts within Kolla Ansible from using individual fact variables to using the items in the ansible_facts dictionary. This allows users to disable fact variable injection in their Ansible configuration, which may provide some performance improvement. This change disables fact variable injection in the ansible configuration used in CI, to catch any attempts to use the injected variables. [0] https://docs.ansible.com/ansible/latest/reference_appendices/config.html#inject-facts-as-vars Change-Id: I7e9d5c9b8b9164d4aee3abb4e37c8f28d98ff5d1 Partially-Implements: blueprint performance-improvements
-
- Jun 20, 2021
-
-
Radosław Piliszek authored
This reverts commit c6259158. Reason for revert: cAdvisor fails with: invalid value "percpu,referenced_memory,cpu_topology,resctrl,udp,advtcp,sched,hugetlb,memory_numa,tcp,process" for flag -disable_metrics: unsupported metric "referenced_memory" specified in disable_metrics Change-Id: I1a0eea5c20f95f38c707401b56b7d2454484377d
-
- Jun 16, 2021
-
-
Piotr Parczewski authored
Adds support for passing extra runtime options to cAdvisor. By default new options disable exporting rarely useful metrics and labels by cAdvisor. This helps reducing the load on Prometheus and cAdvisor itself. Change-Id: Id0144e8fa518e3236cb94ba2e3961fb455d36443
-
- Mar 02, 2021
-
-
Piotr Parczewski authored
Deprecates support for Prometheus v1.x. In Xena support for it will be removed from Kolla Ansible. Change-Id: I027b19621196c698e09f79af294ba1b5dbfc0516
-
- Jan 12, 2021
-
-
Piotr Parczewski authored
It is now possible to deploy either 1.x or 2.x version of Prometheus. The new 2.x version introduces breaking changes in terms of storage format and command line options. Change-Id: I80cc6f1947f3740ef04b29839bfa655b14fae146 Co-Authored-By:
Radosław Piliszek <radoslaw.piliszek@gmail.com>
-
- Oct 09, 2020
-
-
Pierre Riteau authored
Change-Id: I639145a709f1d3b9882bbdfb20a754646d1f5270
-
- Sep 01, 2020
-
-
Pierre Riteau authored
The Prometheus OpenStack exporter was needlessly configured to use the prometheus Docker volume and change permissions of /data, which does not exist in the container image. This must have been copy-pasted from existing Prometheus code. Change-Id: I96017c17e68ca7a00a2d5ac41f2f43ef87694514
-
- Aug 10, 2020
-
-
Mark Goddard authored
Previously we mounted /etc/timezone if the kolla_base_distro is debian or ubuntu. This would fail prechecks if debian or ubuntu images were deployed on CentOS. While this is not a supported combination, for correctness we should fix the condition to reference the host OS rather than the container OS, since that is where the /etc/timezone file is located. Change-Id: Ifc252ae793e6974356fcdca810b373f362d24ba5 Closes-Bug: #1882553
-
- Jul 27, 2020
-
-
Justinas Balciunas authored
This change disables services in the Prometheus openstack-exporter if they are not enabled in the deployment. Such behaviour allows to avoid warnings and errors in the log files and keep the log file contents clean and informative. Change-Id: I4dcac976620a5f451e3d273183199aefe400994a
-
- Apr 09, 2020
-
-
Dincer Celik authored
Some services look for /etc/timezone on Debian/Ubuntu, so we should introduce it to the containers. In addition, added prechecks for /etc/localtime and /etc/timezone. Closes-Bug: #1821592 Change-Id: I9fef14643d1bcc7eee9547eb87fa1fb436d8a6b3
-
- Mar 20, 2020
-
-
Doug Szumski authored
This is useful to people who manage their Prometheus Server externally to Kolla Ansible, or want to use the exporters with another framework such as Monasca. Change-Id: Ie3f61e2e186c8e77e21a7b53d2bd7d2a27eee18e
-
- Feb 25, 2020
-
-
James Kirsch authored
Service REST API urls should be constructed using the {{ internal_protocol }} and {{ external_protocol }} configuration parameters. Change-Id: Id1e8098cf59f66aa35b371149fdb4b517fa4c908 Closes-Bug: 1862817
-
- Feb 22, 2020
-
-
James Kirsch authored
Service configuration urls should be constructed using kolla_internal_fqdn instead of kolla_internal_vip_address. Otherwise SSL validation will fail when certificates are issued using domain names. Change-Id: I21689e22870c2f6206e37c60a3c33e19140f77ff Closes-Bug: 1862419
-
- Jan 10, 2020
-
-
Mark Goddard authored
For the CentOS 7 to 8 transition, we will have a period where both CentOS 7 and 8 images are available. We differentiate these images via a tag - the CentOS 8 images will have a tag of train-centos8 (or master-centos8 temporarily). To achieve this, and maintain backwards compatibility for the openstack_release variable, we introduce a new 'openstack_tag' variable. This variable is based on openstack_release, but has a suffix of 'openstack_tag_suffix', which is empty except on CentOS 8 where it has a value of '-centos8'. Change-Id: I12ce4661afb3c255136cdc1aabe7cbd25560d625 Partially-Implements: blueprint centos-rhel-8
-
- Oct 16, 2019
-
-
Radosław Piliszek authored
Introduce kolla_address filter. Introduce put_address_in_context filter. Add AF config to vars. Address contexts: - raw (default): <ADDR> - memcache: inet6:[<ADDR>] - url: [<ADDR>] Other changes: globals.yml - mention just IP in comment prechecks/port_checks (api_intf) - kolla_address handles validation 3x interface conditional (swift configs: replication/storage) 2x interface variable definition with hostname (haproxy listens; api intf) 1x interface variable definition with hostname with bifrost exclusion (baremetal pre-install /etc/hosts; api intf) neutron's ml2 'overlay_ip_version' set to 6 for IPv6 on tunnel network basic multinode source CI job for IPv6 prechecks for rabbitmq and qdrouterd use proper NSS database now MariaDB Galera Cluster WSREP SST mariabackup workaround (socat and IPv6) Ceph naming workaround in CI TODO: probably needs documenting RabbitMQ IPv6-only proto_dist Ceph ms switch to IPv6 mode Remove neutron-server ml2_type_vxlan/vxlan_group setting as it is not used (let's avoid any confusion) and could break setups without proper multicast routing if it started working (also IPv4-only) haproxy upgrade checks for slaves based on ipv6 addresses TODO: ovs-dpdk grabs ipv4 network address (w/ prefix len / submask) not supported, invalid by default because neutron_external has no address No idea whether ovs-dpdk works at all atm. ml2 for xenapi Xen is not supported too well. This would require working with XenAPI facts. rp_filter setting This would require meddling with ip6tables (there is no sysctl param). By default nothing is dropped. Unlikely we really need it. ironic dnsmasq is configured IPv4-only dnsmasq needs DHCPv6 options and testing in vivo. KNOWN ISSUES (beyond us): One cannot use IPv6 address to reference the image for docker like we currently do, see: https://github.com/moby/moby/issues/39033 (docker_registry; docker API 400 - invalid reference format) workaround: use hostname/FQDN RabbitMQ may fail to bind to IPv6 if hostname resolves also to IPv4. This is due to old RabbitMQ versions available in images. IPv4 is preferred by default and may fail in the IPv6-only scenario. This should be no problem in real life as IPv6-only is indeed IPv6-only. Also, when new RabbitMQ (3.7.16/3.8+) makes it into images, this will no longer be relevant as we supply all the necessary config. See: https://github.com/rabbitmq/rabbitmq-server/pull/1982 For reliable runs, at least Ansible 2.8 is required (2.8.5 confirmed to work well). Older Ansible versions are known to miss IPv6 addresses in interface facts. This may affect redeploys, reconfigures and upgrades which run after VIP address is assigned. See: https://github.com/ansible/ansible/issues/63227 Bifrost Train does not support IPv6 deployments. See: https://storyboard.openstack.org/#!/story/2006689 Change-Id: Ia34e6916ea4f99e9522cd2ddde03a0a4776f7e2c Implements: blueprint ipv6-control-plane Signed-off-by:
Radosław Piliszek <radoslaw.piliszek@gmail.com>
-
- Sep 18, 2019
-
-
Scott Solkhon authored
This commit follows up the work in Kolla to provide deploy and configure the Prometheus blackbox exporter. An example blackbox-exporter module has been added (disabled by default) called os_endpoint. This allows for the probing of endpoints over HTTP and HTTPS. This can be used to monitor that OpenStack endpoints return a status code of either 200 or 300, and the word 'versions' in the payload. This change introduces a new variable `prometheus_blackbox_exporter_endpoints`. Currently no defaults are specified because the configuration is heavily dependent on the deployment. Co-authored-by:
Jack Heskett <Jack.Heskett@gresearch.co.uk> Change-Id: I36ad4961078d90e2fd70c9a3368f5157d6fd89cd
-
- Jun 27, 2019
-
-
ZijianGuo authored
We don't add extra volumes support for all services in patch [1]. In order to unify the management of the volume, so we need add extra volumes support for these services. [1] https://opendev.org/openstack/kolla-ansible/commit/12ff28a69351cf8ab4ef3390739e04862ba76983 Change-Id: Ie148accdd8e6c60df6b521d55bda12b850c0d255 Partially-Implements: blueprint support-extra-volumes Signed-off-by:
ZijianGuo <guozijn@gmail.com>
-
- Mar 18, 2019
-
-
Doug Szumski authored
All Prometheus services should use the Prometheus install type which defaults to the Kolla install type, rather than directly using the Kolla install type. Change-Id: Ieaa924986dff33d4cf4a90991a8f34534cfc3468
-
- Mar 11, 2019
-
-
Erol Guzoglu authored
This patch implements the support for the elasticsearch-exporter in kolla-ansible The configuration and prechecks are reused from the other exporters Depends-On: Id138f12e10102a6dd2cd8d84f2cc47aa29af3972 Change-Id: Iae0eac0179089f159804490bf71f1cf2c38dde54
-
- Mar 01, 2019
-
-
Doug Szumski authored
Change-Id: Idd570626851c068b9a2daf3f1550346d419f9c9b
-
- Feb 27, 2019
-
-
Doug Szumski authored
This allows an operator to pin the Prometheus docker image tag for all Prometheus images to that specified by the `prometheus_tag`. Without this change, the alert manager and cadvisor tags would also need to be set. Change-Id: Iadef001af7d3be5b2a39ce5e2363d05a33a775e4
-
- Jan 21, 2019
-
-
Jorge Niedbalski authored
This patch implements the initial support for the openstack-exporter[0] in the kolla-ansible prometheus monitoring system. The configuration and prechecks are reused from the other exporters and a new template is provided for generating a os-client-config file required by the exporter. The default scrape interval is 60 seconds, but it can be extended via a configuration option. [0] https://github.com/Linaro/openstack-exporter Change-Id: I4a34c4bb56e74b5cd544972cbd6540d9acb6e4a1
-
- Sep 26, 2018
-
-
Adam Harwell authored
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
-
- Sep 25, 2018
-
-
Ha Manh Dong authored
Change-Id: I0444b23aee900d028c879ec64d153d59a18ff504
-
- Jul 23, 2018
-
-
Lakshmi Prasanna Goutham Pratapa authored
This commit is the final commit to apply resource-constraints to all OpenStack services. Depends-on: I39004f54281f97d53dfa4b1dbcf248650ad6f186 Change-Id: I072d69be9698be54775cb0ae286ea2b6ed78776c Implements: blueprint resource-constraints
-
- Jul 11, 2018
-
-
Jorge Niedbalski authored
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>
-
- May 29, 2018
-
-
Mark Giles authored
cAdvisor (Container Advisor) provides metrics on resource usage and performance characteristics of running containers. This change deploys a cadvisor container and configures prometheus to scrape data from it. Change-Id: I55dd4fee954f9be68efda397746861ddaaa0a565 Partially-Implements: blueprint prometheus
-
- May 25, 2018
-
-
Jorge Niedbalski authored
This patch adds the prometheus_memcached_exporter[0] to the list of available exporters, following the conventions used by the previously integrated exporters. [0] https://github.com/openstack/kolla/tree/master/docker/prometheus-memcached-exporter Change-Id: I103b0ee19ef2fd17ce19a27d60773675ad234c1c Closes-Bug: #1773303 Signed-off-by:
Jorge Niedbalski <jorge.niedbalski@linaro.org>
-
- Apr 19, 2018
-
-
Mathias Ewald authored
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
-