container-sync documentation could be improved

Bug #1068430 reported by Faidon Liambotis
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Fix Released
Undecided
Samuel Merritt

Bug Description

While the container sync docs are comprehensive and well-written, they lack important information about the architecture & topology of sync deployments.

For example, it's not immediately apparent the fact that the container sync process runs on the container servers and connects to the remote cluster's proxy servers. This is worsened by the fact that the "allowed_sync_hosts" variable has the same name in both the container-sync section and in the authentication system section and by the fact that the documentation mentions an example of "allowed_sync_hosts = host1,host2,etc." in both cases. In other words, it's not immediately clear that in the [container-sync] section allowed_sync_hosts must be "proxy1,proxy2,etc." while in the authentication section in must list *all* of the container server backends of the remote cluster.

Additionally, the topology of how the container servers are connecting to the remote end's proxies is not very apparent, esp. since it's hard to imagine that the container servers which usually reside into one end's *internal* network are suddenly expected to connect to a comptely different site's frontends. I was told that a possible architecture would be to put an HTTP proxy server in each site, and have the container servers connect through that -- and, subsequently, have allowed_sync_hosts be that HTTP proxy server. Although this architecture was no use to me, I believe that it makes sense for others and actually helps to understand the deisgn behind this feature, and as such it belongs into the documentation.

Revision history for this message
Samuel Merritt (torgomatic) wrote :

I agree with you on the container-sync docs. What connects to what should be documented.

FYI, the allowed_sync_hosts variable is gone from the authentication system now; see https://review.openstack.org/16358 for details. Basically, it wasn't providing anything but a false sense of security, so it got removed.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to swift (master)

Fix proposed to branch: master
Review: https://review.openstack.org/16704

Changed in swift:
assignee: nobody → Samuel Merritt (torgomatic)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to swift (master)

Reviewed: https://review.openstack.org/16704
Committed: http://github.com/openstack/swift/commit/89a871d42f1226c2dd292ea739dfda01d6f4b3f2
Submitter: Jenkins
Branch: master

commit 89a871d42f1226c2dd292ea739dfda01d6f4b3f2
Author: Samuel Merritt <email address hidden>
Date: Wed Nov 21 14:57:21 2012 -0800

    Improve container-sync docs.

    Two improvements: first, document that the container-sync process
    connects to the remote cluster's proxy server, so outbound
    connectivity is required.

    Second, rewrite the behind-the-scenes container-sync example and add
    some ASCII-art diagrams.

    Fixes bug 1068430.

    Bonus fix of docstring in wsgi.py to squelch a sphinx warning.

    Change-Id: I85bd56c2bd14431e13f7c57a43852777f14014fb

Changed in swift:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in swift:
milestone: none → 1.7.6
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.