当playbook通过Vagrant provisioner运行时,如何在主机上为某些任务运行ansible plays?

当playbook通过Vagrant provisioner运行时,如何在主机上为某些任务运行ansible plays?,vagrant,localhost,ansible,Vagrant,Localhost,Ansible,我使用的是安装了Vagrant的Ubuntu 16.04主机。我想记录一组任务的开始时间和结束时间。这些任务被定义为角色。我创建了一个角色主机测试角色,以确保我能够使用本地操作触摸主机上的文件。但我相信,由于这个剧本是通过Vagrant提供的,当ansible扮演主机测试角色时,它的控制权在Vagrant框内而不是外部(我的目的是登录主机)。因此,不会在主机上创建该文件 我的目录结构如下所示: 目标 ├── playbook.yml ├── 自述文件 ├── 角色 │ ├── 阿帕奇 │

我使用的是安装了Vagrant的Ubuntu 16.04主机。我想记录一组任务的开始时间和结束时间。这些任务被定义为角色。我创建了一个角色主机测试角色,以确保我能够使用
本地操作
触摸主机上的文件。但我相信,由于这个剧本是通过Vagrant提供的,当ansible扮演主机测试角色时,它的控制权在Vagrant框内而不是外部(我的目的是登录主机)。因此,不会在主机上创建该文件

我的目录结构如下所示:

目标
├── playbook.yml
├── 自述文件
├── 角色
│   ├── 阿帕奇
│   │   ├── 任务
│   │   │   └── main.yml
│   │   └── 模板
│   │       └── index.html
│   ├── 主机测试
│   │   └── main.yml
│   ├── mysql
│   │   └── 任务
│   │       └── main.yml
│   ├── 包裹
│   │   └── 任务
│   │       └── main.yml
│   ├── php5
│   │   └── 任务
│   │       └── main.yml
│   └── 维姆
│       └── 任务
│           └── main.yml
└── 流浪汉档案

正在考虑的剧本可以在

上找到,快速搜索显示您可以使用回调插件(Ansible 2.x+)完成该任务。如果您需要自己的东西,那么示例计时器插件()基本上是一个好的开始。或者,您可以先检查现有插件:

或者,您可以简单地添加

callback_whitelist = profile_tasks
到您的
ansible.cfg
(在
[默认值]
中),它将打开探查器,并为每个任务添加时间戳:

# ansible-playbook install-vim.yml                                              

PLAY [local] *******************************************************************

TASK [install-vim : Install Vim for user root] *********************************
Thursday 17 November 2016  10:23:22 +0000 (0:00:00.037)       0:00:00.037 ***** 
ok: [127.0.0.1]                                                                 

[...]                                                

PLAY RECAP *********************************************************************
127.0.0.1                  : ok=6    changed=0    unreachable=0    failed=0

Thursday 17 November 2016  10:23:37 +0000 (0:00:01.464)       0:00:15.695 *****
===============================================================================
install-vim : Install Git ----------------------------------------------- 5.06s
install-vim : Install Vim for user root --------------------------------- 4.56s
install-vim : Installing Pathogen --------------------------------------- 1.80s
install-vim : Setup ~root/.vimrc ---------------------------------------- 1.46s
install-vim : Install Solarized theme ----------------------------------- 1.40s
install-vim : Create folders -------------------------------------------- 1.38s

快速搜索显示您可以使用回调插件(Ansible 2.x+)完成该任务。如果您需要自己的东西,那么示例计时器插件()基本上是一个好的开始。或者,您可以先检查现有插件:

或者,您可以简单地添加

callback_whitelist = profile_tasks
到您的
ansible.cfg
(在
[默认值]
中),它将打开探查器,并为每个任务添加时间戳:

# ansible-playbook install-vim.yml                                              

PLAY [local] *******************************************************************

TASK [install-vim : Install Vim for user root] *********************************
Thursday 17 November 2016  10:23:22 +0000 (0:00:00.037)       0:00:00.037 ***** 
ok: [127.0.0.1]                                                                 

[...]                                                

PLAY RECAP *********************************************************************
127.0.0.1                  : ok=6    changed=0    unreachable=0    failed=0

Thursday 17 November 2016  10:23:37 +0000 (0:00:01.464)       0:00:15.695 *****
===============================================================================
install-vim : Install Git ----------------------------------------------- 5.06s
install-vim : Install Vim for user root --------------------------------- 4.56s
install-vim : Installing Pathogen --------------------------------------- 1.80s
install-vim : Setup ~root/.vimrc ---------------------------------------- 1.46s
install-vim : Install Solarized theme ----------------------------------- 1.40s
install-vim : Create folders -------------------------------------------- 1.38s

感谢您引入此回调功能。事实上,我对ansible还不熟悉。我相信我正在使用主机的ansible,即,
/usr/bin/ansible
,为流浪客提供服务,但是,我在哪里可以对我的剧本进行修改,以便我可以控制主机上除了流浪客以外的一些东西?不能保证你会得到比目前更多的关注。此外,有些问题可能在有人提出解决方案之前很长时间得不到回答。同时,你可以解决问题,回答自己的问题等。一般来说,一些Qs吸引更多的ppl,一些较少。清楚地解释问题、展示你做了什么等是至关重要的。此外,你还可以提高自己的声誉(回答他人的问题等)。因此,如果我的回答对你有帮助,你可以接受它,即使它只是部分解决了你的问题。然后你可以试着发布关于这些未解决问题的另一个问题谢谢你的信息,你完全理解我在这里的要求了吗?否则,建议我提出更多要求,以便我可以编辑查询。由于ASCII树对于任何调试都非常不足,您可能还需要显示一些剧本。我已使用示例剧本更新了我的问题,希望我得到一些输入以继续:)感谢引入此回调功能。事实上,我对ansible还不熟悉。我相信我正在使用主机的ansible,即,
/usr/bin/ansible
,为流浪客提供服务,但是,我在哪里可以对我的剧本进行修改,以便我可以控制主机上除了流浪客以外的一些东西?不能保证你会得到比目前更多的关注。此外,有些问题可能在有人提出解决方案之前很长时间得不到回答。同时,你可以解决问题,回答自己的问题等。一般来说,一些Qs吸引更多的ppl,一些较少。清楚地解释问题、展示你做了什么等是至关重要的。此外,你还可以提高自己的声誉(回答他人的问题等)。因此,如果我的回答对你有帮助,你可以接受它,即使它只是部分解决了你的问题。然后你可以试着发布关于这些未解决问题的另一个问题谢谢你的信息,你完全理解我在这里的要求了吗?否则,建议我提出更多要求,以便我可以编辑查询。由于ASCII树不足以进行任何调试,您可能还需要显示一些剧本。我已使用示例剧本更新了我的问题,希望我获得一些输入以继续:)