修复 Ansible stat 模块属性访问错误

- 修正 xxxigcc_update_pool_url.yaml 中的条件判断
- 将 log_dir_stat.isdir 修正为 log_dir_stat.stat.isdir
- 新增 stat 模块属性访问最佳实践文档
- 更新故障排除指南中的常见错误处理部分
This commit is contained in:
2025-12-16 13:49:00 +08:00
parent fab44ceab6
commit a6399d1bce
4 changed files with 42 additions and 5 deletions

View File

@@ -45,8 +45,32 @@
3. 系统权限
4. Ansible 版本兼容性
### 常见错误处理
#### Stat 模块属性访问问题
- **错误**`'dict object' has no attribute 'isdir'`
- **原因**Ansible stat 模块返回嵌套字典结构
- **解决方案**:始终使用 `log_dir_stat.stat.isdir` 而非 `log_dir_stat.isdir`
示例修复:
```yaml
- name: 检查日志目录
ansible.builtin.stat:
path: "/var/log/xxxigcc"
register: log_dir_stat
# 正确的条件判断
- name: 处理日志目录
when: log_dir_stat.stat.exists and log_dir_stat.stat.isdir
block:
- name: 清理日志
# 清理操作
```
## 5. 安全注意事项
- 仅在可信环境中执行此 Playbook
- 谨慎使用 `old_pool_url` 参数
- 确保 Ansible 版本满足最低要求
- 确保 Ansible 版本满足最低要求
- 注意处理 stat 模块返回的嵌套字典属性