Skip to content
Snippets Groups Projects
  1. Mar 18, 2022
  2. Feb 21, 2022
    • Doug Szumski's avatar
      Remove classic queue mirroring for internal RabbitMQ · 6bfe1927
      Doug Szumski authored
      When OpenStack is deployed with Kolla-Ansible, by default there
      are no durable queues or exchanges created by the OpenStack
      services in RabbitMQ. In Rabbit terminology, not being durable
      is referred to as `transient`, and this means that the queue
      is generally held in memory.
      
      Whether OpenStack services create durable or transient queues is
      traditionally controlled by the Oslo Notification config option:
      `amqp_durable_queues`. In Kolla-Ansible, this remains set to
      the default of `False` in all services. The only `durable`
      objects are the `amq*` exchanges which are internal to RabbitMQ.
      
      More recently, Oslo Notification has introduced support for
      Quorum queues [7]. These are a successor to durable classic
      queues, however it isn't yet clear if they are a good fit for
      OpenStack in general [8].
      
      For clustered RabbitMQ deployments, Kolla-Ansible configures all
      queues as `replicated` [1]. Replication occurs over all nodes
      in the cluster. RabbitMQ refers to this as 'mirroring of classic
      queues'.
      
      In summary, this means that a multi-node Kolla-Ansible deployment
      will end up with a large number of transient, mirrored queues
      and exchanges. However, the RabbitMQ documentation warns against
      this, stating that 'For replicated queues, the only reasonable
      option is to use durable queues: [2]`. This is discussed
      further in the following bug report: [3].
      
      Whilst we could try enabling the `amqp_durable_queues` option
      for each service (this is suggested in [4]), there are
      a number of complexities with this approach, not limited to:
      
      1) RabbitMQ is planning to remove classic queue mirroring in
         favor of 'Quorum queues' in a forthcoming release [5].
      2) Durable queues will be written to disk, which may cause
         performance problems at scale. Note that this includes
         Quorum queues which are always durable.
      3) Potential for race conditions and other complexity
         discussed recently on the mailing list under:
         `[ops] [kolla] RabbitMQ High Availability`
      
      The remaining option, proposed here, is to use classic
      non-mirrored queues everywhere, and rely on services to recover
      if the node hosting a queue or exchange they are using fails.
      There is some discussion of this approach in [6]. The downside
      of potential message loss needs to be weighed against the real
      upsides of increasing the performance of RabbitMQ, and moving
      to a configuration which is officially supported and hopefully
      more stable. In the future, we can then consider promoting
      specific queues to quorum queues, in cases where message loss
      can result in failure states which are hard to recover from.
      
      [1] https://www.rabbitmq.com/ha.html
      [2] https://www.rabbitmq.com/queues.html
      [3] https://github.com/rabbitmq/rabbitmq-server/issues/2045
      [4] https://wiki.openstack.org/wiki/Large_Scale_Configuration_Rabbit
      [5] https://blog.rabbitmq.com/posts/2021/08/4.0-deprecation-announcements/
      [6] https://fuel-ccp.readthedocs.io/en/latest/design/ref_arch_1000_nodes.html#replication
      [7] https://bugs.launchpad.net/oslo.messaging/+bug/1942933
      [8] https://www.rabbitmq.com/quorum-queues.html#use-cases
      
      Partial-Bug: #1954925
      Change-Id: I91d0e23b22319cf3fdb7603f5401d24e3b76a56e
      6bfe1927
  3. Feb 18, 2022
    • Pierre Riteau's avatar
      Configure node-exporter to report correct file system metrics · b210dcd6
      Pierre Riteau authored
      Without this configuration, all mount points are reporting the same
      utilisation metrics [1]. With the rslave option, all root mounts from
      the host are visible in the container, so we can remove the bind mounts
      for /proc and /sys.
      
      [1] https://github.com/prometheus/node_exporter#docker
      
      Change-Id: I4087dc81f9d1fa5daa24b9df6daf1f9e1ccd702f
      Closes-Bug: #1961438
      b210dcd6
    • alecorps's avatar
      Add support for VMware First Class Disk (FCD) · 812e03f7
      alecorps authored
      An FCD, also known as an Improved Virtual Disk (IVD) or
      Managed Virtual Disk, is a named virtual disk independent of
      a virtual machine. Using FCDs for Cinder volumes eliminates
      the need for shadow virtual machines.
      This patch adds Kolla support.
      
      Change-Id: Ic0b66269e6d32762e786c95cf6da78cb201d2765
      812e03f7
    • Pierre Riteau's avatar
      Allow to define extra parameters for Prometheus exporters · dcba8297
      Pierre Riteau authored
      The following variables are added:
      
      * prometheus_blackbox_exporter_cmdline_extras
      * prometheus_elasticsearch_exporter_cmdline_extras
      * prometheus_haproxy_exporter_cmdline_extras
      * prometheus_memcached_exporter_cmdline_extras
      * prometheus_mysqld_exporter_cmdline_extras
      * prometheus_node_exporter_cmdline_extras
      * prometheus_openstack_exporter_cmdline_extras
      
      Change-Id: I5da2031b9367115384045775c515628e2acb1aa4
      dcba8297
  4. Feb 17, 2022
    • Alban Lecorps's avatar
      Add support for VMware NSXP · 458c8b13
      Alban Lecorps authored
      NSXP is the OpenStack support for the NSX Policy platform.
      This is supported from neutron in the Stein version. This patch
      adds Kolla support
      
      This adds a new neutron_plugin_agent type 'vmware_nsxp'. The plugin
      does not run any neutron agents.
      
      Change-Id: I9e9d8f07e586bdc143d293e572031368af7f3fca
      458c8b13
  5. Feb 15, 2022
  6. Feb 11, 2022
  7. Feb 10, 2022
  8. Feb 09, 2022
  9. Feb 08, 2022
  10. Feb 03, 2022
    • Mark Goddard's avatar
      certificates: generate libvirt TLS certificates · 33e93ab3
      Mark Goddard authored
      Adds support to the 'kolla-ansible certificates' command for generating
      certificates for libvirt TLS, when libvirt_tls is true. The same
      certificate and key are used for the libvirt client and server.
      
      The certificates use the same root CA as the other generated
      certificates, and are written to
      {{ node_custom_config }}/nova/nova-libvirt/, ready to be picked up by
      nova-libvirt and nova-compute.
      
      Change-Id: I1bde9fa018f66037aec82dc74c61ad1f477a7c12
      33e93ab3
  11. Feb 02, 2022
    • Buddhika Sanjeewa's avatar
      Deploy Zun with Cinder Ceph support · eb7e0f6f
      Buddhika Sanjeewa authored
      Enables zun to access cinder volumes when cinder is configured to use
      external ceph.
      Copies ceph config file and ceph cinder keyring to /etc/ceph in
      zun_compute container.
      
      Closes-Bug: 1848934
      Change-Id: Ie56868d5e9ed37a9274b8cbe65895f3634b895c8
      eb7e0f6f
    • Will Szumski's avatar
      Add OIDCDiscoverURL mod_oidc option · e7455759
      Will Szumski authored
      This gets rid of one of the steps in the authentication flow.
      
      Closes-Bug: 1930055
      Change-Id: I4ed4651b55a912f1d9aec7277bae6bb4776f1e0a
      e7455759
  12. Feb 01, 2022
  13. Jan 31, 2022
  14. Jan 25, 2022
    • Kevin Rasmussen's avatar
      Fix bad openstack command while registering IDP · f955383b
      Kevin Rasmussen authored
      This fixes a bug in registering identity providers
      
      The bug was caused by a missing `=` in the openstack command
      
      Add the missing `=` after `--os-user-domain-name`
      
      Closes-Bug: #1959022
      Change-Id: I73f80cd2c81a3944de0933e60f5768956a1a3b70
      f955383b
    • 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
    • likui's avatar
      update the default value of node_custom_config · 825ef7ac
      likui authored
      The value of node_custom_config should is {{ node_config }}/config,
      when specified using --configdir
      
      Change-Id: I076b7d2c8980ddd3baa28f998f84a6b7005dc352
      825ef7ac
  15. Jan 21, 2022
  16. Jan 20, 2022
  17. Jan 19, 2022
  18. Jan 18, 2022
  19. Jan 17, 2022
  20. Jan 12, 2022
    • Buddhika Sanjeewa's avatar
      Access to zun container fails when tls_external enabled. · d8c73aa2
      Buddhika Sanjeewa authored
      Access to console of any zun container fails when
      kolla_enable_tls_external is true.
      This is due to the protocol of the base_url of the websocket_proxy
      section in zun.conf is hardcoded to 'ws'.
      [base_url = ws://<external_fqdn>:<port>]
      
      This fix adds a new variable zun_wsproxy_protocol
      and sets it's value to 'wss' when kolla_enable_tls_external is true
      or to 'ws' otherwise
      
      Then the base url's protocol of the websocket_proxy section
      in zun.conf is set by zun_wsproxy_protocol
      [base_url = "{{ zun_wsproxy_protocol }}://<external_fqdn>:<port>"]
      
      Closes-Bug: 1957117
      Change-Id: Ibd9ca6e40ee8c265775b0657d318aa3f82e4cccb
      d8c73aa2
    • Michal Nasiadka's avatar
      multiple: remove duplicated variables between defaults and group vars · 1736c788
      Michal Nasiadka authored
      Change-Id: I547ab4b05aa14ed3bbee8be2dc77a6840d4816f6
      1736c788
  21. Jan 11, 2022
  22. Jan 10, 2022
  23. Jan 09, 2022
    • Stig Telfer's avatar
      OpenID Connect certifiate file is optional · 78f29fdc
      Stig Telfer authored
      Some ID provider configurations do not require a certificate file.
      Change the logic to allow this, and update documentation accordingly.
      
      Change-Id: I2c34a6b5894402bbebeb3fb96768789bc3c7fe84
      78f29fdc
    • LinPeiWen's avatar
      Support enable/disable rabbitmq prometheus plugins · 1f3dcce5
      LinPeiWen authored
      rabbitmq starting from 3.8.0, built-in Prometheus support,
      prometheus plugins are enabled by default, when the environment is
      "enable_prometheus is no", rabbitmq role will disable prometheus plugins
      
      Closes-Bug: #1885106
      
      Change-Id: I4d694d6224c813285d228d6bc7eece5731db1078
      1f3dcce5
  24. Jan 07, 2022
  25. Jan 06, 2022
  26. Jan 05, 2022
    • Michal Nasiadka's avatar
      nova: disable external metadata haproxy frontend · 3dcb6ad8
      Michal Nasiadka authored
      We are not using it anywhere (metadata agents are using internal network),
      so let's disable it by default.
      
      Change-Id: If06db5030b0f09e20ef506c3b3ab39c3573b5f3d
      3dcb6ad8
    • Angelos Kolaitis's avatar
      Use Volume V3 API in OpenStack exporter · 4410ca78
      Angelos Kolaitis authored
      Kolla has removed the Volume V2 API by default since OpenStack Wallaby.
      However, openstack-exporter attempts to use the Volume V2 API by
      default, resulting in clean installs failing to fetch Cinder metrics
      in Prometheus.
      
      This patch updates the clouds.yml configuration file for
      openstack-exporter to use the Volume V3 API instead.
      
      Closes-Bug: #1938194
      Change-Id: Ifbb601be3ef1a1e853d5a7e832adf556c0ae38b9
      4410ca78
Loading