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 次 |
最近记录: |