This is perfectly reproducible on a pristine zesty cloud image in a VM after installing and configuring lxd first, then juju-2.0.
I also tried on a pristine xenial cloud VM, and I don't even get that far:
$ juju-2.0 bootstrap lxd localhost
Creating Juju controller "lxd" on localhost/localhost
Bootstrapping model "controller"
Starting new instance for initial controller
Launching instance
ERROR failed to bootstrap model: cannot start bootstrap instance: unable to get LXD image for ubuntu-xenial: The requested image couldn't be found.
However, "lxc launch ubuntu:xenial x1" works just fine there.
I tried in a pristine yakkety cloud VM, and it does work there. It installs my public ssh key:
ubuntu@juju-3d6bc3-0:~$ ls -la .ssh/authorized_keys
-rw------- 1 ubuntu ubuntu 402 Nov 24 14:23 .ssh/authorized_keys
So I'm fairly sure it's the authorized_keys setup which is to blame for breaking bootstrapping.
This is perfectly reproducible on a pristine zesty cloud image in a VM after installing and configuring lxd first, then juju-2.0.
I also tried on a pristine xenial cloud VM, and I don't even get that far:
$ juju-2.0 bootstrap lxd localhost
Creating Juju controller "lxd" on localhost/localhost
Bootstrapping model "controller"
Starting new instance for initial controller
Launching instance
ERROR failed to bootstrap model: cannot start bootstrap instance: unable to get LXD image for ubuntu-xenial: The requested image couldn't be found.
However, "lxc launch ubuntu:xenial x1" works just fine there.
I tried in a pristine yakkety cloud VM, and it does work there. It installs my public ssh key:
ubuntu@ juju-3d6bc3- 0:~$ ls -la .ssh/authorized _keys _keys
-rw------- 1 ubuntu ubuntu 402 Nov 24 14:23 .ssh/authorized
So I'm fairly sure it's the authorized_keys setup which is to blame for breaking bootstrapping.