Currently Devstack starts all Swift services, including those in charge of "consistency convergence" (remember Swift is eventually consistent), data scrubbing, hard-deletion (*-reaper services) cleanup. But when running with Replication Factor 1 some of those services are not needed at all. Besides, the fonctionnalities provided by some of these services are not tested at all (neither in Tempest nor in Swift functional tests). Thus, in light of saving some Mo of RAM, this patch introduces a config flag to start only a minimal set of Swift services, just what's required to make all of our current tests pass. The default value for this new config flag is set to start all services, that is to maintain Devstack's current behavior. For sake of completeness, here is the list of services that are not going to be started is the config flag is toggled, and the associated RSS according to our peakmem_tracker 40004 swift-object-replicator /etc/swift/object-server/1.conf 34320 swift-container-replicator /etc/swift/container-server/1.conf 33584 swift-object-auditor /etc/swift/object-server/1.conf 33328 swift-object-reconstructor /etc/swift/object-server/1.conf 31936 swift-object-updater /etc/swift/object-server/1.conf 31492 swift-account-reaper /etc/swift/account-server/1.conf 31076 swift-account-replicator /etc/swift/account-server/1.conf 29540 swift-container-updater /etc/swift/container-server/1.conf 29220 swift-account-auditor /etc/swift/account-server/1.conf 29036 swift-container-auditor /etc/swift/container-server/1.conf So we are looking at saving at most ~350Mo of RAM (could be less because RSS doesn't account for shared memory). A follow-up patch will soon be proposed in devstack-gate to not run those additional services in our Gate jobs. Change-Id: I8a0d03ac0296a74e38efd185beb8513866eaf0c4
37 KiB
37 KiB