684a88ae15
As far as I can find these symlinks are unnecessary. They appear to have originally been sourced from the Archlinux 'Linux Containers' wiki page, from where it's now been removed. There are some noteworthy comments in [1] which was cited in the wiki page removal. The bits that are necessary are all included in the LXC template on a per distribution basis and we now use the download template in which everything has been prepared. [1] https://github.com/lxc/lxc/pull/1011 Change-Id: Ia538dc3baea78397b0b13ac4effb6ff1a40fc03c
103 lines
2.9 KiB
YAML
103 lines
2.9 KiB
YAML
---
|
|
# Copyright 2016, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
## APT Cache Options
|
|
cache_timeout: 600
|
|
|
|
# Required apt packages.
|
|
lxc_hosts_distro_packages:
|
|
- apparmor
|
|
- apparmor-utils
|
|
- bridge-utils
|
|
- cgmanager
|
|
- cgroup-lite
|
|
- debootstrap
|
|
- dnsmasq
|
|
- git
|
|
- iptables
|
|
- irqbalance
|
|
- language-pack-en
|
|
- liblxc1
|
|
- lxc
|
|
- lxc-dev
|
|
- lxc-templates
|
|
- python-dev
|
|
- python3-lxc
|
|
- pxz
|
|
|
|
lxc_xz_bin: pxz
|
|
|
|
system_config_dir: "/etc/default"
|
|
lxc_cache_map:
|
|
distro: ubuntu
|
|
arch: "{{ lxc_architecture_mapping.get( ansible_architecture ) }}"
|
|
release: xenial
|
|
copy_from_host:
|
|
- /etc/apt/sources.list
|
|
- /etc/apt/apt.conf.d/
|
|
- /etc/localtime
|
|
- /root/repo.keys
|
|
cache_prep_commands: |
|
|
if [ -a /etc/resolv.conf ]; then
|
|
mv /etc/resolv.conf /etc/resolv.conf.org
|
|
fi
|
|
echo "nameserver {{ lxc_net_address }}" > /etc/resolv.conf
|
|
apt-key add /root/repo.keys
|
|
rm /root/repo.keys
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-get update
|
|
apt-get install -y {{ lxc_cache_install_debconf }} {{ lxc_cache_distro_packages | join(' ') }}
|
|
apt-get upgrade -y {{ lxc_cache_install_debconf }}
|
|
rm -f /usr/bin/python
|
|
ln -s /usr/bin/python2.7 /usr/bin/python
|
|
mkdir -p /root/.ssh
|
|
chmod 700 /root/.ssh
|
|
userdel --force --remove ubuntu || true
|
|
apt-get clean
|
|
mkdir -p /var/backup
|
|
echo -e '{{ lxc_container_default_interfaces }}' | tee /etc/network/interfaces
|
|
mkdir -p /etc/network/interfaces.d
|
|
chage -I -1 -d -1 -m 0 -M 99999 -E -1 root
|
|
if [ -a /etc/resolv.conf.org ]; then
|
|
mv /etc/resolv.conf.org /etc/resolv.conf
|
|
else
|
|
rm -f /etc/resolv.conf
|
|
fi
|
|
|
|
# This forces any modified configurations to remain, and any unmodified configs to be replaced
|
|
# ref: http://serverfault.com/questions/259226/automatically-keep-current-version-of-config-files-when-apt-get-install
|
|
lxc_cache_install_debconf: '-o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes'
|
|
|
|
lxc_cache_distro_packages:
|
|
- apt-transport-https
|
|
- ca-certificates
|
|
- iptables
|
|
- openssh-server
|
|
- python2.7
|
|
|
|
lxc_cached_network_interfaces:
|
|
- src: "lxc-net-bridge.cfg.j2"
|
|
dest: "/etc/network/interfaces.d/lxc-net-bridge.cfg"
|
|
|
|
lxc_container_default_interfaces: |
|
|
# The loopback network interface
|
|
auto lo
|
|
iface lo inet loopback
|
|
# LXC interface, this is ALWAYS assumed to be DHCP.
|
|
auto eth0
|
|
iface eth0 inet dhcp
|
|
# Load any additional configs
|
|
source /etc/network/interfaces.d/*.cfg
|