v1.3.0
Changelog for reva 1.3.0 (2020-10-08)
The following sections list the changes in reva 1.3.0 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #1140: Call the gateway stat method from appprovider
- Fix #1170: Up and download of file shares
- Fix #1177: Fix ocis move
- Fix #1178: Fix litmus failing on ocis storage
- Fix #237: Fix missing quotes on OCIS-Storage
- Fix #1210: No longer swallow permissions errors in the gateway
- Fix #1183: Handle eos EPERM as permission denied
- Fix #1206: No longer swallow permissions errors
- Fix #1207: No longer swallow permissions errors in ocdav
- Fix #1161: Cache display names in ocs service
- Fix #1216: Add error handling for invalid references
- Enh #1205: Allow using the username when accessing the users home
- Enh #1131: Use updated cato to display nested package config in parent docs
- Enh #1213: Check permissions in ocis driver
- Enh #1202: Check permissions in owncloud driver
- Enh #1228: Add GRPC stubs for CreateSymlink method
- Enh #1174: Add logic in EOS FS for maintaining same inode across file versions
- Enh #1142: Functionality to map home directory to different storage providers
- Enh #1190: Add Blackbox Exporter support to Mentix
- Enh #1229: New gateway datatx service
- Enh #1225: Allow setting the owner when using the ocis driver
- Enh #1180: Introduce ocis driver treetime accounting
- Enh #1208: Calculate etags on-the-fly for shares directory and home folder
Details
-
Bugfix #1140: Call the gateway stat method from appprovider
The appprovider service used to directly pass the stat request to the storage provider
bypassing the gateway, which resulted in errors while handling share children as they are
resolved in the gateway path. -
Bugfix #1170: Up and download of file shares
The shared folder logic in the gateway storageprovider was not allowing file up and downloads
for single file shares. We now check if the reference is actually a file to determine if up /
download should be allowed. -
Bugfix #1177: Fix ocis move
When renaming a file we updating the name attribute on the wrong node, causing the path
construction to use the wrong name. This fixes the litmus move_coll test. -
Bugfix #1178: Fix litmus failing on ocis storage
We now ignore the
no data available
error when removing a non existing metadata attribute,
which is ok because we are trying to delete it anyway. -
Bugfix #237: Fix missing quotes on OCIS-Storage
Etags have to be enclosed in quotes ". Return correct etags on OCIS-Storage.
-
Bugfix #1210: No longer swallow permissions errors in the gateway
The gateway is no longer ignoring permissions errors. It will now check the status for
rpc.Code_CODE_PERMISSION_DENIED
codes and report them properly using
status.NewPermissionDenied
orstatus.NewInternal
instead of reusing the original
response status. -
Bugfix #1183: Handle eos EPERM as permission denied
We now treat EPERM errors, which occur, eg. when acl checks fail and return a permission denied
error. -
Bugfix #1206: No longer swallow permissions errors
The storageprovider is no longer ignoring permissions errors. It will now report them
properly usingstatus.NewPermissionDenied(...)
instead ofstatus.NewInternal(...)
-
Bugfix #1207: No longer swallow permissions errors in ocdav
The ocdav api is no longer ignoring permissions errors. It will now check the status for
rpc.Code_CODE_PERMISSION_DENIED
codes and report them properly using
http.StatusForbidden
instead ofhttp.StatusInternalServerError
-
Bugfix #1161: Cache display names in ocs service
The ocs list shares endpoint may need to fetch the displayname for multiple different users. We
are now caching the lookup fo 60 seconds to save redundant RPCs to the users service. -
Bugfix #1216: Add error handling for invalid references
-
Enhancement #1205: Allow using the username when accessing the users home
We now allow using the userid and the username when accessing the users home on the
/dev/files
endpoint. -
Enhancement #1131: Use updated cato to display nested package config in parent docs
Previously, in case of nested packages, we just had a link pointing to the child package. Now we
copy the nested package's documentation to the parent itself to make it easier for devs. -
Enhancement #1213: Check permissions in ocis driver
We are now checking grant permissions in the ocis storage driver.
-
Enhancement #1202: Check permissions in owncloud driver
We are now checking grant permissions in the owncloud storage driver.
-
Enhancement #1228: Add GRPC stubs for CreateSymlink method
-
Enhancement #1174: Add logic in EOS FS for maintaining same inode across file versions
This PR adds the functionality to maintain the same inode across various versions of a file by
returning the inode of the version folder which remains constant. It requires extra metadata
operations so a flag is provided to disable it. -
Enhancement #1142: Functionality to map home directory to different storage providers
We hardcode the home path for all users to /home. This forbids redirecting requests for
different users to multiple storage providers. This PR provides the option to map the home
directories of different users using user attributes. -
Enhancement #1190: Add Blackbox Exporter support to Mentix
This update extends Mentix to export a Prometheus SD file specific to the Blackbox Exporter
which will be used for initial health monitoring. Usually, Prometheus requires its targets to
only consist of the target's hostname; the BBE though expects a full URL here. This makes
exporting two distinct files necessary. -
Enhancement #1229: New gateway datatx service
Represents the CS3 datatx module in the gateway.
-
Enhancement #1225: Allow setting the owner when using the ocis driver
To support the metadata storage we allow setting the owner of the root node so that subsequent
requests with that owner can be used to manage the storage. -
Enhancement #1180: Introduce ocis driver treetime accounting
We added tree time accounting to the ocis storage driver which is modeled after eos synctime
accounting.
It can be enabled using the newtreetime_accounting
option, which defaults tofalse
The
tmtime
is stored in an extended attributeuser.ocis.tmtime
. The treetime accounting is
enabled for nodes which have theuser.ocis.propagation
extended attribute set to"1"
.
Currently, propagation is in sync. -
Enhancement #1208: Calculate etags on-the-fly for shares directory and home folder
We create references for accepted shares in the shares directory, but these aren't updated
when the original resource is modified. This PR adds the functionality to generate the etag for
the shares directory and correspondingly, the home directory, based on the actual resources
which the references point to, enabling the sync functionality.