Escenario muy simple:
env.use_ssh_config = True
@hosts(['example'])
def test():
run('uname')
y con la siguiente configuración SSH:
Host example
HostName example.com
Estoy recibiendo esto:
$ 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
¿Tienes idea de lo que está pasando?
Me acabo de enterar que tenía HostName example.com_
(el guión bajo es un espacio en blanco accidental al final) en la configuración de SSH.
¿Se parece al #305 de nuevo?
Creo que esto debe hacerse en el lado ssh
ya que la coincidencia real de la entrada (Fabric que solicita el host "example"
) con la clave de configuración ssh, que es lo que necesita eliminarse ( "example ")
se realiza en SSHConfig.lookup
.Haré una referencia allí.
Ver ssh #23
Gracias @yuvadm : el espacio adicional también me consiguió
También me picó el error de espacio en blanco adicional, publicando esto aquí para futuros buscadores:
El error que recibí fue Fatal error: Name lookup failed for hosts
, ya que estábamos usando la definición env.roledefs
basada en el diccionario.
Comentario más útil
También me picó el error de espacio en blanco adicional, publicando esto aquí para futuros buscadores:
El error que recibí fue
Fatal error: Name lookup failed for hosts
, ya que estábamos usando la definiciónenv.roledefs
basada en el diccionario.