2011-02-06 3 views
1

Я пытаюсь удаленно распаковать файл с использованием ткани 0.92, но получаю EOF от paramiko.Python 2.7 fabric/paramiko EOF при попытке распаковать удаленный файл

def deployFile(self, localdir, remoteroot, filename): 
    log.info('Deploying file {0} to host {1}...'.format(filename, self.host)) 
    env.password = self.password 
    env.disable_known_hosts = True 
    localFile=localdir+"/"+filename 
    remoteFile='/tmp/{0}'.format(filename) 

    with settings(host_string = self.connectstring): 
     log.info('...putting {0}'.format(filename)) 
     put(localFile, "/tmp/", mode=0755) 
     with cd(remoteroot): 
      untar='tar zxvf {0}'.format(remoteFile) 
      log.info('...untarring {0}'.format(filename)) 
      #paramiko.util.log_to_file('paramiko.out') 
      sudo(untar, pty=True) 

Мой выход из paramiko.out:

DEB [20110205-20:49:36.782] thr=1 paramiko.transport: [chan 8] Max packet in: 34816 bytes 
DEB [20110205-20:49:36.784] thr=2 paramiko.transport: [chan 7] EOF received (7) 
DEB [20110205-20:49:36.785] thr=2 paramiko.transport: [chan 8] Max packet out: 32768 bytes 
INF [20110205-20:49:36.785] thr=2 paramiko.transport: Secsh channel 8 opened. 
DEB [20110205-20:49:36.788] thr=2 paramiko.transport: EOF in transport thread 

Я в состоянии выполнять другие команды SUDO, используя ткань, но распаковке файл, кажется, ломаются. Я сравнил md5sum локального файла и удаленного файла, и они равны. Я могу отключить файл без ошибок при входе в удаленный компьютер.

+0

Я получил ту же самую ошибку сегодня, используя fabric.contrib.project.upload_project, но, возможно, вы хотите использовать upload_project, это сэкономит вам некоторую сложность. Вместо этого я использовал fabric.contrib.project.rsync_project, потому что он сработал. Возможно, это bug.fab --version Fabric 1.3.2 –

ответ

0

Это еще проблема в новом выпуске Fabric для вас? Также вы можете попробовать сбросить флаг подробностей на tar. Возможно, это будет наводнение труб stdout/stdin.