← Back to issue list

providers: move `confirm_with_user()` call to providers.py

View original Github issue

Metadata

Project
rockcraft
Number
#91
Type
pull request
State
merged
Author
mr-cal
Labels
Created
Updated
Closed

Current evaluation

Merged after approval and passing CI. Moved the rockcraft-specific confirm_with_user logic out of the craft-providers interface into providers.py. Renamed is_provider_available to is_provider_installed across ten files.

Suggested action:

No scores available.

Issue body

- [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? ----- Two changes: 1. `confirm_with_user()` is a rockcraft-specific call, so it is moved out of the craft-providers interface. - The user confirmation logic was split out to `providers.py` - `lxd.py` and `multipass.py` still handle the installation and ensure the provider is available 3. Rename `is_provider_available()` to `is_provider_installed()` (CRAFT-1387)

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged after approval and passing CI. Moved the rockcraft-specific confirm_with_user logic out of the craft-providers interface into providers.py. Renamed is_provider_available to is_provider_installed across ten files.
qwen3.6-35b-a3b-mtp-q6 Merged refactor moving rockcraft-specific confirm_with_user logic to providers.py and renaming is_provider_available to is_provider_installed. This decouples user confirmation from the craft-providers interface.
qwen3.6-35b-a3b-mtp-q6 Merged a refactor moving the rockcraft-specific confirm_with_user() call from the craft-providers interface to providers.py. User confirmation logic was separated from provider installation checks. Also renamed is_provider_available() to is_provider_installed.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#3938 providers: move `confirm_with_user()` call to providers.py (#91) snapcraft merged Merged changes moving the snapcraft-specific confirm_with_user() call out of the craft-providers interface into providers.py. The update was approved, passed CI, and aligns with parallel rockcraft modifications.
88%
#3940 providers: move `get_provider()` to providers.py snapcraft merged Merged the refactoring that moves get_provider() to providers.py. Aligned with rockcraft, the change passed code review and CI checks, modified 7 files, and was successfully integrated into main.
78%
#894 (internal) Moved user confirmation on provider installation (CRAFT-1401) charmcraft merged Merged changes moving user confirmation during provider installation, resolving CRAFT-1401. Approved by one reviewer, the update modified nine files with a net reduction of 27 lines.
76%
#896 providers: move `is_base_available()` to providers.py charmcraft merged Merged after approval. Moved the charmcraft-specific is_base_available() function from the craft-providers interface to providers.py to separate concerns. The change affects 8 files, adding 149 lines and removing 201.
75%
#898 providers: move `get_provider()` to providers.py charmcraft merged Merged after approval. Moved the get_provider() function to providers.py as part of CRAFT-1410. The refactoring touched 10 files, adding 178 lines and removing 226, and was previously blocked by PR 896.
75%
#74 providers: move get_instance_name() to providers.py rockcraft merged Merged after approval and passing CI. Moved the rockcraft-specific get_instance_name() function to providers.py, changing 8 files. Resolves CRAFT-1350.
74%
#92 providers: refactor get_provider() rockcraft merged Merged after approval and passing CI. Refactored and moved get_provider() from _get_provider.py to providers.py across seven files, reducing code by 25 lines. Resolves CRAFT-1375.
73%
#120 providers: use new craft-providers interface rockcraft merged Merged after review and CI approval. Replaced custom Provider classes with the new craft-providers interface, relocated providers.py, and refactored 17 files. Reduced codebase by over 1200 lines, resolving CRAFT-1349.
72%
#899 providers: use new craft-providers interface charmcraft merged Merged after replacing internal Provider classes with the new craft-providers interface. Refactored by moving providers.py to the package root, removing 1253 lines across 17 files. Resolved CRAFT-1279.
72%
#110 providers: move lxd project name out of craft-providers interface rockcraft merged Merged refactoring that moves rockcraft's project name from lxd.py to providers.py in the craft-providers interface. Approved by one reviewer, passed CI, and successfully integrated.
72%