我已经能够从家里的机器上使用 Juju,但是,当我尝试从工作机器(位于代理后面)使用它时,我得到:
(juju quickstart--debug 的输出)
retrieving the Juju API address 10:06:20 DEBUG utils@call:94 running the following: /usr/bin/juju api-endpoints -e local --format json 10:06:21 DEBUG utils@call:104 retcode: 0 | output: '["10.0.3.1:17070"]\n' | error: '' connecting to wss://10.0.3.1:17070 10:06:21 DEBUG juju@send:130 API message: --> {"Request": "Login", "Params": {"Password": "password", "AuthTag": "user-admin"}, "Type": "Admin", "RequestId": 0} 10:06:21 DEBUG juju@recv:139 API message: <-- {"RequestId":0,"Response":{}} requesting juju-gui deployment charm URL: cs:precise/juju-gui-92 10:06:21 DEBUG juju@send:130 API message: --> {"Request": "ServiceDeploy", "Params": {"CharmURL": "cs:precise/juju-gui-92", "NumUnits": 0, "ToMachineSpec": null, "ServiceName": "juju-gui", "Config": {}, "Constraints": {}}, "Type": "Client", "RequestId": 1} 10:06:41 DEBUG juju@recv:139 API message: <-- {"RequestId":1,"Error":"cannot upload charm to provider storage: 500 500 INKApi Error","Response":{}} juju-quickstart: error: bad API response: cannot upload charm to provider storage: 500 500 INKApi Error ERROR exit status 1
我的.bashrc 设置为:
export http_proxy="http://proxy.mycompany.com:8080" export https_proxy="http://proxy.mycompany.com:8080" export ftp_proxy="http://proxy.mycompany.com:8080" export HTTP_PROXY="http://proxy.mycompany.com:8080" export HTTPS_PROXY="http://proxy.mycompany.com:8080" export FTP_PROXY="http://proxy.mycompany.com:8080" export no_proxy="localhost,127.0.0.1" export NO_PROXY="localhost,127.0.0.1"
我也在 /etc/default/lxc 中设置了代理(针对 MIRROR 和 SECURITY_MIRROR),并且验证了 LXC 可以正常工作。
当我运行 juju quickstart 时,我会创建一个新的 LXC 本地环境并使用默认值。它安装在一个裸露的 Ubuntu 64 位 14.04 上,其中包含最新更新以及 juju-local 和 juju-quickstart 包。如果我尝试部署本地 charm,也会发生这种情况。
答案1
弄清楚了这个问题。
在环境启动后,对 environment.yaml 文件的更改似乎没有生效。设置被推送到该环境的 *.jenv 文件中。因为我使用的是 quickstart,所以在进行任何更改之前会推送设置。解决方案是“juju destroy-environment --force”,根据您的需要修改 environment.yaml 文件,然后执行“juju bootstrap”。
当我将计算机从网络上拔下并删除所有代理设置并尝试部署本地 charm 时,我偶然发现了这一点。它仍然尝试使用 10.0.3.1 的代理。“grep -r 'myproxy.com'”指向 *.jenv 文件。