614b6af62f
Also add redhat-lsb to Fedora images for lsb_release which should prove useful as a way to do distro-specific things. Change-Id: Ie32566349319ca244fa02065bb9f81c36c1b49fb
34 lines
1014 B
Bash
Executable File
34 lines
1014 B
Bash
Executable File
#!/bin/bash
|
|
# Until http://pad.lv/1101347 is fixed, we need this user to be able to
|
|
# Log on to heat booted machines using the given SSH keypair
|
|
|
|
set -uex
|
|
|
|
# This is a specific workaround for Ubuntu
|
|
distro=$(lsb_release -is || :)
|
|
if [ "$distro" != "Ubuntu" ] ; then
|
|
exit 0
|
|
fi
|
|
|
|
# Setup ec2-user as expected by HEAT
|
|
if ! getent passwd ec2-user ; then
|
|
useradd -m -G admin ec2-user -s /bin/bash
|
|
fi
|
|
if ! [ -e /etc/sudoers.d/ec2-user ] ; then
|
|
echo "ec2-user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ec2-user
|
|
chmod 0440 /etc/sudoers.d/ec2-user
|
|
visudo -c
|
|
fi
|
|
|
|
# We must pin to this fixed cloud-init from the demo ppa to ensure keys
|
|
# are installed. This can be removed if http://pad.lv/1100920 is ever
|
|
# fixed in the distro
|
|
cat > /etc/apt/preferences.d/cloud-init-from-ppa <<EOF
|
|
Package: cloud-init
|
|
Pin: release o=LP-PPA-tripleo-demo
|
|
Pin-Priority: 900
|
|
EOF
|
|
# Should pull from demo PPA if cloud-init exists there.
|
|
# Since this is Ubuntu only, the --force-yes is OK
|
|
install-packages --force-yes cloud-init
|