Odriveagent fails to run

Trying to run odriveagent via systemd fails with the newest version of odriveagent with the following errors:

Jan 26 16:31:41 media systemd[1]: Started odrive Sync Agent.
Jan 26 16:31:42 media odriveagent[24228]: Traceback (most recent call last):
Jan 26 16:31:42 media odriveagent[24228]:   File "<string>", line 52, in <module>
Jan 26 16:31:42 media odriveagent[24228]:   File "<string>", line 49, in main
Jan 26 16:31:42 media odriveagent[24228]:   File "<string>", line 42, in launch
Jan 26 16:31:42 media odriveagent[24228]:   File "/home/ubuntu/hudson/workspace/Odrive_Lnx_Agent_64/deploy/output/artifacts/build/odriveagent/LinuxOdriveAgent/out00-PYZ.pyz/src.odrive_app.OdriveSyncAgent", line 268, in construct
Jan 26 16:31:42 media odriveagent[24228]:   File "/home/ubuntu/hudson/workspace/Odrive_Lnx_Agent_64/deploy/output/artifacts/build/odriveagent/LinuxOdriveAgent/out00-PYZ.pyz/src.odrive_app.OdriveSyncAgent", line 730, in _get_odrive_fs_service
Jan 26 16:31:42 media odriveagent[24228]:   File "/home/ubuntu/hudson/workspace/Odrive_Lnx_Agent_64/deploy/output/artifacts/build/odriveagent/LinuxOdriveAgent/out00-PYZ.pyz/src.odrive_app.OdriveSyncAgent", line 710, in _get_database_key
Jan 26 16:31:42 media odriveagent[24228]:   File "/home/ubuntu/hudson/workspace/Odrive_Lnx_Agent_64/deploy/output/artifacts/build/odriveagent/LinuxOdriveAgent/out00-PYZ.pyz/src.utility.KeyChainService", line 66, in set_user_key
Jan 26 16:31:42 media odriveagent[24228]:   File "/home/ubuntu/hudson/workspace/Odrive_Lnx_Agent_64/deploy/output/artifacts/build/odriveagent/LinuxOdriveAgent/out00-PYZ.pyz/keyring.core", line 45, in set_password
Jan 26 16:31:42 media odriveagent[24228]:   File "/home/ubuntu/hudson/workspace/Odrive_Lnx_Agent_64/deploy/output/artifacts/build/odriveagent/LinuxOdriveAgent/out00-PYZ.pyz/src.utility.KeyChainService", line 38, in set_password
Jan 26 16:31:42 media odriveagent[24228]:   File "/home/ubuntu/hudson/workspace/Odrive_Lnx_Agent_64/deploy/output/artifacts/build/odriveagent/LinuxOdriveAgent/out00-PYZ.pyz/src.file_system.implementation.NativeFileSystemService", line 70, in wrapper
Jan 26 16:31:42 media odriveagent[24228]:   File "/home/ubuntu/hudson/workspace/Odrive_Lnx_Agent_64/deploy/output/artifacts/build/odriveagent/LinuxOdriveAgent/out00-PYZ.pyz/src.file_system.implementation.NativeFileSystemService", line 306, in make_directories
Jan 26 16:31:42 media odriveagent[24228]:   File "/home/ubuntu/hudson/workspace/Odrive_Lnx_Agent_64/deploy/output/artifacts/build/odriveagent/LinuxOdriveAgent/out00-PYZ.pyz/os", line 150, in makedirs
Jan 26 16:31:42 media odriveagent[24228]:   File "/home/ubuntu/hudson/workspace/Odrive_Lnx_Agent_64/deploy/output/artifacts/build/odriveagent/LinuxOdriveAgent/out00-PYZ.pyz/os", line 150, in makedirs
Jan 26 16:31:42 media odriveagent[24228]:   File "/home/ubuntu/hudson/workspace/Odrive_Lnx_Agent_64/deploy/output/artifacts/build/odriveagent/LinuxOdriveAgent/out00-PYZ.pyz/os", line 157, in makedirs
Jan 26 16:31:42 media odriveagent[24228]: src.file_system.interface.AbstractFileSystemService.FileSystemServiceException: code 2 - fn: make_directories, args: (<src.file_system.implementation.NativeFileSystemService.NativeFileSystemService object at 0x7f1624050850>, '/home/odrive/.odrive-agent/db') [] caused by OSError([Errno 13] Permission denied: '/home/odrive')
Jan 26 16:31:42 media systemd[1]: odrive.service: Main process exited, code=exited, status=255/EXCEPTION
Jan 26 16:31:42 media systemd[1]: odrive.service: Failed with result 'exit-code'.

Could it have something to do with the fact that you guys hard-code all kinds of paths into your scripts?

Hi @dpantel,
The agent will try to store its database and configuration in the running user’s home folder. It looks like you are running as user odrive.

In this case it is trying to create the /home/odrive/.odrive-agent/db directory, but doesn’t have the proper permissions to do so.

Ok that should be an easy fix.

I’m not going to ask that you guys consider making the Linux agent the configurable server tool its meant to be, but could you maybe update the documentation with that little tidbit?

Also, the “this is how you use odrive on Linux” article that the docs link to was written in 2016. I’m sure I’m not the only one who’s would appreciate an update there.

Thank you.

1 Like

Hi @dpantel,
Thanks for the feedback.

The odrive agent and CLI were created more from an “single user” point of view, much like our desktop clients. The intent was to provide storage unification and sync capabilities for Linux users and, more generally, to aid advanced odrive usage via the command-line on all of our platforms (Windows, Mac, Linux). As such, it wasn’t built to specifically target server usage, but it is certainly used that way by many folks, and we encourage that.

If you have specific suggestions for how we can improve the product, definitely post it. Your suggestions will be taken seriously and considered.

  • What would you like to see in terms of configurability and how would you change the current default assumptions/behavior?
  • What other information would you like to see in terms of documentation/education?

Thanks for taking the time.

I think separating the agent from the client and making the locations for the agent binary and agent data configurable would be great.

Or, again, at the very least specify all file locations and their relationships in the documentation.

1 Like

Hey @dpantel,
I forgot to mention in my previous message, but we updated the documentation to include information about the $HOME/.odrive-agent folder, as well as information about the sync log and advanced settings.

Thank you :slight_smile:
1
2
3
4
5 characters…

1 Like