openstack-ansible-lxc_hosts/templates/prep-scripts/_container_sys_setup.sh.j2

34 lines
1.0 KiB
Django/Jinja

# System containers will require mount points for the following
mkdir -p /dev
mkdir -p /proc
mkdir -p /sys/fs/cgroup
mkdir -p /dev/pts
#gnupg requires this
mkdir -p /root/.gnupg
# In order for the package manager to function /dev/null, /dev/random and
# /dev/urandom must exist. This is is being run here because some images do not
# create /dev/null by default.
[ ! -e /dev/null ] && mknod -m 0666 /dev/null c 1 3
[ ! -e /dev/random ] && mknod -m 0666 /dev/random c 1 8
[ ! -e /dev/urandom ] && mknod -m 0666 /dev/urandom c 1 9
ln -sf /proc/self/fd /dev/fd
for i in {0..5}; do
[ ! -e "/dev/pts/$i" ] && mknod -m 0666 "/dev/pts/$i" c 136 $i
done
# file check does not seem to work at all times
[ ! -e /dev/ptmx ] && mknod -m 0666 /dev/ptmx c 5 2 || true
[ ! -e /dev/pts/ptmx ] && mknod -m 0000 /dev/pts/ptmx c 5 2
# Create the directory where local facts will be stored
mkdir -p /etc/ansible/facts.d
# Create the cache resolvers
rm /etc/resolv.conf || true
{% for resolver in lxc_cache_prep_dns %}
echo "nameserver {{ resolver }}" >> /etc/resolv.conf
{% endfor %}