On Thu, Jan 05, 2017 at 02:56:15PM +0000, arkady.kanev...@dell.com wrote:
> I have concern to rely on undercloud for overcloud swift.
> Undercloud is not HA (yet) so it may not be operational when disk failed or 
> swift overcloud node is added/deleted.

I think the proposal is only for a deploy-time dependency, after the
overcloud is deployed there should be no dependency on the undercloud
swift, because the ring data will have been copied to all the nodes.

During create/update operations you need the undercloud operational by
definition, so I think this is probably OK?

Steve
> 
> -----Original Message-----
> From: Christian Schwede [mailto:cschw...@redhat.com] 
> Sent: Thursday, January 05, 2017 6:14 AM
> To: OpenStack Development Mailing List <openstack-dev@lists.openstack.org>
> Subject: [openstack-dev] [TripleO] Fixing Swift rings when 
> upscaling/replacing nodes in TripleO deployments
> 
> Hello everyone,
> 
> there was an earlier discussion on $subject last year [1] regarding a bug 
> when upscaling or replacing nodes in TripleO [2].
> 
> Shortly summarized: Swift rings are built on each node separately, and if 
> adding or replacing nodes (or disks) this will break the rings because they 
> are no longer consistent across the nodes. What's needed are the previous 
> ring builder files on each node before changing the rings.
> 
> My former idea in [1] was to build the rings in advance on the undercloud, 
> and also using introspection data to gather a set of disks on each node for 
> the rings.
> 
> However, this changes the current way of deploying significantly, and also 
> requires more work in TripleO and Mistral (for example to trigger a ring 
> build on the undercloud after the nodes have been started, but before the 
> deployment triggers the Puppet run).
> 
> I prefer smaller steps to keep everything stable for now, and therefore I 
> changed my patches quite a bit. This is my updated proposal:
> 
> 1. Two temporary undercloud Swift URLs (one PUT, one GET) will be computed 
> before Mistral starts the deployments. A new Mistral action to create such 
> URLs is required for this [3].
> 2. Each overcloud node will try to fetch rings from the undercloud Swift 
> deployment before updating it's set of rings locally using the temporary GET 
> url. This guarantees that each node uses the same source set of builder 
> files. This happens in step 2. [4] 3. puppet-swift runs like today, updating 
> the rings if required.
> 4. Finally, at the end of the deployment (in step 5) the nodes will upload 
> their modified rings to the undercloud using the temporary PUT urls. 
> swift-recon will run before this, ensuring that all rings across all nodes 
> are consistent.
> 
> The two required patches [3][4] are not overly complex IMO, but they solve 
> the problem of adding or replacing nodes without changing the current 
> workflow significantly. It should be even easy to backport them if needed.
> 
> I'll continue working on an improved way of deploying Swift rings (using 
> introspection data), but using this approach it could be even done using 
> todays workflow, feeding data into puppet-swift (probably with some updates 
> to puppet-swift/tripleo-heat-templates to allow support for regions, zones, 
> different disk layouts and the like). However, all of this could be built on 
> top of these two patches.
> 
> I'm curious about your thoughts and welcome any feedback or reviews!
> 
> Thanks,
> 
> -- Christian
> 
> 
> [1]
> http://lists.openstack.org/pipermail/openstack-dev/2016-August/100720.html
> [2] https://bugs.launchpad.net/tripleo/+bug/1609421
> [3] https://review.openstack.org/#/c/413229/
> [4] https://review.openstack.org/#/c/414460/
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-- 
Steve Hardy
Red Hat Engineering, Cloud

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to