Dan*_*nny 6 ansible ansible-playbook
在以下任务中,我收到的错误消息Unable to look up a name or access an attribute in template string. Make sure your variable name does not contain invalid characters like '-'.我已将其追溯到该when子句.
使用调试语句我已经验证:
mysql_server_version='5.2.23'mysql_client_version='5.2.23'mysql_version='5.2.23'如果我删除该when语句,则任务运行.
- name: download MySQL packages
tags:
- preosupdates
when: "{{ mysql_server_version | version_compare(mysql_version, '<') or mysql_client_version | version_compare(mysql_version, '<') }}"
command: yum update -y --downloadonly MySQL-server-advanced-{{ mysql_version }} MySQL-shared-compat-advanced-{{ mysql_version }} MySQL-client-advanced-{{ mysql_version }}
register: downloadonly
failed_when: downloadonly.rc not in (1, 0)
changed_when: "downloadonly is defined and 'No Packages marked for Update' not in downloadonly.stdout"
Run Code Online (Sandbox Code Playgroud)
根据文档,when条件不需要使用模板标记{{,}}因为这些已经隐含了。
试试这个:
when: mysql_server_version | version_compare(mysql_version, '<') or
mysql_client_version | version_compare(mysql_version, '<')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6557 次 |
| 最近记录: |