oenvoyage / brender

Brender is a distributed rendering solution for the 3D animation suite blender. A new version is developed here :
https://github.com/fsiddi/brender
38 stars 9 forks source link

Remote render nodes [Incomplete] #25

Open stephen304 opened 12 years ago

stephen304 commented 12 years ago

Here is some code that allows for render nodes to be outside of the network. I think FTP and MySQL authentication should be secure enough. The code only works fully on windows. Remote mac render nodes will upload frames over FTP, but they will not sync the blend folders. (Finding a suitable replacement for WinSCP on mac has been troublesome). This is completely disabled by default and, as noted in the code, is still highly experimental.

I made a fork and pull request on this one because this is a more major addition and I would like to make sure I have your approval before adding it.

stephen304 commented 12 years ago

What would you think about adding in a copy of WinSCP as well? I don't want to add more steps to the installation and it seems to be under GPL license. I'm not sure about NcFTP, the license seems very hard to understand.

oenvoyage commented 12 years ago

hello, On mac there is sftp and scp by default (unix commands) I think it should be possible to make something out of it. On linux it would be the same commands then. For winscp. I am not very fan of adding another piece of software though. I will pull the request when I am back home and can try it out ok?

stephen304 commented 12 years ago

Well I already tried to use the built in ftp command on mac, but, according to this page, the default commands can't recursively upload a folder. Uploading render/ fails because render is a folder and uploading render/* successfully uploads the files inside render/ but any folders inside render/ fail to upload for the same reason that render/ itself wouldn't upload.

http://stackoverflow.com/a/1370704/733880

WinSCP has worked perfectly because of the sync command that is available, comparing filesize to download new files to blend/ and fully synchronizing the folder.

I found that WinSCP wouldn't take a wildcard for all files/folders local so I had to give the FTP user access to the brender/root main folder. This isn't really a problem if the clients are all computers that you trust, but I felt that it was less than ideal.

stephen304 commented 12 years ago

I am in progress for remaking this to work for built in ftp. I will be using md5 to checksum files in brender/ in order to replace the sync command in winscp. Since this is php, the only os specific code will be the final command to transfer a specific file.

stephen304 commented 12 years ago

I'm done with a separate sync / upload code in php. Sometime soon I will modify this to be php instead.

DanielRuf commented 12 years ago

Are you comparing with md5 and filenames? (file chane date?) Do you use php://stdin and others? Doing it in plain php should not be so hard http://php.net/manual/en/ref.ftp.php

Can we make a new pull request for the php version? Also the new php 5.4 release has a built in server.

stephen304 commented 12 years ago

Yes, I have working code bits I just need to assemble it. Haven't had much time since my mom keeps taking away my laptop.

I think I will make a new pull request.