web-dev-qa-db-fra.com

Comment obtenir juju 1.11 à bootstrap sur un cloud OpenStack privé?

J'ai une installation OpenStack privée qui fonctionne et j'essaie d'utiliser juju. Comme suit:

dave@dave-D945GTP:~$ juju version
1.11.2-raring-AMD64

dave@dave-D945GTP:~$ juju sync-tools
listing the source bucket
found 6 tools
found 6 recent tools (version 1.10.0)
listing target bucket
found 0 tools in target; 6 tools to be copied
copying tools/juju-1.10.0-precise-AMD64.tgz, download 2205kB, uploading
copying tools/juju-1.10.0-precise-i386.tgz, download 2306kB, uploading
copying tools/juju-1.10.0-quantal-AMD64.tgz, download 2209kB, uploading
copying tools/juju-1.10.0-quantal-i386.tgz, download 2311kB, uploading
copying tools/juju-1.10.0-raring-AMD64.tgz, download 2208kB, uploading
copying tools/juju-1.10.0-raring-i386.tgz, download 2312kB, uploading
copied 6 tools

Jusqu'à présent, tout semble bien. Cependant, il ne parvient pas à démarrer:

dave@dave-D945GTP:~$ juju -v bootstrap
2013-07-11 09:34:17 INFO juju provider.go:117 environs/openstack: opening environment "openstack"
2013-07-11 09:34:17 INFO juju provider.go:467 environs/openstack: bootstrapping environment "openstack"
2013-07-11 09:34:27 INFO juju tools.go:25 environs: reading tools with major version 1
2013-07-11 09:34:27 INFO juju tools.go:52 environs: filtering tools by series: precise
2013-07-11 09:34:27 INFO juju tools.go:75 environs: picked newest version: 1.10.0
2013-07-11 09:34:28 ERROR juju supercommand.go:234 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]

Un Swift nommé 'juju-cece0b9817a68cba4780784bf0663e45' contenant un "répertoire" d'outils (avec les six fichiers obtenus via juju sync-tools) et un fichier de vérification de démarrage est correctement créé.

Mon .juju/environnements.yaml est le suivant:

default: openstack

environments:
  ## https://juju.ubuntu.com/get-started/openstack/
  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: sekret
    default-series: precise
    # Globally unique Swift bucket name
    control-bucket: juju-cece0b9817a68cba4780784bf0663e45
    # Usually set via the env variable OS_AUTH_URL, but can be specified here
    auth-url: http://10.103.8.1:5000/v2.0/
    # override if your workstation is running a different series to which you are deploying
    # 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: admin
    # Usually set via the env variable OS_PASSWORD, but can be specified here
    password: sekret
    # Usually set via the env variable OS_TENANT_NAME, but can be specified here
    tenant-name: admin
    # Usually set via the env variable OS_REGION_NAME, but can be specified here
    region: RegionOne

Après quelques lectures, j'ai déterminé que j'avais apparemment besoin de télécharger une image "précise" et d'exécuter les métadonnées d'image juju. J'ai créé les métadonnées comme suit ...

dave@dave-D945GTP:~/.juju$ juju image-metadata -a AMD64 -e http://10.103.8.1:5000/v2.0 -i d7e2ea12-cb50-4687-b5e1-d90f0656164a -n openstack -r RegionOne -s precise

... et déplacé les fichiers résultants vers "streams/v1" dans le conteneur juju-cece0b9817a68cba4780784bf0663e45.

juju bootstrap -v a produit exactement le même résultat.

J'ai également essayé de copier openstack-index.json et openstack-imagemetadata.json dans index.json et imagemetadata.json, respectivement, en fonction du contenu que j'ai trouvé dans un rapport de bogue (probablement non pertinent).

Encore une fois, juju bootstrap -v a produit exactement le même résultat.

Aucune suggestion?

3
Dave

Vous devrez créer un deuxième compartiment, appelé juju-dist, où vous téléchargerez les fichiers de données d'image. Puis ajouter

public-bucket-url: <URL TO JUJU-DIST BUCKET>

à votre fichier environnement.yaml. Cela devrait résoudre l'erreur "Impossible de trouver une image précise".

2
Marco Ceppi