Skip to content
Snippets Groups Projects
  1. Nov 07, 2023
  2. Aug 18, 2023
    • Léo Gillot-Lamure's avatar
      loadbalancer: remove support for haproxy_processes · b230858f
      Léo Gillot-Lamure authored
      Threads are the recommended way to scale CPU performance since HAProxy
      1.8.
      
      Official documentation says: « While "nbproc" historically used to be the only
      way to use multiple processors, it also involved a number of shortcomings
      related to the lack of synchronization between processes (health-checks, peers,
      stick-tables, stats, ...) which do not affect threads. As such, any modern
      configuration is strongly encouraged to migrate away from "nbproc" to
      "nbthread". ».
      
      Change-Id: I6f2e9d74e68703c8e0827e495945a75f020e1561
      b230858f
  3. Aug 02, 2023
    • Léo Gillot-Lamure's avatar
      loadbalancer: support cpu-map for threads · 789ac738
      Léo Gillot-Lamure authored
      The directive used has the same semantic as what is done above for nbproc > 1:
      it binds each thread to a CPU. It is simpler and does not require a loop because
      it uses the auto: syntax available in HAProxy 2.4.
      
      Change-Id: I1ce124b678140f5f4737df557683bb67bc7cfc66
      789ac738
    • Léo Gillot-Lamure's avatar
      loadbalancer: support setting nbthread with variable haproxy_threads · e0438286
      Léo Gillot-Lamure authored
      Threads are the recommended way to scale CPU performance since HAProxy
      1.8.
      
      Official documentation says: « While "nbproc" historically used to be the only
      way to use multiple processors, it also involved a number of shortcomings
      related to the lack of synchronization between processes (health-checks, peers,
      stick-tables, stats, ...) which do not affect threads. As such, any modern
      configuration is strongly encouraged to migrate away from "nbproc" to
      "nbthread". ».
      
      While more recent versions of HAProxy automatically detect the number of
      available CPU and enable threads for them, it can be useful to explicitely set
      the value.
      
      In this patch, setting cpu-map for threads is not supported.
      
      Change-Id: Id917c70f3dbe52f24f25d9403ba8151729e8966b
      e0438286
  4. Jun 28, 2023
  5. Jan 12, 2023
    • Mark Goddard's avatar
      Fix prechecks in check mode · 46aeb984
      Mark Goddard authored
      When running in check mode, some prechecks previously failed because
      they use the command module which is silently not run in check mode.
      Other prechecks were not running correctly in check mode due to e.g.
      looking for a string in empty command output or not querying which
      containers are running.
      
      This change fixes these issues.
      
      Closes-Bug: #2002657
      Change-Id: I5219cb42c48d5444943a2d48106dc338aa08fa7c
      46aeb984
  6. Jan 09, 2023
    • Erik Berg's avatar
      loadbalancer: Use assert on checks for readability · 984612f0
      Erik Berg authored
      assert will also fail when we're not meeting the conditions, makes
      clear what we're actually testing, and isn't listed as a skipped task
      when the condition is ok.
      
      Change-Id: Ia72c7052d7f9b8c7d86d74a15dcd9e003178972b
      984612f0
  7. Dec 21, 2022
    • Matt Crees's avatar
      Integrate oslo-config-validator · 6c2aace8
      Matt Crees authored
      Regularly, we experience issues in Kolla Ansible deployments because we
      use wrong options in OpenStack configuration files. This is because
      OpenStack services ignore unknown options. We also need to keep on top
      of deprecated options that may be removed in the future. Integrating
      oslo-config-validator into Kolla Ansible will greatly help.
      
      Adds a shared role to run oslo-config-validator on each service. Takes
      into account that services have multiple containers, and these may also
      use multiple config files. Service roles are extended to use this shared
      role. Executed with the new command ``kolla-ansible validate-config``.
      
      Change-Id: Ic10b410fc115646d96d2ce39d9618e7c46cb3fbc
      6c2aace8
  8. Dec 01, 2022
  9. Nov 11, 2022
    • Doug Szumski's avatar
      Remove support for deploying OpenStack Monasca · adb8f89a
      Doug Szumski authored
      Kolla Ansible is switching to OpenSearch and is dropping support for
      deploying ElasticSearch. This is because the final OSS release of
      ElasticSearch has exceeded its end of life.
      
      Monasca is affected because it uses both Logstash and ElasticSearch.
      Whilst it may continue to work with OpenSearch, Logstash remains an
      issue.
      
      In the absence of any renewed interest in the project, we remove
      support for deploying it. This helps to reduce the complexity
      of log processing configuration in Kolla Ansible, freeing up
      development time.
      
      Change-Id: I6fc7842bcda18e417a3fd21c11e28979a470f1cf
      adb8f89a
  10. Nov 02, 2022
  11. Oct 28, 2022
  12. Oct 20, 2022
    • Michal Arbet's avatar
      Adds ability to configure ProxySQL's max replication lag · bee253e3
      Michal Arbet authored
      By default ProxySQL's default value of max_replication_lag
      is 0 which is in fact disabling this feature [1].
      If it is greater than 0, ProxySQL will regularly monitor
      replication lag and if it goes beyond the configured threshold
      it will temporary shun the host until replication catches up.
      
      This should be configurable via kolla-ansible as every
      openstack deployment can be different in terms of network
      delays, database load etc.. , so user should have option
      to configure when database backend will be shunned.
      
      [1] https://proxysql.com/documentation/main-runtime/
      
      Change-Id: I66171638abc712cb84b380042f1d29f54c499e73
      bee253e3
  13. Sep 21, 2022
  14. Aug 29, 2022
  15. Aug 05, 2022
    • Marcin Juszkiewicz's avatar
      loadbalancer: ignore missing keepalived container · f6a1e607
      Marcin Juszkiewicz authored
      During deployment I got this error:
      
      RUNNING HANDLER [loadbalancer : Stop master haproxy container]
      ok: [192.168.66.143]
      
      RUNNING HANDLER [loadbalancer : Stop master proxysql container]
      ok: [192.168.66.143]
      
      RUNNING HANDLER [loadbalancer : Stop master keepalived container]
      fatal: [192.168.66.143]: FAILED! => changed=false
        msg: 'No such container: keepalived to stop'
      
      Looks like we forgot to allow keepalived to not be present.
      
      Change-Id: I720c719a6a6b35c5c2d5b5ee59b48349e58bac82
      f6a1e607
  16. Jul 29, 2022
    • Mark Goddard's avatar
      haproxy-config: move firewalld reload handler to haproxy role · 492bc744
      Mark Goddard authored
      With the handler in the haproxy-config role, it gets triggered once for
      every service that changes the firewall config. This happens because the
      role is included dynamically. If we move the handler to the haproxy
      role, which is only included once, the handler will trigger at most
      once.
      
      This is a follow up for Iea3680142711873984efff2b701347b6a56dd355.
      
      Change-Id: Iad9ed241026435085bc9a0f5802818010b47830f
      492bc744
    • Michal Arbet's avatar
      Add proxysql support for database · de973b81
      Michal Arbet authored
      Kolla environment currently uses haproxy
      to fullfill HA in mariadb. This patch
      is switching haproxy to proxysql if enabled.
      
      This patch is also replacing mariadb's user
      'haproxy' with user 'monitor'. This replacement
      has two reasons:
        - Use better name to "monitor" galera claster
          as there are two services using this user
          (HAProxy, ProxySQL)
        - Set password for monitor user as it's
          always better to use password then not use.
          Previous haproxy user didn't use password
          as it was historically not possible with
          haproxy and mariadb-clustercheck wasn't
          implemented.
      
      Depends-On: https://review.opendev.org/c/openstack/kolla/+/769385
      Depends-On: https://review.opendev.org/c/openstack/kolla/+/765781
      Depends-On: https://review.opendev.org/c/openstack/kolla/+/850656
      
      Change-Id: I0edae33d982c2e3f3b5f34b3d5ad07a431162844
      de973b81
  17. Jul 27, 2022
    • k-s-dean's avatar
      adds firewalld configuration based on enabled services · 8553e52a
      k-s-dean authored
      This change introduces automated configuration of firewalld and adds
      a new filter for extracting services from the project_services dict.
      the filter selects any enabled services and their haproxy element
      and returns them so they can be iterated over.
      This commit also enables automated configuration of firewalld from enabled
      openstack services and adds them to the defined zone and reloads the
      system firewall.
      
      Change-Id: Iea3680142711873984efff2b701347b6a56dd355
      8553e52a
  18. Jul 25, 2022
    • Michal Nasiadka's avatar
      Fix var-spacing · dcf5a8b6
      Michal Nasiadka authored
      ansible-lint introduced var-spacing - let's fix our code.
      
      Change-Id: I0d8aaf3c522a5a6a5495032f6dbed8a2be0251f0
      dcf5a8b6
  19. May 31, 2022
  20. May 26, 2022
  21. May 23, 2022
  22. Apr 20, 2022
  23. Feb 09, 2022
  24. Dec 31, 2021
    • Pierre Riteau's avatar
      Move project_name and kolla_role_name to role vars · 56fc74f2
      Pierre Riteau authored
      Role vars have a higher precedence than role defaults. This allows to
      import default vars from another role via vars_files without overriding
      project_name (see related bug for details).
      
      Change-Id: I3d919736e53d6f3e1a70d1267cf42c8d2c0ad221
      Related-Bug: #1951785
      56fc74f2
  25. Nov 16, 2021
  26. Sep 30, 2021
  27. Sep 16, 2021
  28. Aug 19, 2021
    • Michal Arbet's avatar
      Rename role haproxy to loadbalancer · ffd53512
      Michal Arbet authored
      For now role haproxy is maintaining haproxy
      and keepalived. In follow-up changes there is also
      proxysql added.
      
      This patch is *only* renaming/moving stuff to more
      prominent role loadbalancer, and moving also specific
      templates to subdirectory.
      
      This was done only to better diff in follow-up
      changes.
      
      Change-Id: I1d39d5bcaefc4016983bf267a2736b742cc3a555
      ffd53512
Loading