diff --git a/subiquity/common/apidef.py b/subiquity/common/apidef.py index 436a048e..841caedf 100644 --- a/subiquity/common/apidef.py +++ b/subiquity/common/apidef.py @@ -354,7 +354,7 @@ class API: class check_mirror: class start: - def POST() -> None: ... + def POST(cancel_ongoing: bool = False) -> None: ... class progress: def GET() -> Optional[MirrorCheckResponse]: ... diff --git a/subiquity/server/controllers/mirror.py b/subiquity/server/controllers/mirror.py index e1ac68cc..b718f4a9 100644 --- a/subiquity/server/controllers/mirror.py +++ b/subiquity/server/controllers/mirror.py @@ -189,10 +189,12 @@ class MirrorController(SubiquityController): log.debug(data) self.model.disabled_components = set(data) - async def check_mirror_start_POST(self) -> None: + async def check_mirror_start_POST(self, cancel_ongoing: bool = False) -> None: if self.mirror_check is not None and not self.mirror_check.task.done(): - # TODO - assert False + if cancel_ongoing: + await self.check_mirror_abort_POST() + else: + assert False output = io.StringIO() self.mirror_check = MirrorCheck( uri=self.model.get_mirror(),