classify

Альтернативный текст

Название роли

Роль, которая упрощает простую классификацию на основе ansible_facts.

Классификация Proxmox p24.xlarge означает хост Proxmox с количеством процессоров ansible_processor_count, равным 24, и общим объемом памяти ansible_memtotal_mb, превышающим 32456. Классификация Raspberry a4.large обозначает хост Arm с количеством процессоров ansible_processor_count, равным 4, и общим объемом памяти ansible_memtotal_mb, находящимся в диапазоне от 4096 до 8096. Классификация Generic g4.nano означает хост Generic с количеством процессоров ansible_processor_count, равным 4, и общим объемом памяти ansible_memtotal_mb, находящимся в диапазоне от 4096 до 8096.

В примере с Proxmox первая буква основана на ansible_kernel следующим образом:

  - name: Проксимокс Гипервизор
    set_fact:
      type: p
      type_desc: "{{ ansible_distribution }} Proxmox"
    when: '"pve" in ansible_kernel'

Эти карты генерируются на основе двух переменных: size_map и type_map, которые можно найти в defaults/main.yml.

Требования

Любые предварительные условия, которые могут не быть покрыты самим Ansible или ролью, должны быть упомянуты здесь. Например, если роль использует модуль EC2, будет полезно указать, что пакет boto необходим.

Переменные роли

Описание настраиваемых переменных для этой роли должно находиться здесь, включая любые переменные из defaults/main.yml, vars/main.yml, и любые переменные, которые могут/должны быть заданы через параметры роли. Любые переменные, которые читаются из других ролей и/или глобальной области (например, hostvars, group vars и т.д.), также должны быть упомянуты здесь.

Зависимости

Список других ролей, размещенных на Galaxy, должен находиться здесь, а также любые детали, касающиеся параметров, которые могут потребоваться для других ролей, или переменных, используемых из других ролей.

Пример плейбука

С включением примера использования вашей роли (например, с переданными в качестве параметров переменными) будет полезно для пользователей:

Используя стандартную таблицу:

    - hosts: servers
      roles:
         - pbicskei.classify

Используя пользовательскую таблицу:

    - hosts: servers
      roles:
         - pbicskei.classify
      vars:
        type_map:
          - { name: "Гипервизор", letter: "hv", kernel_match: "pve" }
          - { name: "Вычисление(ARM)", letter: "a", kernel_match: "raspi" }
          - { name: "Общий", letter: "g", kernel_match: "default" }

        size_map:
          - { name: "нанит", min: 1, max: 1024 }
          - { name: "микроб", min: 1024, max: 2048 }
          - { name: "насекомое", min: 2048, max: 4092 }
          - { name: "хомяк", min: 4092, max: 8184 }
          - { name: "собака", min: 8184, max: 16368 }
          - { name: "лошадь", min: 16368, max: 32736 }
          - { name: "слон", min: 32736, max: 65472 }
          - { name: "кит", min: 65472, max: 130944 }  

      roles:
        - pbicskei.classify

Лицензия

BSD

Информация об авторе

Необязательный раздел для авторов роли, чтобы указать контактную информацию или веб-сайт (HTML не допускается).

О проекте

Role which classifies hosts

Установить
ansible-galaxy install pbicskei/ansible-role-classification
Лицензия
Unknown
Загрузки
255
Владелец