Skip to content
Snippets Groups Projects
  1. Oct 12, 2021
    • Maksim Malchuk's avatar
      Update dnsmasq logging · d559e2c3
      Maksim Malchuk authored
      
      This change adds the dnsmasq.log for the ironic-dnsmasq container and
      also enables more verbose logging when debug logging enabled.
      This can be triggered globbaly via 'openstack_logging_debug' or per
      service via 'ironic_logging_debug' or 'neutron_logging_debug'.
      
      Change-Id: I0e6b089beb88827effbcc365625eb2df902f5470
      Signed-off-by: default avatarMaksim Malchuk <maksim.malchuk@gmail.com>
      d559e2c3
  2. Sep 27, 2021
  3. Aug 09, 2021
  4. Jun 23, 2021
    • Mark Goddard's avatar
      Use ansible_facts to reference facts · ade5bfa3
      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
      ade5bfa3
  5. Jun 11, 2021
    • Matthias Runge's avatar
      Remove support for panko · ccf8cc5d
      Matthias Runge authored
      the project is deprecated and in the process of being removed
      from OpenStack upstream.
      
      Change-Id: I9d5ebed293a5fb25f4cd7daa473df152440e8b50
      ccf8cc5d
  6. Jun 07, 2021
    • John Garbutt's avatar
      Robustify fluentd output tag matching · e7ff199d
      John Garbutt authored
      We really want elasticsearch or monasca to catch all logs,
      to providd the required centrailsed logging.
      
      While these appears to make little material difference,
      it should make it harder for logs to not get caught by
      any of the outputs we have configured.
      
      TrivialFix
      
      Change-Id: I3bb74dcdc3cbe78cd1e1657f44e2a0af9d6508ef
      e7ff199d
  7. Jun 04, 2021
  8. Jun 03, 2021
    • John Garbutt's avatar
      Fix parsing of infra.mariadb.xinetd logs · 7f1248fe
      John Garbutt authored
      Currently the logs tagged with infra.mariadb.xinetd flow into
      elasticsearch with no hostname or programname attach, thus making
      navigating the logs very hard.
      
      The quick fix is renaming the tag to infra.mariadb-xinetd, which is just
      enought to ensure the logs are processed correctly with the existing
      filters.
      
      TrivialFix
      
      Change-Id: Icd72206de7c1f701bdf35c8fb3b128ef2dbe29a8
      7f1248fe
    • John Garbutt's avatar
      Stop fluentd deprecation warnings of type vs @type · 0c7ba86e
      John Garbutt authored
      Currently when elasticsearch log output is enabled there are lots
      of warnings going into elasticsearch about type being deprecated
      and needing to move to @type. This change stops those warnings.
      
      TrivialFix
      
      Change-Id: Ideac1925cb764ad0d7d8416f56d5e4a993c6d8b6
      0c7ba86e
  9. May 10, 2021
    • John Garbutt's avatar
      Use @type instead of type · fe664774
      John Garbutt authored
      This is a follow up on the change with the following ID:
      
      I337f42e174393f68b43e876ef075a74c887a5314
      
      TrivialFix
      
      Change-Id: Ibb67811d7b086ef9ef4c695ae589171af0c4d657
      fe664774
  10. Mar 25, 2021
  11. Mar 04, 2021
    • Doug Szumski's avatar
      Support bypassing Monasca Log API for control plane logs · ca1a80ab
      Doug Szumski authored
      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
      ca1a80ab
  12. Jan 27, 2021
    • Doug Szumski's avatar
      Fix Barbican API log config · 1ff4e58d
      Doug Szumski authored
      There are a few issues fixed here:
      
      - The Barbican API service doesn't set a log file, so all the Barbican API
        service logs go to loadwsgi.py.log by default.
      - The logs in loadwsgi.py.log are not ingested properly by Fluentd.
      - uWSGI logs go to barbican-api.log. This would normally be used as the log
        file for the Barbican API service logs.
      
      This patch makes the following changes to address the above issues:
      
      - All uWSGI logs (from the Emperor and Vassals) go to barbican_api_uwsgi_access.log
        Although these logs aren't strictly all access logs, this follows the existing
        pattern for WSGI logs.
      - The Barbican API service logs are written to barbican-api.log instead of
        loadwsgi.py.log. This follows the pattern used by other OpenStack services.
      - Fluentd is configured to parse the Barbican API service logs as it would with
        other OpenStack Python services.
      
      Change-Id: I6d03fa8c81c52b6f061514a836bbd15bb6639aaf
      Closes-Bug: #1891343
      1ff4e58d
  13. Dec 16, 2020
  14. Oct 12, 2020
    • James Kirsch's avatar
      Add support for encrypting backend Neutron API Server · 93ad57f4
      James Kirsch authored
      Add TLS support for backend Neutron API Server communication using
      HAProxy to perform TLS termination. When used in conjunction with
      enabling TLS for service API endpoints, network communication will be
      encrypted end to end, from client through HAProxy to the Neutron
      service.
      
      Change-Id: Ib333a1f1bd12491df72a9e52d961161210e2d330
      Partially-Implements: blueprint add-ssl-internal-network
      93ad57f4
  15. Sep 18, 2020
  16. Aug 19, 2020
    • Rafael Weingärtner's avatar
      Standardize use and construction of endpoint URLs · f425c067
      Rafael Weingärtner authored
      
      The goal for this push request is to normalize the construction and use
       of internal, external, and admin URLs. While extending Kolla-ansible
       to enable a more flexible method to manage external URLs, we noticed
       that the same URL was constructed multiple times in different parts
       of the code. This can make it difficult for people that want to work
       with these URLs and create inconsistencies in a large code base with
       time. Therefore, we are proposing here the use of
       "single Kolla-ansible variable" per endpoint URL, which facilitates
       for people that are interested in overriding/extending these URLs.
      
      As an example, we extended Kolla-ansible to facilitate the "override"
      of public (external) URLs with the following standard
      "<component/serviceName>.<companyBaseUrl>".
      Therefore, the "NAT/redirect" in the SSL termination system (HAproxy,
      HTTPD or some other) is done via the service name, and not by the port.
      This allows operators to easily and automatically create more friendly
       URL names. To develop this feature, we first applied this patch that
       we are sending now to the community. We did that to reduce the surface
        of changes in Kolla-ansible.
      
      Another example is the integration of Kolla-ansible and Consul, which
      we also implemented internally, and also requires URLs changes.
      Therefore, this PR is essential to reduce code duplicity, and to
      facility users/developers to work/customize the services URLs.
      
      Change-Id: I73d483e01476e779a5155b2e18dd5ea25f514e93
      Signed-off-by: default avatarRafael Weingärtner <rafael@apache.org>
      f425c067
  17. Aug 06, 2020
  18. Jul 21, 2020
    • Pierre Riteau's avatar
      Fix fluentd warnings caused by "type copy" · 5b057812
      Pierre Riteau authored
      A "@type copy" statement is already present at the beginning of each
      match element, so extra "type copy" are not needed. They are causing the
      following warnings in fluentd logs:
      
      [warn]: parameter 'type' in <match syslog.local0.**>
      [warn]: parameter 'type' in <match syslog.local1.**>
      
      This commit also harmonizes indentation of the Monasca config block.
      
      Change-Id: I779c2b942d007acbdd43d999f2fc0cdc131d431f
      Related-Bug: #1885873
      5b057812
  19. Jul 02, 2020
  20. Jul 01, 2020
  21. Jun 25, 2020
    • Mark Goddard's avatar
      Support CA certificate for fluentd & Elasticsearch · 31f3f848
      Mark Goddard authored
      Currently there is no way to configure a CA certificate bundle file for
      fluentd to Elasticsearch communication. This change adds a new variable,
      'fluentd_elasticsearch_cacert' with a default value set to the value of
      'openstack_cacert.
      
      Closes-Bug: #1885109
      
      Change-Id: I5bbf55a4dd4ccce9fa2635cee720139c088268e3
      31f3f848
  22. Jun 20, 2020
  23. May 23, 2020
    • Doug Szumski's avatar
      Switch to Monasca API for logs · b39a0f80
      Doug Szumski authored
      The Monasca Log API has been removed and in this change we switch
      to using the unified API. If dedicated log APIs are required then
      this can be supported through configuration. Out of the box the
      Monasca API is used for both logs and metrics which is envisaged to
      work for most use cases.
      
      In order to use the unified API for logs, we need to disable the
      legacy Kafka client. We also rename the Monasca API config file
      to remove a warning about using the old style name.
      
      Depends-On: https://review.opendev.org/#/c/728638
      Change-Id: I9b6bf5b6690f4b4b3445e7d15a40e45dd42d2e84
      b39a0f80
  24. May 20, 2020
  25. May 15, 2020
  26. Apr 30, 2020
  27. Apr 17, 2020
    • Q.hongtao's avatar
      Add vitrage-persistor service · d0b06f67
      Q.hongtao authored
      Kolla Ansible was missing vitrage-persistor service
      required by Vitrage for data storage.
      
      Depends on fixing availability of Kolla image.
      
      Change-Id: I8158ba66b8b624f6bcb89da9c990a30a68b7187b
      Depends-On: Id5e143636f9a81e7294b775f3d8b9134bee58054
      Closes-Bug: #1869319
      d0b06f67
  28. Mar 18, 2020
  29. Feb 04, 2020
    • Doug Szumski's avatar
      Disable Fluentd Monasca plugin retry limit · f19eb7de
      Doug Szumski authored
      By default a retry limit of 17 exists. When the limit is reached buffered
      logs are discarded. To avoid this, we disable the retry limit. The risk of
      bringing down the host by filling the Fluent data docker volume is managed
      by the maximum buffer size which is 2GB by default.
      
      In summary, after this change, the net behaviour is that Fluentd should
      buffer up to a maximum of 2GB of logs locally, and attept to post them to
      the Monasca Log API at intervals not exceeding 30 minutes.
      
      Closes-Bug: #1855702
      Change-Id: I0d5a3dab29635c00411f4f51e5a0721726df2abd
      f19eb7de
    • Doug Szumski's avatar
      Enable buffering to file for Monasca logs · 5293b129
      Doug Szumski authored
      This enables buffering to file, rather than memory for Monasca logs.
      A dedicated docker volume is used for the file buffer. If a post
      to the Monasca Log API fails, retries will be made using an exponential
      backoff algorithm with a maximum retry interval of 30mins. The maximum
      interval is set relatively low to try and reduce the risk of large
      buffers accumulating, and therefore the risk of overloading the Monasca
      Log API.
      
      Closes-Bug: #1855700
      Change-Id: Ib5286e9dbaf2bc92d2f4960b2131223ab5dbdbec
      5293b129
  30. Dec 09, 2019
  31. Dec 01, 2019
  32. Nov 18, 2019
    • Michal Nasiadka's avatar
      Remove OpenDaylight role · eec6831f
      Michal Nasiadka authored
      Opendaylight support has been deprecated in Train - time to remove it.
      
      Change-Id: I3a61bfbcbf366c327ea3e25d2424bc3fedca29f0
      eec6831f
  33. Nov 05, 2019
  34. Oct 29, 2019
    • Isaac Prior's avatar
      Parse MariaDB log messages in different formats into Fluentd · 233a187a
      Isaac Prior authored
      MariaDB logs contain two different log message formats, one output
      from mysqld and one from mysqld_safe. This patch splits the message
      formats by tag and parses them separately.
      
      Change-Id: I58857be67ae387eeda7487811a6af85b0f95970c
      Closes-Bug: #1845629
      233a187a
  35. Oct 16, 2019
    • Radosław Piliszek's avatar
      Implement IPv6 support in the control plane · bc053c09
      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: default avatarRadosław Piliszek <radoslaw.piliszek@gmail.com>
      bc053c09
Loading