# Copyright (c) 2022 VEXXHOST, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

- name: Deploy cluster
  kubernetes.core.k8s:
    state: present
    definition:
      apiVersion: rabbitmq.com/v1beta1
      kind: RabbitmqCluster
      metadata:
        name: "rabbitmq-{{ rabbitmq_cluster_name }}"
        namespace: openstack
      spec:
        affinity:
          nodeAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
              nodeSelectorTerms:
                - matchExpressions:
                    - key: openstack-control-plane
                      operator: In
                      values:
                        - enabled
        rabbitmq:
          additionalConfig: |
            vm_memory_high_watermark.relative = 0.9
        resources:
          requests:
            cpu: 500m
            memory: 1Gi
          limits:
            cpu: "1"
            memory: 2Gi
    wait: true
    wait_timeout: 600
    wait_condition:
      type: ClusterAvailable
      status: "True"
  # NOTE(mnaser): Since we haven't moved to the operator pattern yet, we need to
  #               keep retrying a few times as the CRDs might not be installed
  #               yet.
  retries: 60
  delay: 5
  register: _result
  until: _result is not failed
