[openstack-dev] [TripleO] Improving Swift deployments with TripleO

Giulio Fidente gfidente at redhat.com
Thu Aug 4 08:27:41 UTC 2016


On 08/02/2016 09:36 PM, Christian Schwede wrote:
> Hello everyone,

thanks Christian,

> I'd like to improve the Swift deployments done by TripleO. There are a
> few problems today when deployed with the current defaults:
>
> 1. Adding new nodes (or replacing existing nodes) is not possible,
> because the rings are built locally on each host and a new node doesn't
> know about the "history" of the rings. Therefore rings might become
> different on the nodes, and that results in an unusable state eventually.

one of the ideas for this was to use a tempurl in the undercloud swift 
where to upload the rings built by a single overcloud node, not by the 
undercloud

so I proposed a new heat resource which would permit us to create a 
swift tempurl in the undercloud during the deployment

https://review.openstack.org/#/c/350707/

if we build the rings on the undercloud we can ignore this and use a 
mistral action instead, as pointed by Steven

the good thing about building rings in the overcloud is that it doesn't 
force us to have a static node mapping for each and every deployment but 
it makes hard to cope with heterogeneous environments

> 2. The rings are only using a single device, and it seems that this is
> just a directory and not a mountpoint with a real device. Therefore data
> is stored on the root device - even if you have 100TB disk space in the
> background. If not fixed manually your root device will run out of space
> eventually.

for the disks instead I am thinking to add a create_resources wrapper in 
puppet-swift:

https://review.openstack.org/#/c/350790
https://review.openstack.org/#/c/350840/

so that we can pass via hieradata per-node swift::storage::disks maps

we have a mechanism to push per-node hieradata based on the system uuid, 
we could extend the tool to capture the nodes (system) uuid and generate 
per-node maps

then, with the above puppet changes and having the per-node map and the 
rings download url, we could feed them to the templates, replace with an 
environment the rings building implementation and deploy without further 
customizations

what do you think?
-- 
Giulio Fidente
GPG KEY: 08D733BA | IRC: gfidente



More information about the OpenStack-dev mailing list