我正在使用ansible来管理云上的几个windows主机,我需要创建一个日志文件并将其链接到另一个文件,因此我使用以下攻略
- name: init the directory structure of windows
hosts: '{{windows_hosts}}'
tasks:
- name: create log file and link it to log directory
win_command: mklink log D:\prod\log
args:
chdir: D:\prod\project
在运行该
我的ansible服务器中有python2.7和python3.5,而它正在使用python2.7执行攻略。我想让ansible在执行攻略时使用python3.5。
in order:
1 have set export path.
2 also changed default interpreter path in ansible.cfg as well.
3 have given specific interpretor path in hostsfile for particular host.
但是,ansible仍然没有运行python3。
是否有可能创建这样的ansible清单,其中可以仅在一个组、两个组或所有组上运行任务,但在组内存在称为相同的主机? 组中主机的别名与攻略中的别名相同,但在每个组中,每个服务器和虚拟机的变量不同。更重要的是,要从本地主机连接到VM,需要使用服务器作为跳转主机。 场景应该或多或少看起来像这样:库存: [group1]
server
vm
[group2]
server
vm
[group3]
server
vm 攻略: - hosts: server
tasks:
- name: ....
- hosts: vm
tasks:
- name: ...
当我设置云形成环境时,我需要在Vagrant boxes和aws上运行攻略。
在Vagrant文件中,我使用ansible-local,一切工作正常
name: Setup Unified Catalog Webserver
hosts: 127.0.0.1
connection: local
become: yes
become_user: root
roles: generic
但是,当我在AWS中创建实例时,ansible playbook失败,并出现错误:
sudo: sorry, you must have a tty to run sud
我正在编写我的第一个Ansible攻略,以从AWS获取一些实例详细信息,但我无法正确地获取攻略。我得到了这个错误:ERROR! playbooks must be a list of plays。 下面是我的攻略。 #get vailable instance details
-name: "Create and attach ebs volumes"
tasks:
ec2_instance_facts:
region: us-west-2
filter :
"tag:role": Pri