ansible关于roles下载的问题:
我在此路径下编写role的playbook
[alice@control ~]$ cat /home/alice/ansible/roles/down.yml
但是安装roles完成后,roles不在/home/alice/ansible/roles里面,而是在/home/alice/.ansible/roles里面,是怎么回事呢??这个/.ansible是怎么出来的,还是个隐藏文件
[alice@control ~]$ ansible-galaxy install -r /home/alice/ansible/roles/down.yml
[alice@control ~]$ ls /home/alice/.ansible/roles/
haproxy myphp
haproxy 和myphp本应该安装在/home/alice/ansible/roles下面才对呀?配置文件路径也排查过了
[alice@control ~]$ ls /home/alice/ansible/roles/
down.yml selinux timesync
ansible配置文件如下:
[alice@control ~]$ cat ansible/ansible.cfg
[defaults]
inventory = inventory
remote_user = alice
roles_path = roles
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False
你是不是理解上有偏差呢?
配置文件指定role路径,是告知你,你如果在当前目录配置文件的路径下,相关剧本读取的role路径,而不是你下载的路径。
下载的时候,你如果不指定路径,就会去到默认的那个路径,这个你可以测试的。但具体是否出现在隐藏文件那里,可以查查官网,不过平常的玩法,是加 -p 参数来。
所以,在 CE 考试中,这里我教学生是使用-p 参数来的:ansible-galaxy install -r roles/requirements.yml -p roles/