我正在尝试建立一个角色,以安装一些具有所需应用程序的服务器。其中一个应用是docker。
Docker-ce安装成功。现在,我试图告诉系统启动docker.service并通过重新启动启用它。
当我在“ with_items”上创建列表时,它工作正常,当我尝试使用defaults / main.yml文件中的列表时,ansible告诉我找不到服务泊坞窗。现在我想知道,也许只是一些拼写问题?
这个很好用
- name: Start and enable needed services
systemd:
name: "{{ item }}"
state: started
enabled: yes
daemon_reload: yes
with_items:
- docker
这不起作用
- name: Start and enable needed services
systemd:
name: "{{ clientonline }}"
state: started
enabled: yes
daemon_reload: yes
-------
# in defaults/main.yml
clientonline:
- docker
当我使用defaults / main.yml中的列表时,Ansible无法找到docker服务
[WARNING]: The value ['docker'] (type list) in a string field was converted to u"['docker']" (type string). If this does not look like what you expect, quote the entire value to ensure it does not change.
此示例也不起作用:
- name: Start and enable needed services
systemd:
name: "{{ item }}"
state: started
enabled: yes
daemon_reload: yes
with_items:
- clientonline
带来此错误:
failed: [fgi_appdeploy_server] (item=clientonline) => {"ansible_loop_var": "item", "changed": false, "item": "clientonline", "msg": "Could not find the requested service clientonline: host"}
答案 0 :(得分:0)
将起作用:
- name: Start and enable needed services
systemd:
name: "{{ item }}"
state: started
enabled: yes
daemon_reload: yes
with_item:
- "{{ clientonline }}"
因为clientonline
是您需要在其中循环浏览的列表
答案 1 :(得分:0)
好;现在对于systemd可以正常使用:
- name: Start and enable needed services
systemd:
name: '{{ item }}'
state: started
enabled: yes
daemon_reload: yes
with_items:
- '{{ clientonline }}'
但是相同的yum模块样式将在bash上带来此警告,很高兴
- name: Install needed packages
yum:
name: '{{ item }}'
state: latest
with_items:
- '{{ clientpackages }}'
[DEPRECATION WARNING]: Invoking "yum" only once while using a loop via squash_actions is deprecated. Instead of using a loop to supply multiple items and specifying `name: "{{ item }}"`, please use `name: ['{{ serverpackages }}']` and remove the loop. This feature will
be removed in version 2.11. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
很高兴知道-谢谢大家!