-
Couldn't load subscription status.
- Fork 6.4k
Description
Expected Behavior
I have created an active-active bucket replication, and I want replicate minio server1's object-put,object-delete operation to minio server2.
Current Behavior
The delete operation on minio server1 can't replicate to minio server2
Possible Solution
Steps to Reproduce (for bugs)
- use docker create two minio test server(minio version RELEASE.2021-02-01T22-56-52Z)
docker pull minio/minio
docker run -itd -p 9000:9000 --name minio1 minio/minio:latest server /data{1...4}
docker run -itd -p 9001:9000 --name minio2 minio/minio:latest server /data{1...4}
- docker mc(mc version RELEASE.2021-01-30T00-50-42Z)
docker pull minio/mc
docker run -it --entrypoint /bin/bash minio/mc:latest
set mc config
mc alias set minio1 http://10.2.4.207:9000 minioadmin minioadmin
mc alias set minio2 http://10.2.4.207:9001 minioadmin minioadmin
- create acitve-active bucket
mc mb -l minio{1..2}/test1
(1) minio1/test1=>minio2/test1
mc admin bucket remote add minio1/test1 http://minioadmin:[email protected]:9000/test1 --service replication --region us-east-1
Remote ARN = `arn:minio:replication:us-east-1:59f2ba2332b7b5025ccd7178a419fcb405edd8d9b256544066b1b61b70d50dc1:test1`.
mc replicate add minio1/test1 \
--priority 1 \
--storage-class STANDARD \
--remote-bucket test1 \
--replicate delete,delete-marker \
--arn arn:minio:replication:us-east-1:59f2ba2332b7b5025ccd7178a419fcb405edd8d9b256544066b1b61b70d50dc1:test1
Replication configuration rule applied to minio1/test1 successfully.
(2) minio2/test1=>minio1/test1
mc admin bucket remote add minio2/test1 http://minioadmin:[email protected]:9000/test1 --service replication --region us-east-1
Remote ARN = `arn:minio:replication:us-east-1:59f2ba2332b7b5025ccd7178a419fcb405edd8d9b256544066b1b61b70d50dc1:test1`.
mc replicate add minio2/test1 \
--priority 2 \
--storage-class STANDARD \
--remote-bucket test1 \
--replicate delete,delete-marker \
--arn arn:minio:replication:us-east-1:59f2ba2332b7b5025ccd7178a419fcb405edd8d9b256544066b1b61b70d50dc1:test1
Replication configuration rule applied to minio2/test1 successfully.
- verification
mc replicate ls
[root@5c88de1370e9 /]# mc replicate ls minio1/test1 --json
{
"op": "",
"status": "success",
"url": "",
"rule": {
"ID": "c0dq002f2j6iof8mc5cg",
"Status": "Enabled",
"Priority": 1,
"DeleteMarkerReplication": {
"Status": "Enabled"
},
"DeleteReplication": {
"Status": "Enabled"
},
"Destination": {
"Bucket": "arn:aws:s3:::test1",
"StorageClass": "STANDARD"
},
"Filter": {
"And": {},
"Tag": {}
},
"SourceSelectionCriteria": {
"ReplicaModifications": {
"Status": ""
}
}
}
}
[root@5c88de1370e9 /]# mc replicate ls minio2/test1 --json
{
"op": "",
"status": "success",
"url": "",
"rule": {
"ID": "c0dqe4qf2j6iqggim9o0",
"Status": "Enabled",
"Priority": 2,
"DeleteMarkerReplication": {
"Status": "Enabled"
},
"DeleteReplication": {
"Status": "Enabled"
},
"Destination": {
"Bucket": "arn:aws:s3:::test1",
"StorageClass": "STANDARD"
},
"Filter": {
"And": {},
"Tag": {}
},
"SourceSelectionCriteria": {
"ReplicaModifications": {
"Status": ""
}
}
}
}
Context
Test List(test with mc, and minio web page use Chrome 88)
- [Pass] put object1 to minio1/test1, object1 replicate to minio2/test1
- [Pass] put object2 to minio2/test1, object2 replicate to minio1/test1
- [Fail] delete object1 on minio1/test1, object1 delete on minio2/test1 too
- [Fail] delete object2 on minio2/test1, object2 delete on minio1/test1 too
Regression
I have tested normal user with correct permissions policy, object delete replication don't work too.
Your Environment
I have tested on two CentOS 7.6 server use minio binary version RELEASE.2021-02-01T22-56-52Z,
and Docker test steps above with version 19.03.13, build 4484c46d9d on Win10 pro