I have reproduced the issue again on a fresh Trusty cloud image. It reproduces reliably just by removing the ubuntu user first. Exact reproduction steps below.
> Juju requires the machines it provisions to have an ubuntu user. That's fine, but Juju must not assume that the local user has an ubuntu user to start with, when bootstrap a local provider environment. Juju is expected to run on an Ubuntu desktop machine. Ubuntu desktop machines do not typically have an ubuntu user. So, to test this common case in an easily reproducible environment, I start by removing the ubuntu user, to bring a cloud image environment closer to that of a desktop user environment. I first came across this bug on my laptop, which has never been a cloud environment and has never had an ubuntu user. Apparently Juju has the "ubuntu" user hardcoded somewhere in a code path that runs locally, which is a false assumption. Exact steps to reproduce on a Trusty cloud image: ubuntu@foo:~$ cat /etc/cloud/build.info build_name: server serial: 20140607.1 sudo -i apt-get update && sudo apt-get -y dist-upgrade reboot sudo -i adduser --disabled-password --gecos foo foo cp -a ~ubuntu/.ssh ~foo/ chown -R foo. ~foo/.ssh echo 'foo ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/foo logout # Log back in as foo here sudo deluser ubuntu sudo add-apt-repository -y ppa:juju/stable sudo apt-get update sudo apt-get -y install juju-core juju-local apt-cache policy juju-core juju-local juju-core: Installed: 1.18.4-0ubuntu1~14.04.1~juju1 Candidate: 1.18.4-0ubuntu1~14.04.1~juju1 Version table: *** 1.18.4-0ubuntu1~14.04.1~juju1 0 500 http://ppa.launchpad.net/juju/stable/ubuntu/ trusty/main amd64 Packages 100 /var/lib/dpkg/status 1.18.1-0ubuntu1 0 500 http://archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages juju-local: Installed: 1.18.4-0ubuntu1~14.04.1~juju1 Candidate: 1.18.4-0ubuntu1~14.04.1~juju1 Version table: *** 1.18.4-0ubuntu1~14.04.1~juju1 0 500 http://ppa.launchpad.net/juju/stable/ubuntu/ trusty/main amd64 Packages 100 /var/lib/dpkg/status 1.18.1-0ubuntu1 0 500 http://archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages foo@foo:~$ getent passwd ubuntu foo@foo:~$ getent passwd foo foo:x:1001:1001:foo,,,:/home/foo:/bin/bash foo@foo:~$ echo $USER foo juju generate-config juju switch local juju bootstrap --series trusty --upload-tools Actual results: uploading tools for series [trusty] Logging to /home/foo/.juju/local/cloud-init-output.log on remote host chown: invalid user: ‘ubuntu:ubuntu’ Bootstrap failed, destroying environment ERROR exit status 1 Expected results: successful local environment bootstrap. ** Changed in: juju-core Status: Incomplete => New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1328958 Title: Local provider assumes a local "ubuntu" user exists To manage notifications about this bug go to: https://bugs.launchpad.net/juju-core/+bug/1328958/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs