Cenário muito simples:
env.use_ssh_config = True
@hosts(['example'])
def test():
run('uname')
e com a seguinte configuração SSH:
Host example
HostName example.com
Estou recebendo isso:
$ fab test
[example] Executing task 'test'
[example] run: uname
Fatal error: Name lookup failed for example.com
Underlying exception:
nodename nor servname provided, or not known
Aborting.
# BUT!
$ ssh example uname
Linux
Alguma idéia do que está acontecendo?
Acabei de descobrir que tinha HostName example.com_
(o sublinhado é um espaço em branco acidental) na configuração SSH.
Parece o #305 de novo?
Eu acho que isso precisa ser feito no lado ssh
desde a correspondência real da entrada (Fabric pedindo host "example"
) com a chave de configuração ssh, que é o que precisa ser removido ( "example ")
é realizado em SSHConfig.lookup
. Vou fazer uma referência lá.
Veja ssh #23
Obrigado @yuvadm - espaço extra também me pegou
Também foi mordido pelo bug de espaço em branco extra, postando isso aqui para futuros pesquisadores:
O erro que eu estava recebendo era Fatal error: Name lookup failed for hosts
- já que estávamos usando a definição env.roledefs
baseada em dicionário.
Comentários muito úteis
Também foi mordido pelo bug de espaço em branco extra, postando isso aqui para futuros pesquisadores:
O erro que eu estava recebendo era
Fatal error: Name lookup failed for hosts
- já que estávamos usando a definiçãoenv.roledefs
baseada em dicionário.