Bootstrap fails with --upload-tools on private openstack cloud
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Fix Released
|
Medium
|
Unassigned |
Bug Description
IS have a test openstack cloud that has no external network conectivity. When using --upload-tools with bootstrap on juju 1.16.0.1, the tools get uploaded but then fails with "index file has no data for cloud". This leaves the environment in a semi-bootstrapped state as provider-state and bootstrap-verify are already created.
The same failure is given by `juju-metadata validate-images`, but trying to upload a json file created by `juju-metadata generate-image` doesn't help.
The log of a bootstrap run looks like:
$ juju bootstrap -v --constraints "cpu-cores=1 mem=2G root-disk=50" --upload-tools
verbose is deprecated with the current meaning, use show-log
2013-10-20 23:02:25 INFO juju.environs open.go:156 environment info already exists; using New not Prepare
2013-10-20 23:02:25 INFO juju.provider.
2013-10-20 23:02:25 INFO juju.environs.tools build.go:162 found existing jujud
2013-10-20 23:02:25 INFO juju.environs.tools build.go:172 target: /tmp/juju-
2013-10-20 23:02:28 INFO juju.environs.sync sync.go:235 built 1.16.0.
2013-10-20 23:02:28 INFO juju.environs.sync sync.go:66 listing available tools
2013-10-20 23:02:28 INFO juju.environs.sync sync.go:90 found 1 tools
2013-10-20 23:02:28 INFO juju.environs.sync sync.go:100 listing target bucket
2013-10-20 23:02:28 INFO juju.environs.sync sync.go:113 found 0 tools in target; 1 tools to be copied
2013-10-20 23:02:28 INFO juju.environs.sync sync.go:143 copying 1.16.0.
2013-10-20 23:02:28 INFO juju.environs.sync sync.go:157 copying tools/releases/
2013-10-20 23:02:29 INFO juju.environs.sync sync.go:171 downloaded tools/releases/
2013-10-20 23:02:29 INFO juju.environs.sync sync.go:172 download 4517kB, uploading
2013-10-20 23:02:29 INFO juju.environs.sync sync.go:118 copied 1 tools
2013-10-20 23:02:29 INFO juju.environs.sync sync.go:120 generating tools metadata
2013-10-20 23:02:29 INFO juju.environs.tools simplestreams.
2013-10-20 23:02:29 INFO juju.environs.tools simplestreams.
2013-10-20 23:02:29 INFO juju.environs.sync sync.go:128 tools metadata written
2013-10-20 23:02:30 INFO juju.environs.tools tools.go:85 reading tools with major.minor version 1.16
2013-10-20 23:02:30 INFO juju.environs.tools tools.go:93 filtering tools by version: 1.16.0.1
2013-10-20 23:02:30 INFO juju.environs.tools tools.go:96 filtering tools by series: precise
2013-10-20 23:02:30 INFO juju.environs.
2013-10-20 23:02:30 INFO juju.environs.tools tools.go:85 reading tools with major.minor version 1.16
2013-10-20 23:02:30 INFO juju.environs.tools tools.go:93 filtering tools by version: 1.16.0.1
2013-10-20 23:02:30 INFO juju.environs.tools tools.go:96 filtering tools by series: precise
2013-10-20 23:02:31 ERROR juju supercommand.go:282 cannot start bootstrap instance: index file has no data for cloud {RegionOne http://
tags: | added: bootstrap openstack upload-tools |
Changed in juju-core: | |
status: | New → Triaged |
importance: | Undecided → High |
tags: |
added: openstack-provider removed: openstack |
tags: | added: canonical-webops |
tags: | added: canonical-is |
Changed in juju-core: | |
importance: | High → Medium |
tags: | added: simplestreams |
Same problem for me. My openstack installation is Grizzly.
$ juju version boostrap bootstrap.go:71 environs: picked newest version: 1.16.0 192.168. 202.103: 5000/v2. 0/} not found
1.16.0-saucy-amd64
$ juju -v bootstrap
[...]
2013-10-30 14:23:17 INFO juju.environs.tools tools.go:181 filtering tools by released version
2013-10-30 14:23:17 INFO juju.environs.tools tools.go:85 reading tools with major.minor version 1.16
2013-10-30 14:23:17 INFO juju.environs.tools tools.go:96 filtering tools by series: precise
2013-10-30 14:23:17 INFO juju.environs.
2013-10-30 14:23:18 ERROR juju supercommand.go:282 cannot start bootstrap instance: index file has no data for cloud {RegionOne http://
The index.json file in the swift container looks like:
"com.ubuntu. juju:released: tools": {
"updated" : "Wed, 30 Oct 2013 15:23:17 +0100",
"format" : "products:1.0",
"datatype" : "content-download", v1/com. ubuntu. juju:released: tools.json" ,
"products" : [
"com. ubuntu. juju:12. 04:amd64" ,
"com. ubuntu. juju:12. 04:i386" ,
"com. ubuntu. juju:12. 10:amd64" ,
"com. ubuntu. juju:12. 10:i386" ,
"com. ubuntu. juju:13. 04:amd64" ,
"com. ubuntu. juju:13. 04:i386" ,
"com. ubuntu. juju:13. 10:amd64" ,
"com. ubuntu. juju:13. 10:i386"
{
"index": {
"path": "streams/
]
}
},
"updated": "Wed, 30 Oct 2013 15:23:17 +0100",
"format": "index:1.0"
}
My openstack section in environments.yaml looks like: floating- ip: true 30ca9d79a6d5505 c4 390b3124ac6edaa 6d282e7 /you-tools- url 192.168. 202.103: 5000/v2. 0/
<<
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-
admin-secret: a8ab270e79d3dd3
# Globally unique swift bucket name
control-bucket: juju-64a08a56c0
# If set, tools-url specifies from where tools are fetched.
# tools-url: https:/
# Usually set via the env variable OS_AUTH_URL, but can be specified here
auth-url: http://
# override if your workstation is running a different series to which you are deploying
default-series: precise
# 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: UserA
# Usually set via the env variable OS_PASSWORD, but can be specified here
password: something_personal
# Usually set via the env variable OS_TENANT_NAME, but can be specified here
tenant-name: TenantA
# Usually set via the env variable OS_REGION_NAME, but can be specified here
region: RegionOne
# USe the following if you require keypair autherntication
# auth-mode: keypair
# Usually set via the env variable OS_ACCESS_KEY, but can be specified here
access-key: something_personal
# Usually set via the env variable OS_SECRET_KEY, but can be specified here
secret-key: something_personal
>>
Is that a b...