3

I have a juju state server (the bootstrap machine) that will not start the API service that listens on port 17070. I believe this is because of bug: https://bugs.launchpad.net/juju-core/+bug/1434680

My juju client has been upgraded to juju 1.22.1 and so should have the fix. However it cannot connect to the state server to do anything (e.g. juju status just timesout).

How do I go about upgrading jujud on the state server without having to destroy/re-bootstrap the whole environment? This is a running, in use environment.

More detail
Substrate = KVM virtual machine running Ubuntu 14.04.2. Prior to juju client upgrade, juju client was 1.22.0 and stateserver/machine-0 was 1.22.0. After juju client upgrade, juju client is 1.22.1and stateserver/machine-0 is still 1.22.0.

stateserver/machine-0 log show:

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

This loops round ... and round ... and round. So there's nothing listening on 17070.

/var/log/upstart only contains juju-db.log* files, all with content:

note: noprealloc may hurt performance in many applications
using syslog ident: mongod.37017
6
  • Could you provide more information about your environment? What substrate is this? What version was there previous? Links to any logs from the stateserver/machine-0 ? Apr 15, 2015 at 13:24
  • Substrate = KVM virtual machine running Ubuntu 14.04.2. Prior to juju client upgrade, juju client was 1.22.0 and stateserver/machine-0 was 1.22.0. After juju client upgrade, juju client is 1.22.1and stateserver/machine-0 is still 1.22.0. Apr 15, 2015 at 13:41
  • stateserver/machine-0 log show: 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 ... Apr 15, 2015 at 13:43
  • 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 Apr 15, 2015 at 13:44
  • This loops round ... and round ... and round. So there's nothing listening on 17070. Apr 15, 2015 at 13:46

1 Answer 1

1

You could try juju upgrade-juju (see juju help upgrade-juju), but you need to be careful with the versions. I believe juju upgrades are only supported from one version to the next, without jumping versions.

2
  • I did try this but if I use the -v --debug flags I can see that it suffers from the same connectivity problem. I.e. without the API service running on the state server there is nothing for the juju upgrade-juju command to connect to. Its a catch 22 situation. Apr 15, 2015 at 13:34
  • Ok, you will need to add some logs to this question so we can see what is really going on. Sorry I missed your point about the API not running, of course upgrade-juju won't work then. Apr 15, 2015 at 13:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .