Same problem for me. My openstack installation is Grizzly. $ juju version 1.16.0-saucy-amd64 $ juju -v bootstrap [...] 2013-10-30 14:23:17 INFO juju.environs.tools tools.go:181 filtering tools by released version 2013-10-30 14:23:17 INFO juju.environs.tools tools.go:85 reading tools with major.minor version 1.16 2013-10-30 14:23:17 INFO juju.environs.tools tools.go:96 filtering tools by series: precise 2013-10-30 14:23:17 INFO juju.environs.boostrap bootstrap.go:71 environs: picked newest version: 1.16.0 2013-10-30 14:23:18 ERROR juju supercommand.go:282 cannot start bootstrap instance: index file has no data for cloud {RegionOne http://192.168.202.103:5000/v2.0/} not found The index.json file in the swift container looks like: { "index": { "com.ubuntu.juju:released:tools": { "updated": "Wed, 30 Oct 2013 15:23:17 +0100", "format": "products:1.0", "datatype": "content-download", "path": "streams/v1/com.ubuntu.juju:released:tools.json", "products": [ "com.ubuntu.juju:12.04:amd64", "com.ubuntu.juju:12.04:i386", "com.ubuntu.juju:12.10:amd64", "com.ubuntu.juju:12.10:i386", "com.ubuntu.juju:13.04:amd64", "com.ubuntu.juju:13.04:i386", "com.ubuntu.juju:13.10:amd64", "com.ubuntu.juju:13.10:i386" ] } }, "updated": "Wed, 30 Oct 2013 15:23:17 +0100", "format": "index:1.0" } My openstack section in environments.yaml looks like: << openstack: type: openstack # Specifies whether the use of a floating IP address is required to give the nodes # a public IP address. Some installations assign public IP addresses by default without # requiring a floating IP address. use-floating-ip: true admin-secret: a8ab270e79d3dd330ca9d79a6d5505c4 # Globally unique swift bucket name control-bucket: juju-64a08a56c0390b3124ac6edaa6d282e7 # If set, tools-url specifies from where tools are fetched. # tools-url: https://you-tools-url # Usually set via the env variable OS_AUTH_URL, but can be specified here auth-url: http://192.168.202.103:5000/v2.0/ # override if your workstation is running a different series to which you are deploying default-series: precise # The following are used for userpass authentication (the default) # auth-mode: userpass # Usually set via the env variable OS_USERNAME, but can be specified here username: UserA # Usually set via the env variable OS_PASSWORD, but can be specified here password: something_personal # Usually set via the env variable OS_TENANT_NAME, but can be specified here tenant-name: TenantA # Usually set via the env variable OS_REGION_NAME, but can be specified here region: RegionOne # USe the following if you require keypair autherntication # auth-mode: keypair # Usually set via the env variable OS_ACCESS_KEY, but can be specified here access-key: something_personal # Usually set via the env variable OS_SECRET_KEY, but can be specified here secret-key: something_personal >> Is that a bug? should I check anything in my keystone or swift configuration?