标签: ansible-playbook

列出任务的库存文件中的所有ansible主机

对于备份,我需要遍历清单文件中的所有主机,以确保备份目标存在.我的结构看起来像

/var/backups/
            example.com/
            sub.example.com/
Run Code Online (Sandbox Code Playgroud)

所以我需要一个(内置)变量/方法来列出库存文件中的所有主机,而不仅仅是一个组.

对于团体,它看起来像这样

- name: ensure backup directories are present
  action: file path=/var/backups/{{ item }} state=directory
          owner=backup group=backup mode=0700
  with_items: groups['group_name']
  tags:
    - backup
Run Code Online (Sandbox Code Playgroud)

ansible ansible-playbook ansible-inventory

28
推荐指数
1
解决办法
2万
查看次数

如何在Ansible YAML文件中的字符串中转义冒号?

我想在安装期间更改文件/var/www/kibana/config.js中的一行代码

elasticsearch: "http://"+window.location.hostname+":9200"
Run Code Online (Sandbox Code Playgroud)

elasticsearch: "http://192.168.1.200:9200"
Run Code Online (Sandbox Code Playgroud)

在这里,我尝试使用lineinfile来执行此操作,如下所示

- name: Comment out elasticsearch the config.js to ElasticSearch server
  lineinfile:
    dest=/var/www/kibana/config.js
    backrefs=true
    regexp="(elasticsearch.* \"http.*)$"
    line="elasticsearch\: \" {{ elasticsearch_URL }}:{{ elasticsearch_port }} \" "
    state=present
Run Code Online (Sandbox Code Playgroud)

我已经设置的变量{{elasticsearch_URL}},并{{elasticsearch_port}}http://192.168.1.2009200分别.

这是我遇到的错误消息:

ERROR: Syntax Error while loading YAML script, /Users/shuoy/devops_workspace/ansible_work/logging-for-openstack/roles/kibana/tasks/Debian.yml
Note: The error may actually appear before this position: line 29, column 25

regexp="(elasticsearch.* \"http.*)$"
line="elasticsearch\: \" {{ elasticsearch_URL }}:{{ elasticsearch_port }} \" "
                    ^
Run Code Online (Sandbox Code Playgroud)

regex ansible ansible-playbook

28
推荐指数
3
解决办法
5万
查看次数

ansible host_vars如何工作?

创建了一个repo来重现我的场景.

基本上我们正在为我们的主机加载一个库存,我们可以通过库存覆盖每个主机的值而没有问题,但是想尝试使用host_vars.

我不是100%清楚主机变量如何与主机匹配.我阅读了ansible repo的例子,但似乎无法按照文档记录工作,所以我正在寻找对我们设置的一些审查.

当我ansible-playbook -i ansible.inventory site.yml -clocal在我的示例repo中运行命令时,我希望host_vars/{{ ansible_hostname }}读取文件并覆盖变量中设置的任何内容,但这似乎不会发生.

有人可以指点我一个工作的例子,这样我就能看出我们哪里出错了?

ansible ansible-playbook

28
推荐指数
1
解决办法
6万
查看次数

使用Python API运行ansible-playbook

如何在python脚本中运行playbook?在python中使用ansible模块的等价物如下:

ansible -i hosts dbservers -m setup
ansible-playbook -i hosts -vvvv -k site.yml
Run Code Online (Sandbox Code Playgroud)

我在http://docs.ansible.com/developing_api.html上查看他们的文档,但他们的示例非常有限.

python ansible ansible-playbook

28
推荐指数
4
解决办法
5万
查看次数

如何在使用Ansible Git模块时传递用户名和密码?

在使用Ansible的Git模块进行内部托管的私有git存储库(例如,在GitLab实例上)的克隆,推送或拉取时,如何指定用户名和密码以通过Git服务器进行身份验证?

我在文档中看不到任何方法.

ansible ansible-playbook ansible-2.x

28
推荐指数
4
解决办法
2万
查看次数

使用ansible启动aws ec2实例的最佳方法

我正在尝试在Amazon AWS上创建一个带有ansible的小型webapp基础架构,我想完成所有过程:启动实例,配置服务等,但我找不到合适的工具或模块来处理来自ansible的.主要是EC2发布.

非常感谢.

amazon-ec2 amazon-web-services ansible ansible-playbook

27
推荐指数
2
解决办法
3万
查看次数

在localhost中Ansible SSH ERROR连接

当我针对localhost主机启动我的playbook时出现此错误.

TASK [setup] *******************************************************************
fatal: [127.0.0.1]: UNREACHABLE! => {"changed": false, "msg": "SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue", "unreachable": true}
to retry, use: --limit @deploy-test-env.retry

PLAY RECAP *********************************************************************
127.0.0.1                  : ok=0    changed=0    unreachable=1    failed=0
Run Code Online (Sandbox Code Playgroud)

我的hosts文件有这个配置:

[local]
127.0.0.1
Run Code Online (Sandbox Code Playgroud)

问题是什么?

谢谢!

ssh ansible ansible-playbook

27
推荐指数
1
解决办法
2万
查看次数

如何在ansible任务中获取当前角色名称

如何在ansible task yaml文件中获取当前角色名称?

我想做这样的事情

---
# role/some-role-name/tasks/main.yml

- name: Create a directory which is called like the current role name
  action: file
          path=/tmp/"{{ role_name }}"
          mode=0755
          state=directory
Run Code Online (Sandbox Code Playgroud)

此任务的结果应该是/tmp/some-role-name服务器上的目录

global-variables ansible ansible-playbook

26
推荐指数
3
解决办法
1万
查看次数

多个Ansible任务的一个循环

我创建了一个Ansible playbook,它创建了一个云实例,然后在实例上安装了一些程序.我想多次运行这个剧本(不使用bash脚本).是否可以使用循环将这两个任务循环在一起(IE One循环用于两个任务?).到目前为止,我所能找到的只是每个任务的一个循环

loops ansible ansible-playbook

26
推荐指数
3
解决办法
4万
查看次数

Ansible remote_user vs ansible_user

问题很简单:(ansible_useransible_ssh_user)和remote_userAnsible 之间的区别是什么,除了第一个是设置文件而后者设置为播放/角色?它们如何与-u/ --user命令行选项相关?

ansible ansible-playbook ansible-2.x

26
推荐指数
2
解决办法
3万
查看次数