我有一个 juju 状态服务器(引导机),它无法启动监听端口 17070 的 API 服务。我认为这是因为存在错误: https://bugs.launchpad.net/juju-core/+bug/1434680
我的 juju 客户端已升级到 juju 1.22.1,因此应该已经修复。但是它无法连接到状态服务器来执行任何操作(例如 juju 状态超时)。
如何在不破坏/重新启动整个环境的情况下升级状态服务器上的 jujud?这是一个正在运行、正在使用的环境。
更多详情
Substrate = 运行 Ubuntu 14.04.2 的 KVM 虚拟机。在 juju 客户端升级之前,juju 客户端为 1.22.0,stateserver/machine-0 为 1.22.0。在 juju 客户端升级之后,juju 客户端为 1.22.1,stateserver/machine-0 仍为 1.22.0。
stateserver/machine-0 日志显示:
2015-04-15 13:42:20 DEBUG juju.mongo open.go:122 TLS handshake failed: x509: certificate is valid for localhost, juju-apiserver, cloud-node-03.maas, not juju-mongodb
2015-04-15 13:42:20 INFO juju.worker runner.go:261 start "api"
2015-04-15 13:42:20 INFO juju.api apiclient.go:252 dialing "wss://localhost:17070/"
2015-04-15 13:42:20 INFO juju.api apiclient.go:260 error dialing "wss://localhost:17070/": websocket.Dial wss://localhost:17070/: dial tcp 127.0.0.1:17070: connection refused
2015-04-15 13:42:20 ERROR juju.worker runner.go:219 exited "api": unable to connect to "wss://localhost:17070/"
2015-04-15 13:42:20 INFO juju.worker runner.go:253 restarting "api" in 3s
这样循环了好久好久。所以 17070 上没有任何监听。
/var/log/upstart 仅包含 juju-db.log* 文件,所有内容如下:
note: noprealloc may hurt performance in many applications
using syslog ident: mongod.37017
答案1
您可以尝试juju upgrade-juju
(参见juju help upgrade-juju
),但需要小心版本。我相信 juju 升级仅支持从一个版本升级到另一个版本,而不支持跨版本升级。