Configure RabbitMQ ================== Reduce startup time ------------------- Before startup, each RabbitMQ pod executes a sleep command to prevent negative DNS caching results which can cause problems with inter node communication for stream queues during restarts of RabbitMQ. If you are working in a productive environment, this should only be done if the the DNS cache TTL of the Kubernetes DNS server is changed first. Afterwards, the sleep duration can be overwritten by setting ``messageQueue.dnsCacheTTL`` inside the OpenStack manifest accordingly. Inside development clusters it is fine to set the value 0 without adjusting the DNS server, just expect to encounter some error messages concerning stream queues. Override images --------------- If you want to use custom images for an ``AMQPServer``, do so by adding a dictionary to ``.spec.imageOverrides`` with the pinned versions as keys and the image overrides as values. For upgrades, you have to include every supported minor version from your current version up to the target version. These overrides take precedence over the infra operator's ``YAOOK_OP_VERSIONS_OVERRIDE``. Use at your own risk. .. code-block:: yaml apiVersion: infra.yaook.cloud/v1 kind: AMQPServer name: "sample-amqp" spec: imageOverrides: library/rabbitmq:3.13: custom-url/rabbitmq:v3.13 library/rabbitmq:4.1: custom-url/rabbitmq:v4.1 library/rabbitmq:4.2: custom-url/rabbitmq:v4.2 ... Using ``.spec.imageRef`` to override images is out of support and the setting will be removed in the future. If the AMQPServer was not created by another operator, you can migrate from ``imageRef`` to ``targetRelease`` by adding the ``imageOverrides`` without removing ``.spec.imageRef`` and waiting until the infra operator reconciled the AMQPServer. To upgrade it, remove ``.spec.imageRef`` and specify the targetRelease afterwards. Currently, ``4.2`` is the latest supported release.