After installing juju-core on a precise server in a private MAAS environment in a highly sensitive network, bootstrap failed in the following manner:
2013-08-23 13:36:57 INFO juju tools.go:25 environs: reading tools with major version 1
2013-08-23 13:36:57 INFO juju tools.go:29 environs: falling back to public bucket
2013-08-23 13:36:57 INFO juju.environs.sync sync.go:69 listing available tools listing available tools
2013-08-23 13:38:01 ERROR juju supercommand.go:274 command failed: Get https://juju-dist.s3.amazonaws.com/: dial tcp 72.21.195.15:443: connection timed out
error: Get https://juju-dist.s3.amazonaws.com/: dial tcp 72.21.195.15:443: connection timed out
This is correct behaviour, due to the egress filtering required by this network.
I had to look around to find out that I needed to use the --upload-tools parameter to get it to use my local copy of the binary. Since I was using the packaged version of juju-core, my intention to use that specific version of the juju tools should have been obvious.
Could the default (at least for the packaged version) be changed not to download untested versions off the Internet?
I second Nick's request, and also point out that the provider might be an appropriate indicator of whether the tools should be collected from AWS. Is the behavior the same on Azure or HP Cloud?
My vote would be behind --upload-tools being the default, with a convenience option to use canonical-hosted buckets.