When Juju bootstraps a cloud, it needs two critical pieces of information:
The uuid of the image to use when starting new compute instances.
The URL from which to download the correct version of a tools tarball.
This necessary information is stored in a json metadata format called "simplestreams".
For supported public cloud services such as Amazon Web Services, HP Cloud, Azure, etc, no action is required by the end user. However, those setting up a private cloud, or who want to change how things work (eg use a different Ubuntu image), can create their own metadata, after understanding a bit about how it works.
Assume an Apache http server with base URL https://juju-metadata, providing access to information at <base>/images and <base>/tools. The Juju environment yaml file could have the following entries (one or both):
tools-metadata-url: https://juju-metadata/tools
image-metadata-url: https://juju-metadata/images
The required files in each location is as per the directory layout described earlier. For a shared directory, use a URL of the form "file:///sharedpath".
try this now
juju metadata generate-tools -d /home/john/juju