bootstrap node does not use the proxy to fetch tools from streams.c.c
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
High
|
Nate Finch | ||
juju-core |
Fix Released
|
High
|
Cheryl Jennings | ||
1.25 |
Fix Released
|
High
|
Cheryl Jennings |
Bug Description
I have juju 1.25.0 bootstrapped on a cloud that sits behind a proxy. It was bootstrapped like this:
lsci-cloud:
http-proxy: http://
https-proxy: http://
no-proxy: localhost,
# source your cloud credentials before using this one
default-series: trusty
type: openstack
admin-secret: secret
auth-mode: userpass
use-
network: user_net
bootstrap worked. Then another unit was added, and that is stuck:
juju status --format=tabular
[Services]
NAME STATUS EXPOSED CHARM
block-storage-
postgresql unknown false cs:precise/
storage false cs:precise/
[Units]
ID WORKLOAD-STATE AGENT-STATE VERSION MACHINE PORTS PUBLIC-ADDRESS MESSAGE
block-storage-
postgresql/0 unknown allocating 1 10.245.205.144 Waiting for agent initialization to finish
[Machines]
ID STATE VERSION DNS INS-ID SERIES HARDWARE
0 started 1.25.0 10.245.205.143 8bf1964b-
1 pending 10.245.205.144 87d5e6d6-
Further inspection shows that the unit gave up trying to download the tools from the bootstrap node (10.100.0.4):
+ printf Attempt 5 to download tools from %s...\n https:/
Attempt 5 to download tools from https:/
+ curl -sSfw tools from %{url_effective} downloaded: HTTP %{http_code}; time %{time_total}s; size %{size_download} bytes; speed %{speed_download} bytes/s --noproxy * --insecure -o /var/lib/
curl: (22) The requested URL returned error: 400
tools from https:/
Trying that curl command indeed fails.
I then inspected the bootstrap node, and found this in all-machines.log:
machine-0: 2015-11-11 14:19:00 ERROR juju.apiserver tools.go:58 GET(/tools/
That shows it's trying to reach the streams host directly, without the proxy. That won't work.
juju get-env confirms the proxy settings:
$ juju get-env|grep -i proxy
http-proxy: http://
https-proxy: http://
no-proxy: localhost,
proxy-ssh: true
So I don't know why the bootstrap node didn't honor the https-proxy setting. Other hits at https:/
machine-0: 2015-11-11 14:15:05 DEBUG juju.environs.
...
machine-0: 2015-11-11 14:15:07 DEBUG juju.environs.
I see hits for streams.
1447252393.167 585 10.245.205.143 TCP_MISS/200 25238 CONNECT streams.
So maybe just the code that fetches tools forgot to include proxy support.
tags: | removed: kanban-cross-team |
description: | updated |
Changed in juju-core: | |
status: | New → Triaged |
importance: | Undecided → High |
tags: | added: bug-squad |
Changed in juju-core: | |
status: | In Progress → Fix Committed |
milestone: | none → 2.0-alpha2 |
Changed in juju-core: | |
status: | Fix Committed → Fix Released |
affects: | juju-core → juju |
Changed in juju: | |
milestone: | 2.0-alpha2 → none |
milestone: | none → 2.0-alpha2 |
Changed in juju-core: | |
assignee: | nobody → Cheryl Jennings (cherylj) |
importance: | Undecided → High |
status: | New → Fix Released |
all-machines.log from the bootstrap node