Skip to content
Snippets Groups Projects
  1. Sep 05, 2022
    • Stig Telfer's avatar
      Increase the Fluentd request timeout for ES · ffb4767c
      Stig Telfer authored
      Fluentd has a default timeout of 5s for flushing data to ElasticSearch.
      If there is a significant backlog of unsent log messages, this timeout
      can be exceeded, resulting in Fluentd failing to make further progress.
      
      Raise the default timeout to 60s.
      
      This patch adopts the configuration parameters previously proposed by
      Krzysztof Klimonda.
      
      Closes-Bug: #1983031
      Closes-Bug: #1896611
      Change-Id: I1aaab654a5a0752fccef2cfb8cc0bde4a0ee2562
      ffb4767c
  2. Apr 16, 2022
  3. Feb 11, 2022
  4. Jan 25, 2022
    • Isaac Prior's avatar
      Fix log rotation for fluentd created files · 79b59e2c
      Isaac Prior authored
      Overrides default fluentd buffer config to stop log files from using
      datestamped filenames, allowing logrotate to manage them.
      
      Closes-Bug: #1940118
      Change-Id: I40c4e209470d21e0a02fd447fb628acfdae9fa9d
      79b59e2c
  5. Sep 27, 2021
  6. Jun 04, 2021
  7. Jun 03, 2021
    • 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
  8. 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
  9. 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
  10. 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
  11. Sep 18, 2020
  12. 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
  13. 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
  14. Jul 02, 2020
  15. 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
  16. 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
  17. May 15, 2020
  18. Apr 30, 2020
    • James Kirsch's avatar
      Add support for encrypting Glance api · f87814f7
      James Kirsch authored
      Add TLS support for Glance api using HAProxy to perform TLS termination.
      
      Change-Id: I77051baaeb5d3f7dd9002262534e7d35f3926809
      Partially-Implements: blueprint add-ssl-internal-network
      f87814f7
  19. 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
  20. Dec 09, 2019
  21. 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
  22. May 30, 2019
  23. May 23, 2019
  24. Oct 12, 2018
    • Doug Szumski's avatar
      Forward system logs to Monasca Log API · 58eec5ca
      Doug Szumski authored
      When Monasca is enabled disable direct logging to ElasticSearch and
      send all logs harvested by Fluentd to the Monasca Log API.
      
      This change also cleans up output files which may be left behind when
      the various log forwarding options are enabled / disabled.
      
      Partially-Implements: blueprint monasca-roles
      Change-Id: I7197966c5117176407d60c86c08d3bcea5e8131a
      58eec5ca
  25. Sep 28, 2017
    • Tatsuma Matsuki's avatar
      Add fluentd enable option · 03354bc9
      Tatsuma Matsuki authored
      This change adds enable_fluentd option and enables some other log shippers
      to be integrated. When enable_fluentd is "no", syslog server is also disabled.
      Then, this change also adds syslog parameters to use a syslog server
      prepared by users.
      
      Change-Id: I7c83ef7fe30a6b9ab7385bcee953ad07e96b0a83
      Implements: blueprint fluentd-enable-option
      03354bc9
  26. May 11, 2017
    • ShunliZhou's avatar
      Remove symlink from fluentd global conf · 24ed428f
      ShunliZhou authored
      As the logrotate will create new filename with timestamp, fluentd
      with symlink will staled when restart fluentd and can not set
      permission on the old file.
      
      Remove symlink from the global conf.
      
      Change-Id: I404868d5b5077b9f2135e37605421bc84717f9d3
      Closes-Bug: #1685170
      24ed428f
  27. May 02, 2017
    • Bertrand Lallau's avatar
      Configure Kibana default index pattern · 2afc869d
      Bertrand Lallau authored
      When Kibana interface is opened for the first time, it requires creating
      a default index pattern. To view, analyse and search logs, at least one
      index pattern has to be created.
      This patch automate "flog-*" default index pattern creation and set it
      has default config.
      
      Partially-implements: blueprint default-kibana-dashboard
      Change-Id: Ie36696f9ad38ba7e49e65e0793a3b98d9f03ee8d
      2afc869d
  28. Mar 20, 2017
    • Graeme Seaton's avatar
      Set fluentd output to elasticsearch to use elasticsearch_address · 7f3cab65
      Graeme Seaton authored
      Haproxy binds the elasticsearch service to kolla_internal_vip_address but
      the output templates for fluentd (td-agent) point to a non-existent
      kolla_external_vip_address.
      
      Output should also be able to be sent to an external elasticsearch
      instance (as per the documentation regarding overriding
      elasticsearch_address)
      
      Change these settings so that fluentd outputs to either
      the default elasticsearch_address (i.e. kolla_internal_vip_address) or to
      the external elasticsearch instance.
      
      Closes-Bug: #1673990
      Change-Id: I081533ae8ea9aad186e9c44e1dee069729931453
      7f3cab65
  29. Feb 15, 2017
  30. Jan 24, 2017
    • zhubingbing's avatar
      Add fluentd role · d3d4a933
      zhubingbing authored
      
      * add fluentd role
      * remove heka configure
      
      Co-Authored-By: default avataryangzb09 <yangzb09@qq.com>
      
      Partially-Implements: blueprint add-fluentd-role
      
      Change-Id: Ica804a99f5bb8b157f406299c5982b7b6283b3e3
      d3d4a933
Loading