2

I've seen other posts (e.g. this link), but I'm still struggling to install juju on my openstack cluster.

I have swift working, but juju doesn't seem to want to bootstrap. I created the bucket (I tried without the bucket existing and had the same problem):

zestrada@cloud1:~$ swift list
juju-44c885823005ec6033e09c81f99980a6

zestrada@cloud1:~$ juju bootstrap -e openstack -v
2013/04/24 01:46:36 INFO environs/openstack: opening environment "openstack"
2013/04/24 01:46:36 INFO environs/openstack: bootstrapping environment "openstack"
2013/04/24 01:46:46 INFO environs: reading tools with major version 1
2013/04/24 01:46:46 INFO environs: falling back to public bucket
2013/04/24 01:46:46 ERROR command failed: no tools available
error: no tools available

I've tried with and without the -e openstack switch, yielding identical results. Trying with juju-origin: ppa resulted in ERROR command failed: juju-origin: expected nothing, got "ppa"

I also tried manually specifying the auth-url - but again, no change.

Here are the relevant parts of my environments.yaml:

zestrada@cloud1:~$ grep -A25 openstack: .juju/environments.yaml  | grep -vP "\s+#"
  openstack:
    type: openstack
    admin-secret: SECRET
    control-bucket: juju-44c885823005ec6033e09c81f99980a6
    default-image-id: "119295c7-2afc-4eda-bd64-2f8bef894b0d"
    default-instance-type: "1.small"
    auth-mode: userpass

My environment variables are correct since I can access all installed services (nova, swift, cinder, glance, keystone) with no trouble.

zje
  • 221

2 Answers2

1

See my answer here. How can I copy Juju tools for use in my deployment?

nutshell use $ juju sync-tools to copy from a globally available release to your private cloud.

Kapil
  • 41
1

If your juju version is 1.10.0 then I think you just ran in to what I did; which in turn I believe is explained by the following: https://bugs.launchpad.net/juju-core/+bug/1172973

Basically, when juju attempts to access the public bucket (where the charms are downloaded for local storage) it uses credentials stored within code. These hard-coded credentials do not include an access-key or secret-key. But before a connection is made, there is an assertion which requires these credentials - thus the sync-tools attempt is failing (and I'm guessing this is what is causing the ERROR after it falls back to the public bucket on bootstrap).