Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am having an issue with installing Juju and bootstrapping. I have the Swift storage setup, and the new bucket gets created. The tools have been synced, and all that looks fine.

However when I attempt to bootstrap I get the error: "Cannot start bootstrap instance: no "precise images in RegionOne with arches."

In another bucket [Glance] I do have the Percise AMD64 image within it. I've even added the line for the "public bucket url." However, juju is still having this same issue.


juju -v bootstrap
2013-07-31 22:08:05 INFO juju provider.go:115 environs/openstack: opening environment "openstack"
2013-07-31 22:08:06 INFO juju provider.go:417 environs/openstack: bootstrapping environment "openstack"
2013-07-31 22:08:16 INFO juju tools.go:26 environs: reading tools with major version 1
2013-07-31 22:08:16 INFO juju tools.go:53 environs: filtering tools by series: precise
2013-07-31 22:08:16 INFO juju tools.go:76 environs: picked newest version: 1.10.0
2013-07-31 22:08:28 ERROR juju supercommand.go:235 command failed: cannot start bootstrap instance: no "precise" images in RegionOne with arches [amd64 i386]
error: cannot start bootstrap instance: no "precise" images in RegionOne with arches [amd64 i386]

The version that I am using is: 1.11.4-raring-amd64

My entire environments file is: [I removed all of the bits about MAAS, Amazon, and local]

default: openstack

    type: openstack
    admin-secret: f[...]2
    control-bucket: juj[..]2a
    # default-series: precise
    auth-mode: userpass
    username: admin
    password: [XXXX]
    tenant-name: admin
    region: RegionOne
share|improve this question
up vote 4 down vote accepted

You need to create a simplestreams file for your cloud. The simplest way for now is to use the juju image-metadata command.

Depending on your version of juju-core, it will be juju image-metadata or juju-metadata generate-image. The parameters are the same and I hope they are self explanatory. You can source your file before running it and it will take most parameters from the environment.

You need to have an image already uploaded into your cloud. See the output of the glance list command and pick a precise 64bits image.

The metadata command will give you two files: index.json and imagemetadata.json. You need to upload these to a bucket called juju-dist, and a path called streams/v1. Like this:

First, create the bucket:

swift post juju-dist

Now give it the proper ACLs:

swift post juju-dist -r '.r:*'

And now upload the generated files:

swift upload juju-dist/streams/v1 imagemetadata.json index.json

Now point your public-bucket-uri config parameter from your environments.yaml file to your object storage url. To find it, run keystone catalog and look for the publicURL address inthe Service: object-store block. That's what you will put in your juju public-bucket-url config parameter.

Now you should be able to bootstrap juju with a precise 64bit image (use series: precise in your environments.yaml file), assuming you have taken care of the tools.

More information:

share|improve this answer
It seems some people are missing the juju-generate command, I have posted a query here: – Jorge Castro Aug 7 '13 at 13:14
I'm still getting the same error message, despite: public-bucket-url:[....]4e and the metadata being in the juju-dist bucket. Is there away to confirm that it is looking in that bucket? – monksy Aug 8 '13 at 1:05

Please make sure that you have installed the python-glanceclient packet. Otherwise, juju can't find the images.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.