controller.py/service.py: Add and use the --force with Delete endpoint.
BUG=chromium:1095661
TEST=manual, run_tests
Change-Id: I1d2118222ae6f86607304ad24705c72abed97543
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2278108
Commit-Queue: Michael Mortensen <mmortensen@google.com>
Tested-by: Michael Mortensen <mmortensen@google.com>
Reviewed-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/api/controller/sdk.py b/api/controller/sdk.py
index dac9388..ccf3ee6 100644
--- a/api/controller/sdk.py
+++ b/api/controller/sdk.py
@@ -101,7 +101,7 @@
def Delete(input_proto, _output_proto, _config):
"""Delete a chroot."""
chroot = controller_util.ParseChroot(input_proto.chroot)
- sdk.Delete(chroot)
+ sdk.Delete(chroot, force=True)
@faux.all_empty
diff --git a/service/sdk.py b/service/sdk.py
index 6ed1bf6..ca9eef7 100644
--- a/service/sdk.py
+++ b/service/sdk.py
@@ -169,16 +169,19 @@
return GetChrootVersion(arguments.chroot_path)
-def Delete(chroot=None):
+def Delete(chroot=None, force=False):
"""Delete the chroot.
Args:
chroot (chroot_lib.Chroot): The chroot being deleted, or None for the
default chroot.
+ force: Boolean that applies the --force option.
"""
# Delete the chroot itself.
logging.info('Removing the SDK.')
cmd = [os.path.join(constants.CHROMITE_BIN_DIR, 'cros_sdk'), '--delete']
+ if force:
+ cmd.extend(['--force'])
if chroot:
cmd.extend(['--chroot', chroot.path])
diff --git a/service/sdk_unittest.py b/service/sdk_unittest.py
index b62b27e..cf430ee 100644
--- a/service/sdk_unittest.py
+++ b/service/sdk_unittest.py
@@ -122,6 +122,12 @@
sdk.Delete(chroot=chroot_lib.Chroot(path))
self.assertCommandContains(['--delete', '--chroot', path])
+ def testDeleteWithChrootAndForce(self):
+ """Test with chroot and force provided."""
+ path = '/some/path'
+ sdk.Delete(chroot=chroot_lib.Chroot(path), force=True)
+ self.assertCommandContains(['--delete', '--force', '--chroot', path])
+
class UpdateTest(cros_test_lib.RunCommandTestCase):
"""Update function tests."""