У меня есть работающая частная установка OpenStack, и я пытаюсь использовать juju. Как следует:
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
Пока все кажется хорошим. Однако он не загружается:
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]
Быстрый контейнер с именем 'juju-cece0b9817a68cba4780784bf0663e45' содержит «каталог» инструментов (с шестью файлами, полученными с помощью средств синхронизации synju), а файл начальной загрузки - успешно создан.
Мой .juju / environment.yaml выглядит следующим образом:
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
После некоторого чтения я решил, что мне, очевидно, нужно загрузить «точное» изображение и запустить метаданные изображения juju. Я создал метаданные следующим образом ...
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
... и переместил полученные файлы в «streams / v1» в контейнере juju-cece0b9817a68cba4780784bf0663e45.
Juju bootstrap -v дал точно такой же результат.
Я также попытался скопировать openstack-index.json и openstack-imagemetadata.json в index.json и imagemetadata.json соответственно, основываясь на некотором контенте, который я нашел в (вероятно, не относящемся к делу) отчете об ошибке.
Опять же, juju bootstrap -v дал точно такой же результат.
Есть предложения?
Вам нужно будет создать второе ведро, называемое juju-dist, в которое вы загружаете файлы данных изображений. Затем добавьте
public-bucket-url: <URL TO JUJU-DIST BUCKET>
к вашему файлу environment.yaml. Это должно устранить ошибку «не удалось найти точное изображение».