Replace caching system with support for http proxy

Registered by Paul Larson

We currently use a rudimentary caching system we build in lava to avoid downloading the same things over and over. However, there are some issues with this approach, but there's no good reason I can think of to do this ourselves rather than using an existing http proxy such as squid. Lava should default to no caching, but also support using an http proxy if one exists.

Blueprint information

Status:
Complete
Approver:
Paul Larson
Priority:
Medium
Drafter:
Paul Larson
Direction:
Needs approval
Assignee:
Spring Zhang
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2012.05
Started by
Fathi Boudra
Completed by
David Zinman

Whiteboard

[qzhang, 2012-04-23] squid setup blocked by v.l.o is still down.
[fboudra, 2012-04-27] Re-target to 2012.05 milestone.
[qzhang, 2012-05-04] testing on staging site: http://staging.validation.linaro.org/scheduler/job/16249, 16248

Meta:
Headline: LAVA now supports proxies for downloading large files and packages
Acceptance:
1. deployed images use defined cache settings
2. packages installed on deployed images come through the squid proxy
3. large images downloaded to the server come through the squid proxy

(?)

Work Items

Work items:
Set up squid, establish a good, working config to support proxy settings sufficient for caching large files (images) and packages: DONE
Add a config parameter for the default proxy: DONE
Set the default proxy, and apt proxy when deploying the board: DONE
Make sure the download code uses the proxy settings: DONE
Set http proxy settings on the server: DONE
Test that large image files can be downloaded to the server and are cached properly: DONE
Make sure that package installation is cached: DONE
Remove some old cached files from the server: DONE
[le-chi-thu] Add user to input proxy address when using lava-deployment-tool: DONE
Document the new proxy config options: DONE

This blueprint contains Public information 
Everyone can see this information.