Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multi-site rgw #229

Open
swiftgist opened this issue May 3, 2017 · 4 comments
Open

multi-site rgw #229

swiftgist opened this issue May 3, 2017 · 4 comments
Assignees

Comments

@swiftgist
Copy link
Contributor

Abhishek, Karol and I have been hashing out the data structure for the pillar.

A partial example is

rgw = { 'realms':
         { 'silver':
           {'zonegroups': { 'AMER':
                             { 'zones': [ 'fox', 'hare' ]},
                               'master': { 'url': 'http://blah1',
                                       'access_key': '12345',
                                       'secret_key': 'abcdef'} },
                               'secondaries': [ 'us-east', 'us-west', 'prague' ],
                             'APAC':
                             { 'zones': [ 'panda', 'wallaby' ]},
                               'master': { 'url': 'http://blah2',
                                       'access_key': '12345',
                               'secondaries': [ 'singapore', 'bangkok' ],
                             'EMEA':
                             { 'zones': [ 'reindeer', 'gazelle' ] }
                               'master': { 'url': 'http://blah3',
                                       'access_key': '12345',
                               'secondaries': [ 'nuremburg', 'prague' ],
                           }
            'zonegroupmaster': 'EMEA'
            'gold':
           {'zonegroups': { 'AMER':
                             { 'zones': [ 'fox', 'hare' ]},
                             'APAC':
                             { 'zones': [ 'panda', 'wallaby' ]},
                             'EMEA':
                             { 'zones': [ 'reindeer', 'gazelle' ] }
                           }},
            'platinum':
           {'zonegroups': { 'AMER':
                             { 'zones': [ 'fox', 'hare' ]},
                             'APAC':
                             { 'zones': [ 'panda', 'wallaby' ]},
                             'EMEA':
                             { 'zones': [ 'reindeer', 'gazelle' ] }
                           }}
           }}

There's an outstanding question of whether this matches the behavior of RadosGW. Abhishek is investigating.

This was referenced May 3, 2017
@swiftgist
Copy link
Contributor Author

I found the other paste.

{{'zonegroups': { 'AMER':
                  { 'zones': [ 'fox', 'hare' ]},
                  'master': { 'url': 'http://blah1',
                              'access_key': '12345',
                              'secret_key': 'abcdef'} },
                  'APAC':
                   { 'zones': [ 'panda', 'wallaby' ]},
                     'master': { 'url': 'http://blah2',
                                 'access_key': '12345'}
                    'EMEA':
                    { 'zones': [ 'reindeer', 'gazelle' ] }
                       'master': { 'url': 'http://blah3',
                                   'access_key': '12345',
                                 }
  realms: ['gold','silver']
 }}

The question is whether this is all that is needed.

@theanalyst
Copy link
Contributor

looks like we'll have to go with the initial option, a basic check shows that it's not the same zgs and zones within a realm

@theanalyst
Copy link
Contributor

so zonegroup names have to be unique across the realms as well, since realm is associated with the zonegroup structure. Also since we're not explicit in saying the master zone, we should ensure that the zone endpoint has to resolve before this structure can be written

@swiftgist
Copy link
Contributor Author

Hmm, so I wonder what a fully populated example would look like. Why would someone use multiple realms? In the above example, the idea of partitioning on service (i.e. silver, gold and platinum tiers) made sense. If the zonegroups must be unique, I don't think that example works now.

So, we need a multi-level dictionary. I would like to create a fictional example that demonstrates when we use multiple realms. I do not think staging vs. production would apply. I am out of ideas currently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants