LXDInstanceProvider does not pass proxy information to lxc exec
Metadata
Current evaluation
Legacy LXDInstanceProvider didn't forward http_proxy/https_proxy/no_proxy to `lxc exec`. That class is gone; proxy passthrough now happens in snapcraft/providers.py:get_command_environment() via craft-providers, with unit tests and docs.
Suggested action: close resolved
Reason: The reported class was deleted when snapcraft moved to craft-providers (commit 27ec9ba63 'lifecycle: remove lxd support for bases (#2335)', then 8a06cdbbd 'providers: integrate craft-providers support'); no `LXDInstanceProvider` or `lxc exec` invocation remains in the tree. The requested behavior now exists: snapcraft/providers.py:get_command_environment() passes http_proxy, https_proxy and no_proxy from the host environment (with CLI --http-proxy/--https-proxy args taking priority, wired in snapcraft/parts/lifecycle.py:508) into the buildd base environment, covered by tests/unit/test_providers.py::test_get_command_environment_passthrough and documented in docs/how-to/crafting/reuse-packages-between-builds.rst. The reporter's own 2019 comment ('Can't snapcraft just look at environment variables and pass them along') describes exactly what shipped.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
20
Quick Win:
14
Complexity:
15
Confidence:
88
Actionability:
85
|
close resolved | Legacy LXDInstanceProvider didn't forward http_proxy/https_proxy/no_proxy to `lxc exec`. That class is gone; proxy passthrough now happens in snapcraft/providers.py:get_command_environment() via craft-providers, with unit tests and docs. | |
| stealth/space-bunny-alpha |
Impact:
54
Quick Win:
29
Complexity:
28
Confidence:
96
Actionability:
74
|
close resolved | Proxy forwarding is implemented: the legacy LXDInstanceProvider was replaced by craft-providers, and current LXD build environments inherit http_proxy, https_proxy, and no_proxy. | |
| stealth/space-bunny-alpha |
Impact:
22
Quick Win:
16
Complexity:
8
Confidence:
82
Actionability:
80
|
close resolved | Legacy LXDInstanceProvider did not forward proxy env vars to `lxc exec`. That provider class was deleted when snapcraft moved to craft-providers; proxy passthrough (http_proxy/https_proxy/no_proxy) is now handled in providers.py and unit-tested. | |
| stealth/space-bunny-alpha |
Impact:
42
Quick Win:
20
Complexity:
25
Confidence:
90
Actionability:
65
|
close resolved | Legacy LXDInstanceProvider proxy forwarding is obsolete: its execution path was removed, and current LXD builds through craft-providers explicitly forward HTTP(S) proxy configuration. | |
| stealth/space-bunny-alpha |
Impact:
30
Quick Win:
10
Complexity:
25
Confidence:
42
Actionability:
45
|
needs triage | LXD-based build execution does not explicitly forward the LXD instance's configured proxy variables; the suggested --env option needs verification. | |
| qwen/qwen3.8-27b |
Impact:
25
Quick Win:
18
Staleness:
95
Complexity:
30
Confidence:
70
Support Request:
20
|
close stale | Request to pass proxy env vars (http_proxy, https_proxy, no_proxy) to lxc exec in LXDInstanceProvider for builds behind firewalls. Class no longer exists in current codebase; LXD legacy support was removed. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
20
Confidence:
90
Support Request:
15
|
close stale | LXDInstanceProvider fails to pass proxy environment variables to lxc exec, blocking builds behind firewalls. Issue has been inactive for nearly 7 years with no maintainer response or labels. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
20
Confidence:
90
Support Request:
10
|
close stale | Feature request to pass proxy variables to lxc exec in LXDInstanceProvider. Unlabeled, no comments, inactive for over 6 years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
98
Complexity:
15
Confidence:
90
Support Request:
10
|
close stale | Feature request to pass LXD proxy environment variables to lxc exec in LXDInstanceProvider. Unaddressed for over 7 years with no maintainer interaction or labels. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Superseded By:
craft-providers#528
(confidence 70%)
Upstream issue 'LXD containers are not injected http(s)_proxy variables...', closed because the injection was upstreamed from snapcraft to craft-providers/craft-application.
-
Likely Fixed By:
snapcraft#3906
(confidence 60%)
Commit 716a0474f 'providers: pass http-proxy and https-proxy to craft-providers (#3906)', following 917d5e76a (#3927) which moved get_command_environment() to providers.py.
-
Caused By:
snapcraft#2335
(confidence 55%)
Commit 27ec9ba63 removed the legacy LXDInstanceProvider code path referenced in the report.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #528 LXD containers are not injected http(s)_proxy variables if those are set to the host | craft-providers | closed | Proxy injection was moved upstream to craft-application and shipped in version 2.0, resolving LXD builds behind host HTTP(S) proxies. |