Update patch set 3

Patch Set 3:

(6 comments)

Patch-set: 3
Attention: {"person_ident":"Gerrit User 13178 \u003c13178@4a232e18-c5a9-48ee-94c0-e04e7cca6543\u003e","operation":"REMOVE","reason":"\u003cGERRIT_ACCOUNT_13178\u003e replied on the change"}
Attention: {"person_ident":"Gerrit User 15382 \u003c15382@4a232e18-c5a9-48ee-94c0-e04e7cca6543\u003e","operation":"ADD","reason":"\u003cGERRIT_ACCOUNT_13178\u003e replied on the change"}
This commit is contained in:
Gerrit User 13178 2024-04-04 09:50:15 +00:00 committed by Gerrit Code Review
parent 2bc5b2c9ef
commit e1ed57bb8b
1 changed files with 126 additions and 0 deletions

View File

@ -34,6 +34,24 @@
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": false,
"key": {
"uuid": "4b59c5f2_e5ece2d4",
"filename": "specs/2024.1/backlog/ceph-radosgw-cloud-sync.rst",
"patchSetId": 3
},
"lineNbr": 25,
"author": {
"id": 13178
},
"writtenOn": "2024-04-04T09:50:15Z",
"side": 1,
"message": "Acknowledged. Will fix the typo.",
"parentUuid": "3b5635ad_81bd8ea3",
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -57,6 +75,30 @@
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "f7a7a0ee_74752b89",
"filename": "specs/2024.1/backlog/ceph-radosgw-cloud-sync.rst",
"patchSetId": 3
},
"lineNbr": 88,
"author": {
"id": 13178
},
"writtenOn": "2024-04-04T09:50:15Z",
"side": 1,
"message": "A profile allows syncing of a single (or more) source bucket(s) to a single remote S3 target. It\u0027s basically a \"Many-To-One\" mapping between source buckets and an S3 destination.\n\nWhen these explicit profiles are not defined, the default S3 target is used to sync all source buckets to that default S3 target. The **default S3 target is mandatory**.\n\nA profile contains info about:\n1. `source_bucket`, either a bucket name, or a bucket prefix (if ends with *) that defines the source bucket(s) for this profile.\n1. `target_path`, A string that defines how the target path is created. The target path specifies a prefix to which the source object name is appended. The target path configurable can include any of the following variables:\n - `$sid`: unique string that represents the sync instance ID - zonegroup: the zonegroup name\n - `$zonegroup_id`: the zonegroup ID\n - `$zone`: the zone name\n - `$zone_id`: the zone id\n - `$bucket`: source bucket name\n - `$owner`: source bucket owner ID\n\n For example:\n ```\n target_path \u003d rgwx-${zone}-${sid}/${owner}/${bucket}\n ```\n1. `connection_id`, ID of the connection (with credentials) that will be used for this profile.\n\nThe cloud sync profiles are configured through use of s3-integrator Juju applications, together with the new config option `cloud-sync-target-path`.\n\nI will details about a Cloud Sync profile here.",
"parentUuid": "88acde15_0801267b",
"range": {
"startLine": 79,
"startChar": 0,
"endLine": 88,
"endChar": 51
},
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -80,6 +122,30 @@
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "e425e5d1_3809abf4",
"filename": "specs/2024.1/backlog/ceph-radosgw-cloud-sync.rst",
"patchSetId": 3
},
"lineNbr": 94,
"author": {
"id": 13178
},
"writtenOn": "2024-04-04T09:50:15Z",
"side": 1,
"message": "This is exactly the `default` described here. It\u0027s a default S3 sync target, when there\u0027s no explicit profile defined for the source buckets. It acts as a default profile.\n\nI can rename the \"default S3 target\" to the \"default profile\", if you think it\u0027s more appropriate.\n\nI used the terminology \"default S3 target\" instead of \"default profile\" to ilustrate the fact the profiles is an explicit set of definitions that matches one or more source buckets to a different S3 target. The \"profiles\" list can be empty, and in this case all source buckets will sync to a single S3 target (the default one).",
"parentUuid": "2c296240_b6a080fe",
"range": {
"startLine": 90,
"startChar": 0,
"endLine": 94,
"endChar": 50
},
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -97,6 +163,24 @@
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "6f7a418a_4c5f0aa3",
"filename": "specs/2024.1/backlog/ceph-radosgw-cloud-sync.rst",
"patchSetId": 3
},
"lineNbr": 106,
"author": {
"id": 13178
},
"writtenOn": "2024-04-04T09:50:15Z",
"side": 1,
"message": "I will add an example on how to deploy multiple targets with `s3-integrator`.",
"parentUuid": "377dc339_aaa69e64",
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -114,6 +198,24 @@
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "f72f7cd7_b1330d80",
"filename": "specs/2024.1/backlog/ceph-radosgw-cloud-sync.rst",
"patchSetId": 3
},
"lineNbr": 110,
"author": {
"id": 13178
},
"writtenOn": "2024-04-04T09:50:15Z",
"side": 1,
"message": "That was a suggestion from Utkarsh, but unfortunately it doesn\u0027t work.\n\nThe cloud-sync is a different zone in RGW, and as far as I know (and tested locally) a single RGW daemon is able to manage a single RGW zone.\n\nWhen cloud-sync is used, the zones in RGW zonegroup would be these:\n\n1. `primary`\n1. `primary-cloud-sync`\n\nCloud sync is a [sync module](https://docs.ceph.com/en/latest/radosgw/sync-modules/#sync-modules) built on top of RGW multi-zone [Multi-Site functionality](https://docs.ceph.com/en/latest/radosgw/multisite/#diagram-replication-of-object-data-between-zones).\n\nThe only thing special about cloud-sync is that:\n1. It writes data to S3-compatible targets (instead of another Ceph storage cluster).\n2. Data sync is only unidirectional.\n3. It requires a non-trivial configuration of the S3 target(s) connection info given as tier config.\n\nGiven the above challenges, we [agreed previously on Mattermost](https://chat.charmhub.io/charmhub/pl/qxn695mbbtn1dde71g71yibzga) that we should use the S3 integrator for configuring profiles to S3 targets, and the default S3 target.",
"parentUuid": "0fb912a4_b7e982d3",
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -136,6 +238,30 @@
},
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "55e74166_a51215b2",
"filename": "specs/2024.1/backlog/ceph-radosgw-cloud-sync.rst",
"patchSetId": 3
},
"lineNbr": 159,
"author": {
"id": 13178
},
"writtenOn": "2024-04-04T09:50:15Z",
"side": 1,
"message": "The profile name is used by the operator to set the new config option `cloud-sync-default-s3-target`, which dictates what is the default S3 target configured.\n\nI felt that it\u0027s intuitive for an operator to do the following:\n\n```\njuju deploy s3-integrator dev-minio\njuju deploy s3-integrator production-aws\njuju deploy s3-integrator staging-aws\n\njuju add-relation secondary-ceph-radosgw dev-minio\njuju add-relation secondary-ceph-radosgw production-aws\njuju add-relation secondary-ceph-radosgw staging-aws\n\njuju configure secondary-ceph-radosgw cloud-sync-default-s3-target\u003d\u0027dev-minio\u0027\n```\n\nGiven that the operator configures the details of the S3 target via the Juju application `dev-minio`, it is intuitive for him to set the default S3 target to that s3-integrator app name.\n\nIf you have another idea on how to configure the default S3 target, I\u0027m open to any other suggestions!",
"parentUuid": "3d795fb9_e06be25a",
"range": {
"startLine": 157,
"startChar": 1,
"endLine": 159,
"endChar": 46
},
"revId": "c0dc502b20b238081f43f0417fbfee1bdcede340",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
}
]
}