From 4a6e3b97e3f9dd5230372aa05aa0a76161b56185 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 20 Mar 2013 22:51:24 -0700 Subject: [PATCH] install, nuke: explicitly purge /var/lib/ceph The packages won't do this anymore. Signed-off-by: Sage Weil --- teuthology/nuke.py | 1 + teuthology/task/install.py | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/teuthology/nuke.py b/teuthology/nuke.py index d19bf5c5b7..5339e539ca 100644 --- a/teuthology/nuke.py +++ b/teuthology/nuke.py @@ -265,6 +265,7 @@ def remove_installed_packages(ctx, log): ] install_task.remove_packages(ctx, {"deb": debs, "rpm": el6}) install_task.remove_sources(ctx) + install_task.purge_data(ctx) def remove_testing_tree(ctx, log): from teuthology.misc import get_testdir_base diff --git a/teuthology/task/install.py b/teuthology/task/install.py index fc58b89593..af2c2e3046 100644 --- a/teuthology/task/install.py +++ b/teuthology/task/install.py @@ -158,6 +158,32 @@ def _update_rpm_package_list_and_install(ctx, remote, rpm, config): for cpack in rpm: remote.run(args=['sudo', 'yum', 'install', cpack, '-y',],stdout=StringIO()) +def purge_data(ctx): + """ + Purge /var/lib/ceph + """ + with parallel() as p: + for remote in ctx.cluster.remotes.iterkeys(): + p.spawn(_purge_data, remote) + +def _purge_data(remote): + log.info('Purging /var/lib/ceph on %s', remote) + remote.run(args=[ + 'rm', '-rf', '--one-file-system', '--', '/var/lib/ceph', + run.Raw('||'), + 'true', + run.Raw(';'), + 'test', '-d', '/var/lib/ceph', + run.Raw('&&'), + 'find', '/var/lib/ceph', + '-mindepth', '1', + '-maxdepth', '2', + '-type', 'd', + '-exec', 'umount', '{}', ';', + run.Raw(';'), + 'rm', '-rf', '--one-file-system', '--', '/var/lib/ceph', + ]) + def install_packages(ctx, pkgs, config): """ installs Debian packages. @@ -361,6 +387,7 @@ def install(ctx, config): finally: remove_packages(ctx, remove_info) remove_sources(ctx) + purge_data(ctx) def _upgrade_ceph_packages(ctx, remote, debs, ceph_branch): """ -- 2.39.5