最近我一直在使用ansible进行各种自动化.但是,在特定Web服务器框上测试自动tomcat6重启期间.我遇到了这个我似乎无法解决的新错误.
FAILED => failed to transfer file to /command
Run Code Online (Sandbox Code Playgroud)
看文档说它是因为sftp-server不在sshd_config中,但是它就在那里.
下面是我运行到我的网络服务器主机的命令.
ansible all -a "/usr/bin/sudo /etc/init.d/tomcat6 restart" -u user --ask-pass --sudo --ask-sudo-pass
Run Code Online (Sandbox Code Playgroud)
每个盒子上都有一个.ansible隐藏文件夹,所以我知道它对它们的制作,但它没有执行命令.
运行-vvvv后给我这个:
EXEC ['sshpass', '-d10', 'ssh', '-C', '-tt', '-vvv', '-o', 'ControlMaster=auto', '-o', 'ControlPersist=60s', '-o', 'ControlPath=/home/vagrant/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'GSSAPIAuthentication=no', '-o', 'PubkeyAuthentication=no', '-o', 'User=user', '-o', 'ConnectTimeout=10', '10.10.10.103', "/bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1400791384.19-262170576359689 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1400791384.19-262170576359689 && echo $HOME/.ansible/tmp/ansible-tmp-1400791384.19-262170576359689'"]
Run Code Online (Sandbox Code Playgroud)
然后
10.10.10.103 | FAILED => failed to transfer file to /home/user/.ansible/tmp/ansible-tmp-1400791384.19-262170576359689/command
Run Code Online (Sandbox Code Playgroud)
非常感谢您对此问题的任何帮助.
谢谢,
编辑:
为了提高Google可维护性,以下是所选答案修复错误的另一种表现形式.
运行该命令ansible-playbook -i inventory hello_world.yml会为每个主机发出此警告.
[WARNING]: …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试使用Flask-LDAP进行Sandman的身份验证.与普通的python LDAP不同,文档非常简单,这非常不合适.
文档示例.
from flask import Flask
from flask.ext.ldap import LDAP, login_required
from flask.ext.pymongo import PyMongo
app = Flask(__name__)
app.debug = True
app.config['LDAP_HOST'] = 'ldap.example.com'
app.config['LDAP_DOMAIN'] = 'example.com'
app.config['LDAP_SEARCH_BASE'] = 'OU=Domain Users,DC=example,DC=com'
app.config['LDAP_LOGIN_VIEW'] = 'custom_login'
app.config['MONGO_DBNAME'] = 'simpledb'
mongo = PyMongo(app, config_prefix='MONGO')
ldap = LDAP(app, mongo)
app.secret_key = "welfhwdlhwdlfhwelfhwlehfwlehfelwehflwefwlehflwefhlwefhlewjfhwelfjhweflhweflhwel"
app.add_url_rule('/login', 'login', ldap.login, methods=['GET', 'POST'])
Run Code Online (Sandbox Code Playgroud)
这并没有告诉我在哪里可以放置我的密码或密码.所以我对这件事实际如何运作感到困惑.
有没有人有效地使用Flask-LDAP,如果有的话你是如何设置的?或者是否有更好的产品,如烧瓶登录,我应该使用?
谢谢,
有没有办法让python显示服务器上安装的所有apt/yum包?我有一个程序,只能抓取我指定的一个包,但我想知道是否在python中有一个apt-show-versions/yum check-update模块,因为python-yum和python-apt只做单个包.
谢谢.
编辑:
这是我目前的代码:
# For finding the package version and using the package name -i
def aptpkg(package_name):
cache = apt.Cache()
pkg = cache[package_name]
host = subprocess.Popen('hostname', stdout=subprocess.PIPE, universal_newlines=True).stdout.read().strip()
if pkg.is_installed:
print host
print 'Current ' + package_name + ' installed:', pkg.installed.version
con.execute("insert into ansible_packagelist(date, host, package_name, installed_version) values (current_timestamp,%s,%s,%s)", (host, package_name, pkg.installed.version,))
else:
print host, package_name + ' is not installed on this system.\n'
if pkg.is_upgradable:
print 'Upgradeable version of ' + package_name + ' :', pkg.candidate.version
con.execute("update …Run Code Online (Sandbox Code Playgroud)