swift-dispersion-populate(1) Openstack-swift dispersion populate


swift-dispersion-populate [--container-suffix-start] [--object-suffix-start] [--container-only|--object-only] [--insecure] [conf_file]


This is one of the swift-dispersion utilities that is used to evaluate the overall cluster health. This is accomplished by checking if a set of deliberately distributed containers and objects are currently in their proper places within the cluster.

For instance, a common deployment has three replicas of each object. The health of that object can be measured by checking if each replica is in its proper place. If only 2 of the 3 is in place the object's health can be said to be at 66.66%, where 100% would be perfect.

We need to place the containers and objects throughout the system so that they are on distinct partitions. The swift-dispersion-populate tool does this by making up random container and object names until they fall on distinct partitions. Last, and repeatedly for the life of the cluster, we need to run the swift-dispersion-report tool to check the health of each of these containers and objects.

These tools need direct access to the entire cluster and to the ring files. Installing them on a proxy server will probably do or a box used for swift administration purposes that also contains the common swift packages and ring. Both swift-dispersion-populate and swift-dispersion-report use the same configuration file, /etc/swift/dispersion.conf . The account used by these tool should be a dedicated account for the dispersion stats and also have admin privileges.


Allow accessing insecure keystone server. The keystone's certificate will not be verified.
Start container suffix at NUMBER and resume population at this point; default: 0
Start object suffix at NUMBER and resume population at this point; default: 0
Only run object population
Only run container population
Only run object population
Increase coverage by amount in dispersion_coverage option with no overlap of existing partitions (if run more than once)


Example /etc/swift/dispersion.conf:

auth_url =
auth_user = dpstats:dpstats
auth_key = dpstats
swift_dir = /etc/swift
# project_name = dpstats
# project_domain_name = default
# user_domain_name = default
# dispersion_coverage = 1.0
# retries = 5
# concurrency = 25
# endpoint_type = publicURL


$ swift-dispersion-populate

Created 2621 containers for dispersion reporting, 38s, 0 retries
Created 2621 objects for dispersion reporting, 27s, 0 retries



More in depth documentation about the swift-dispersion utilities and also Openstack-Swift as a whole can be found at http://swift.openstack.org/admin_guide.html#cluster-health and http://swift.openstack.org