[Bug 1328958] Re: Local provider assumes a local "ubuntu" user exists
Robie Basak
1328958 at bugs.launchpad.net
Tue Jun 24 08:50:44 UTC 2014
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 at 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 at foo:~$ getent passwd ubuntu
foo at foo:~$ getent passwd foo
foo:x:1001:1001:foo,,,:/home/foo:/bin/bash
foo at 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
Server Team, which is subscribed to juju-core in 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
More information about the Ubuntu-server-bugs
mailing list