You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<servers>
<server name="sftp push frontend" transporter="sftp" maxConnections="5">
<host>xxx.xxx.xxx.xxx</host>
<username>root</username>
<url>http://xxx.xxx.xxx.xxx/</url>
</server>
</servers>
# python /root/fileconveyor/fileconveyor/arbitrator.py
/root/fileconveyor/fileconveyor/filter.py:10: DeprecationWarning: the sets module is deprecated
from sets import Set, ImmutableSet
2014-01-23 00:07:46,331 - Arbitrator - WARNING - File Conveyor is initializing.
2014-01-23 00:07:46,337 - Arbitrator - WARNING - Loaded config file.
2014-01-23 00:07:46,340 - Arbitrator - ERROR - The transporter module 'sftp' could not be found. Tried (sftp, transporters.transporter_sftp)
TransporterAvailabilityTestError Consult the log file for details
The files in the fileconveyor directories are all owned and grouped by root (and I am logged in as root), they are 644 (although I also tried 755 just in case there was an executable issue with the subdirectories).
I don't understand why it isn't finding the transporter_sftp.py module. I've looked through other issues with this same error, but none of their fixes work for me.
I'm an experienced dev, but I know nothing about python, django, etc. However, it looks to me like the transporter_sftp simply doesn't work at all with the current version of SFTPStorage.
I was able to get the sftp transporter recognized after I yum installed python-paramiko, and then the next error message I received was that the SFTPStorage init method expects only 1 param, but 4 were given. I dug into the SFTPStorage code and it looks like it grabs all of its configuration variables from a class called django.conf.settings, but that's not at all how the sftp transporter expects to be sending those variables.
Traceback (most recent call last):
File "/root/src/fileconveyor/fileconveyor/arbitrator.py", line 1185, in <module>
run_file_conveyor()
File "/root/src/fileconveyor/fileconveyor/arbitrator.py", line 1168, in run_file_conveyor
arbitrator = Arbitrator(os.path.join(FILE_CONVEYOR_PATH, "config.xml"), restart)
File "/root/src/fileconveyor/fileconveyor/arbitrator.py", line 151, in __init__
transporter = self.__create_transporter(server)
File "/root/src/fileconveyor/fileconveyor/arbitrator.py", line 928, in __create_transporter
transporter = transporter_class(settings, self.transporter_callback, self.transporter_error_callback, "Arbitrator")
File "/root/src/fileconveyor/fileconveyor/transporters/transporter_sftp.py", line 35, in __init__
self.storage = SFTPStorage(location, self.settings["url"], key)
TypeError: __init__() takes exactly 1 argument (4 given)
The files in the fileconveyor directories are all owned and grouped by root (and I am logged in as root), they are 644 (although I also tried 755 just in case there was an executable issue with the subdirectories).
I don't understand why it isn't finding the transporter_sftp.py module. I've looked through other issues with this same error, but none of their fixes work for me.
I installed using:
pip install -e git+https://github.com/wimleers/fileconveyor@master#egg=fileconveyor
The text was updated successfully, but these errors were encountered: