Skip to content
Snippets Groups Projects
  1. 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
    • Zuul's avatar
      83fa9079
  2. 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
    • Zuul's avatar
      Merge "Add support for VMware NSXP" · b668e273
      Zuul authored
      b668e273
    • 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
  3. 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
  4. Feb 16, 2022
  5. Feb 15, 2022
  6. Feb 11, 2022
  7. Feb 10, 2022
  8. Feb 09, 2022
  9. Feb 08, 2022
  10. Feb 04, 2022
    • Radosław Piliszek's avatar
      [CI] Replace parted with lsblk · 654edefc
      Radosław Piliszek authored
      parted hangs waiting for user input (see examples below)
      on Debian and Ubuntu nodes which have created a cinder
      volume on lvm, causing POST_FAILURE of the entire CI job.
      Zun (Cinder iSCSI LVM) jobs are affected.
      parted seemingly tries to interpret contents of the created
      volume and fails miserably.
      Since there is no reason why we would need to see the output
      of parted specifically, this patch is switching to use
      lsblk to simply list visible block devices.
      Along with the rest of the commands, this should be just
      the right level of detail.
      And we avoid having parted interpret internals of otherwise
      opaque block devices.
      
      Example issues:
      
      Warning: Not all of the space available to
      /dev/mapper/cinder--volumes-cinder--volumes--pool appears to be used, you can
      fix the GPT to use all of the space (an extra 9732096 blocks) or continue with
      the current setting?
      Fix/Ignore?
      
      Warning: Not all of the space available to
      /dev/mapper/cinder--volumes-cinder--volumes--pool-tpool appears to be used, you
      can fix the GPT to use all of the space (an extra 9732096 blocks) or continue
      with the current setting?
      Fix/Ignore?
      
      Warning: Not all of the space available to
      /dev/mapper/cinder--volumes-cinder--volumes--pool_tdata appears to be used, you
      can fix the GPT to use all of the space (an extra 9732096 blocks) or continue
      with the current setting?
      Fix/Ignore?
      
      Change-Id: I7beecf2dd6c49c8934722cf22efa74e920ecb060
      654edefc
  11. Feb 03, 2022
  12. 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
  13. Feb 01, 2022
  14. Jan 31, 2022
  15. Jan 28, 2022
Loading