eACL wrong behavior with user headers filters: STRING_NOT_EQUAL and STRING_EQUAL. #676

Closed
opened 2023-09-05 09:04:03 +00:00 by anikeev-yadro · 4 comments
Member

Autotest name

testsuites.acl.test_eacl_filters.TestEACLFilters#test_extended_acl_allow_filters_object

Expected Behavior

eACL should allow PUT operations with user headers filters: STRING_NOT_EQUAL and STRING_EQUAL

Current Behavior

eACL doesn't allow PUT operations with user headers filters: STRING_NOT_EQUAL and STRING_EQUAL.

Steps to Reproduce (for bugs)

  1. Create container
  2. PUT object
  3. Deny all operations for others except few operations allowed by object filter
  4. Check other can get objects with attributes matching the filter
  5. Cannot PUT object
COMMAND: frostfs-cli --config /jenkins/workspace/sbercloud_test/tmp.k4Xtk9WG18/frostfs-testcases/wallet_config.yml object put --rpc-endpoint '172.26.161.89:8080' --wallet '/jenkins/workspace/sbercloud_test/tmp.k4Xtk9WG18/frostfs-testcases/TemporaryDir/47a2c41e-5efe-4e42-b2f4-cd1047ce3f00.json' --cid 'EMSKYwk8CAZ1nLjDTdq9rS7PpiNLSwrCxbg8wQzRKhxh' --file 'TemporaryDir/20838014-f936-42a7-9741-1634ac31b02e' --attributes 'check_key=other_value' --no-progress
RETCODE: 1

STDOUT:
rpc error: client failure: rpc error: code = Unknown desc = could not close stream and receive response: could not close stream and receive response: (*putsvc.streamer) could not object put stream: (*putsvc.Streamer) could not close object target: could not write to next target: incomplete object PUT by placement: could not write header: (*putsvc.remoteTarget) could not put single object to [/ip4/172.26.162.60/tcp/8080]: put single object via client: status: code = 2048 message = access to object operation denied

STDERR:

Start / End / Elapsed	 07:54:41.724752 / 07:54:42.124843 / 0:00:00.400091

Regression

Yes

Version

0.0.1-879-g7456c855

Your Environment

Virtual
4 nodes

## Autotest name testsuites.acl.test_eacl_filters.TestEACLFilters#test_extended_acl_allow_filters_object ## Expected Behavior eACL should allow PUT operations with user headers filters: STRING_NOT_EQUAL and STRING_EQUAL ## Current Behavior eACL doesn't allow PUT operations with user headers filters: STRING_NOT_EQUAL and STRING_EQUAL. ## Steps to Reproduce (for bugs) 1. Create container 2. PUT object 3. Deny all operations for others except few operations allowed by object filter 4. Check other can get objects with attributes matching the filter 5. Cannot PUT object ``` COMMAND: frostfs-cli --config /jenkins/workspace/sbercloud_test/tmp.k4Xtk9WG18/frostfs-testcases/wallet_config.yml object put --rpc-endpoint '172.26.161.89:8080' --wallet '/jenkins/workspace/sbercloud_test/tmp.k4Xtk9WG18/frostfs-testcases/TemporaryDir/47a2c41e-5efe-4e42-b2f4-cd1047ce3f00.json' --cid 'EMSKYwk8CAZ1nLjDTdq9rS7PpiNLSwrCxbg8wQzRKhxh' --file 'TemporaryDir/20838014-f936-42a7-9741-1634ac31b02e' --attributes 'check_key=other_value' --no-progress RETCODE: 1 STDOUT: rpc error: client failure: rpc error: code = Unknown desc = could not close stream and receive response: could not close stream and receive response: (*putsvc.streamer) could not object put stream: (*putsvc.Streamer) could not close object target: could not write to next target: incomplete object PUT by placement: could not write header: (*putsvc.remoteTarget) could not put single object to [/ip4/172.26.162.60/tcp/8080]: put single object via client: status: code = 2048 message = access to object operation denied STDERR: Start / End / Elapsed 07:54:41.724752 / 07:54:42.124843 / 0:00:00.400091 ``` ## Regression Yes ## Version ``` 0.0.1-879-g7456c855 ``` ## Your Environment Virtual 4 nodes
anikeev-yadro added the
bug
triage
labels 2023-09-05 09:04:03 +00:00
fyrchik added this to the v0.37.0 milestone 2023-09-05 09:04:38 +00:00
acid-ant was assigned by fyrchik 2023-09-05 09:25:28 +00:00
Owner

Hm, this may be related to object size, let's check both small and big objects.

Hm, this may be related to object size, let's check both small and big objects.
Author
Member

@fyrchik
We caught this bug with simple object.
Do you want to retest with complex object?

@fyrchik We caught this bug with simple object. Do you want to retest with complex object?
Owner

No, we will try both on dev-env anyway.

No, we will try both on dev-env anyway.
acid-ant removed their assignment 2023-09-05 11:12:34 +00:00
aarifullin was assigned by acid-ant 2023-09-05 11:12:34 +00:00
acid-ant was assigned by fyrchik 2023-09-05 11:14:26 +00:00
aarifullin was unassigned by fyrchik 2023-09-05 11:14:27 +00:00
Author
Member

OK. Anyway we will expand our ACL tests with complex objects.

OK. Anyway we will expand our ACL tests with complex objects.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: TrueCloudLab/frostfs-node#676
No description provided.