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?
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".