As seen here: https://bugs.launchpad.net/juju-core/+bug/1436421
$ juju --debug status
2015-03-26 15:40:05 INFO juju.cmd supercommand.go:37 running juju [1.23-beta1-precise-amd64 gc]
2015-03-26 15:40:05 DEBUG juju.api api.go:176 no cached API connection settings found
2015-03-26 15:40:05 INFO juju.provider.openstack provider.go:241 opening environment "prod-cdo-ciaas"
2015-03-26 15:40:05 DEBUG juju.environs utils.go:94 StateServerInstances returned: [d8e0f90b-3b1f-4958-acd6-0cd74e45b99c]
2015-03-26 15:40:05 ERROR juju.cmd supercommand.go:430 Unable to connect to environment "prod-cdo-ciaas".
Please check your credentials or use 'juju bootstrap' to create a new environment.
Error details:
config has no UUID
Since 1.18.4 supports environments that lack jenvs, backwards-compatibility requires current jujus to support that.
I cannot reproduce this bug. I could successfully to talk to a 1.18 server with a 1.23-beta2 client:
$ juju version trusty- amd64
1.23-beta2-
$ juju status
WARNING ignoring invalid API endpoint environment UUID
environment: local
machines:
"0":
agent-state: started
agent-version: 1.18.1.1
dns-name: localhost
instance-id: localhost
series: trusty
services: {}
There is a comment on the code that allows this is, api.go:285:
// For backwards- compatibility, we have to allow connections
// with an empty UUID. Login will work for the same reasons.
I note the bug mentions a missing .jenv. A 1.23 client without a .jenv should be considered broken, it cannot talk to any server without a .jenv.