pbicskei.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: Proxmox Hypervisor
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: "Hypervisor", letter: "hv", kernel_match: "pve" }
- { name: "Compute(ARM)", letter: "a", kernel_match: "raspi" }
- { name: "Generic", letter: "g", kernel_match: "default" }
size_map:
- { name: "nanite", min: 1, max: 1024 }
- { name: "microbe", min: 1024, max: 2048 }
- { name: "insect", min: 2048, max: 4092 }
- { name: "hamster", min: 4092, max: 8184 }
- { name: "dog", min: 8184, max: 16368 }
- { name: "horse", min: 16368, max: 32736 }
- { name: "elephant", min: 32736, max: 65472 }
- { name: "whale", min: 65472, max: 130944 }
roles:
- pbicskei.classify
许可证
BSD
作者信息
角色作者可以在此选填联系方式或网站(不允许使用 HTML)。