To correctly deploy Swift, we need to manually manage the Swift Rings. This
can be achieved by disabling the Ring building process in TripleO by setting
the SwiftRingBuild and RingBuild parameters both to false. For
example:

parameter_defaults:SwiftRingBuild:falseRingBuild:false

Note

If this is saved in a file named deploy-parameters.yaml then it can
be deployed with openstackoverclouddeploy--templates-edeploy-parameters.yaml.

After the deploy is completed, you will need to ssh onto the overcloud node as
the heat-admin user and switch to the root user with sudo-i. The IP
addresses is available in the output of openstackserverlist. Once
connected, in the /etc/swift/ directory follow the instructions in the
Swift documentation to create the Rings.

After this is completed you will need to copy the /etc/swift/*.ring.gz and
/etc/swift/*.builder files from the controller to all other controllers and
Swift storage nodes. These files will also be used when adding additional Swift
nodes. You should have six files:

TripleO doesn’t currently automatically update and scale Swift Rings. This
needs to be done manually, with similar steps to the above initial
deployment. First we need to define how many dedicated Swift nodes we want to
deploy with the ObjectStorageCount parameter. In this example we are
adding two Swift nodes:

After we have deployed again with this new environment we will have two Swift
nodes that need to be added to the ring we created during the initial
deployment. Follow the instructions on Managing the Rings
to add the new devices to the rings and copy the new rings to all nodes in
the Swift cluster.