求ansible_processor完整取值列表及变量填充来源(适配Apple芯片)
Apple Silicon处理器的Ansible检测逻辑优化方案
ansible_processor的数据源说明
在macOS系统上,Ansible的ansible_processor变量数据来自sysctl -n machdep.cpu.brand_string命令的输出,该命令会返回处理器的完整品牌名称字符串。
已知Apple Silicon系列的ansible_processor取值
目前已发布的Apple Silicon处理器对应的取值包括:
- Apple M1
- Apple M1 Pro
- Apple M1 Max
- Apple M1 Ultra
- Apple M2
- Apple M2 Pro
- Apple M2 Max
- Apple M2 Ultra
- Apple M3
- Apple M3 Pro
- Apple M3 Max
- Apple M3 Ultra
可扩展的检测逻辑示例
将原有的单一型号检测改为基于列表的匹配,后续新增型号只需扩展列表即可:
# 定义支持的Apple Silicon处理器列表 - name: Set supported Apple Silicon processors set_fact: supported_apple_silicon: - "Apple M1" - "Apple M1 Pro" - "Apple M1 Max" - "Apple M1 Ultra" - "Apple M2" - "Apple M2 Pro" - "Apple M2 Max" - "Apple M2 Ultra" - "Apple M3" - "Apple M3 Pro" - "Apple M3 Max" - "Apple M3 Ultra" # 检测当前主机是否为支持的Apple Silicon处理器 - name: Check for Apple Silicon debug: msg: "Running on supported Apple Silicon processor" when: ansible_processor | intersect(supported_apple_silicon) | length > 0
验证新处理器型号的方法
如果后续发布了新的M系列芯片,可在目标主机上执行以下命令获取准确的处理器字符串:
ansible localhost -m setup -a 'filter=ansible_processor'
将返回的字符串添加到supported_apple_silicon列表中即可完成适配。
内容的提问来源于stack exchange,提问作者Enok82
相关产品推荐
相关产品推荐

