# Copyright (c) 2023 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.

_ironic_helm_values:
  endpoints: "{{ openstack_helm_endpoints }}"
  images:
    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('ironic') }}"
  bootstrap:
    image:
      enabled: false
    network:
      enabled: false
    object_store:
      enabled: false
  dependencies:
    static:
      api:
        jobs:
          - ironic-db-sync
          - ironic-ks-user
          - ironic-ks-endpoints
          - ironic-rabbit-init
          # NOTE(mnaser): We're managing all the networks via Ansible.
          # - ironic-manage-cleaning-network
      conductor:
        jobs:
          - ironic-db-sync
          - ironic-ks-user
          - ironic-ks-endpoints
          - ironic-rabbit-init
          # NOTE(mnaser): We're managing all the networks via Ansible.
          # - ironic-manage-cleaning-network
  conf:
    ironic:
      DEFAULT:
        log_config_append: null
        enabled_network_interfaces: flat,neutron
        default_network_interface: flat
        rbac_service_role_elevated_access: true
      conductor:
        clean_step_priority_override: deploy.erase_devices_express:5
        deploy_kernel: "{{ ironic_python_agent_deploy_kernel.images.0.id }}"
        deploy_ramdisk: "{{ ironic_python_agent_deploy_ramdisk.images.0.id }}"
      database:
        connection_recycle_time: 600
        max_overflow: 50
        max_pool_size: 5
        pool_timeout: 30
      deploy:
        erase_devices_priority: 0
        erase_devices_metadata_priority: 0
      neutron:
        cleaning_network: "{{ ironic_bare_metal_network_name }}"
        inspection_network: "{{ ironic_bare_metal_network_name }}"
        provisioning_network: "{{ ironic_bare_metal_network_name }}"
        rescuing_network: "{{ ironic_bare_metal_network_name }}"
      pxe:
        kernel_append_params: "ipa-insecure=true systemd.journald.forward_to_console=yes"
      service_catalog:
        valid_interfaces: public
  pod:
    affinity:
      anti:
        type:
          conductor: requiredDuringSchedulingIgnoredDuringExecution
    replicas:
      api: 3
      conductor: 3
  manifests:
    ingress_api: false
    service_ingress_api: false
    # NOTE(mnaser): We're managing all the networks via Ansible.
    job_manage_cleaning_network: false
