我正在尝试让这个任务在本地运行(在运行攻略的机器上):
- name: get the local repo's branch name
local_action: git branch | awk '/^\*/{print $2}'
register: branchName
我尝试了很多变化,但都没有成功
所有其他任务都要在目标主机上运行,这就是为什么不能在本地运行整个攻略的原因
TASK: [get the local repo's branch name] **************************************
<12
我有一个local_action,我想把它分成几行。
- name: Find geographical region of this server
local_action: uri url=http://locator/studio/{{ ansible_default_ipv4.address}} method=GET return_content=yes register=locator_output
我想知道如何使用Ansible将我的SSH公钥复制到许多主机。
第一次尝试:
ansible all -i inventory -m local_action -a "ssh-copy-id {{ inventory_hostname }}" --ask-pass
但是我有一个错误The module local_action was not found in configured module paths.
第二次尝试使用剧本:
- hosts: all
become: no
tasks:
- local_action: command ssh-copy-id {
我的Makefile包含以下步骤
create:
do create stuff
# extra ansible adhoc command to wait for ssh
setup:
do other stuff
我想在do create stuff之后添加一个步骤,等待所有主机都可以访问它们的ssh端口,但我不想提交额外的行动手册来做这件事:
- hosts: all
tasks:
- name: wait for ssh port
wait_for:
host: '
我正在尝试从ansible中修改一个AWS实例。
我的攻略旨在编译并在运行的AWS实例上安装ixgbevf驱动程序,然后将其关闭,以便可以运行ec2-modify- instance -attribute命令。
直到等式的最后一部分的所有东西都是有效的。
我的最后一个角色节看起来像这样:
- name: Turn on enhanced networking on on the AMI host
local_action: ec2-modify-instance-attribute the_instance_id={{ my_instance_id }} --sriov simple -
假设您有一个sql-file database.sql,它创建数据库模式、其中的表和一些初始填充。通常,我可以通过以下方式使用ansible创建此数据库:
---
- name: copy database.sql to server
template: src=database.sql dest=/tmp/database.sql owner=root group=root
- name: sql the thing into MySQL
command: mysql "-u root -p{{ mysql_root_password }} < /tmp/datab
我在一个项目中工作,我们使用ansible创建一个部署服务器集群。我要实现的任务之一是将一个本地文件复制到远程主机,前提是该文件在本地存在。现在我试着用这个来解决这个问题
- hosts: 127.0.0.1
connection: local
tasks:
- name: copy local filetocopy.zip to remote if exists
- shell: if [[ -f "../filetocopy.zip" ]]; then /bin/true; else /bin/false; fi;
register:
做这件事的正确方法是什么:我有一个处理shell模块的任务,它从Bash shell中导出一个var。 我是否可以从另一个任务访问上述var (可能是设置环境?)而不必注册命令输出和解析shellvar_register.stdout?Ansible是否为本地主机和远程主机设置ansible_env作用域? ---
- name: test var play
hosts: localhost
tasks:
- name: export shell var
become: no
local_action: shell export shellvar=foo
以下ansible任务(在流浪VM中)失败:
- name: ensure database is created
postgresql_db: name={{dbname}}
sudo_user: postgres
在流浪虚拟机是centos6.5.1失败之前,任务会暂停几分钟,任务输出是:
TASK: [postgresql | ensure database is created] *******************************
fatal: [192.168.78.6] => failed to parse:
We trust you have rec
我是Ansible的新手,我写了一本Ansible的剧本,它将启动EC2实例。我想要保存创建的实例的公网IP或DNS名称,以便我可以对其进行其他操作。
tasks:
- name: Create a security group
local_action:
module: ec2_group
name: "{{ security_group }}"
description: Security Group for webserver Servers
region: "{{ region }}"