Handle closed networks (proxy support, and network-free charm install support)

Registered by Antonio Rosales

[GOAL]

Support networks that don't have public network access from charm nodes. Support the needs of Juju users that want to be able to scale up network services even when there are problems with external network reliability.

[RATIONALE]

Blueprint information

Status:
Complete
Approver:
Mark Ramm
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Katherine Cox-Buday

Related branches

Sprints

Whiteboard

[USER STORIES]

* Tim wants to be able to juju install wordpress on an openstack network where external network access must go through a proxy.

 * Tom wants to be able to use juju add-unit to scale up wordpress even when the external resources that the charm relies on may be unreliable (or slow).

* Tod is a system admin who wants to be able to use his own cloud local curated apt repository to 1) improve performance, 2) control what versions of various infrastructure components (like apache) are available in his corp environments.

[ASSUMPTIONS]

* Proxy network support is useful to a class of users who have firewalls, but still allow arbitrary downloads.
* Adaptations to individual charms to support a "networkless" install are possible
* We can establish charm standards that make it possible to build a reasonable image post install hook that can be used for later add-unit commands

[RISKS]

* Charms may not keep up with the changes needed to fully support this feature.
* Go may not support http_proxy

[IN SCOPE]

* providing proxy support

[OUT OF SCOPE]

* Changing all the charms
* Actually building images and using them for add-unit

[USER ACCEPTANCE]

[RELEASE NOTE/BLOG]

(?)

Work Items

Work items:
Add apt proxy config setting in cloud-init, size 1: TODO
Add env.yaml setting to record the desired http_proxy setting for the deployed nodes, size 2: TODO
Export the http_proxy setting to the context in which the state server runs, size 2: TODO
Export the http_proxy setting to the context in which hooks run, size 4: TODO
Manually upload charms to the environment, size 4: TODO
Write (mgz says trivial) script to list charms so they can be downloaded into a local mirror, size 2: TODO

This blueprint contains Public information 
Everyone can see this information.