Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
回调插件目录中的Ansible插件运行多次_Ansible_Ansible 2.x - Fatal编程技术网

回调插件目录中的Ansible插件运行多次

回调插件目录中的Ansible插件运行多次,ansible,ansible-2.x,Ansible,Ansible 2.x,我正在运行以下ansible脚本,以便能够使用ansible部署我的Java项目: ansible-playbook -u ansible -i inventory/test-env release.yml 我在ansible下的callback_plugins目录下添加了。 问题是,每当我运行ansible playbook脚本时,该插件的登录会在最后运行多次,并且不一致。有时我会得到两次日志,有时是三次 您知道为什么会发生这种情况,以及为什么每次日志的数量都会发生变化吗 我已经读到,如果插

我正在运行以下ansible脚本,以便能够使用ansible部署我的Java项目:

ansible-playbook -u ansible -i inventory/test-env release.yml
我在ansible下的callback_plugins目录下添加了。 问题是,每当我运行ansible playbook脚本时,该插件的登录会在最后运行多次,并且不一致。有时我会得到两次日志,有时是三次

您知道为什么会发生这种情况,以及为什么每次日志的数量都会发生变化吗

我已经读到,如果插件的命名与ansible本身中的现有插件相同,则可能会导致此问题。因此,我在我的项目中将这个插件的名称改为其他名称

请注意我的ansible版本是:2.4.2

这是我得到的输出:

PLAY RECAP *********************************************************************
def1.test1.domain.com : ok=101  changed=31   unreachable=0    failed=0   
def2.test1.domain.com : ok=70   changed=20   unreachable=0    failed=0   
abc1.test1.domain.com : ok=6    changed=0    unreachable=0    failed=0   
abc2.test1.domain.com : ok=6    changed=0    unreachable=0    failed=0   

copy domain to managed servers ----------------------------------------- 97.00s
start managed servers -------------------------------------------------- 82.62s
wait for admin server to start ----------------------------------------- 31.64s
create domain ---------------------------------------------------------- 25.97s

Playbook finished: Wed Jan 30 11:09:04 2019, 114 total tasks.  0:06:17 elapsed. 

copy domain to managed servers ----------------------------------------- 97.00s
start managed servers -------------------------------------------------- 82.62s
wait for admin server to start ----------------------------------------- 31.64s
create domain ---------------------------------------------------------- 25.97s

Playbook finished: Wed Jan 30 11:09:04 2019, 114 total tasks.  0:06:17 elapsed. 

copy domain to managed servers ----------------------------------------- 97.00s
start managed servers -------------------------------------------------- 82.62s
wait for admin server to start ----------------------------------------- 31.64s
create domain ---------------------------------------------------------- 25.97s

Playbook finished: Wed Jan 30 11:09:04 2019, 114 total tasks.  0:06:17 elapsed. 
在日志的开头,我看到了以下内容:

setting up inventory plugins
Parsed /var/go/pipelines/abc/inventory/test inventory source with ini plugin
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
Loading callback plugin unnamed of type old, v1.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
Loading callback plugin unnamed of type old, v1.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
Loading callback plugin unnamed of type old, v1.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc

PLAYBOOK: release.yml **********************************************************
11 plays in release.yml

PLAY [install weblogic] ********************************************************

问题是我的IntelliJ想法中的git插件。尽管我已经从IDE中删除了这个文件,但它并没有添加到我的git提交中,我在pull请求中也没有意识到这一点


因此,“profile_tasks.py”被调用了两次,因为它是ansible中的预定义插件,如果您有同名插件,ansible会有重复的日志。此外,第三个日志来自重命名的插件,共打印了3个重复日志。在我从项目中手动删除“profile_tasks.py”之后,其中两个被删除,日志只按预期打印一次。

一个示例输出将有助于…@KonstantinSuvorov添加输出。使用
ANSIBLE_DEBUG=1
环境变量集执行,并使用
grep-o'加载回调模块。*搜索'
检查重复加载。@KonstantinSuvorov我添加了日志的开头是我的问题。我认为从/usr/lib/python2.7/site packages/ansible/plugins/callback/_u init_;.pyc行加载类型为old的未命名回调插件,v1.0代表了我的插件。是的,这一定说明了问题所在。因为此行的编号正好显示了重复日志的数量。