def install_docker(arch=None): # docker: needs repo, https transport and key ch = apt.install_packages(["apt-transport-https", "ca-certificates"]).changed ch |= apt.add_apt_keys(docker.files["docker-repo-key.asc"]).changed ch |= apt.add_repo("debian-jessie", site="https://apt.dockerproject.org/repo", arch=arch, name="docker").changed # remove possibly installed old version ch |= apt.remove_packages(["docker.io", "lxc-docker"], purge=True).changed # docker: install packages ch |= apt.install_packages(["docker-engine"]).changed if ch: return Changed(msg="Installed docker") return Unchanged(msg="docker already installed")
def enable_hwrng(): c = linux.enable_module('bcm2708_rng').changed c |= apt.install_packages(['rng-tools']).changed c |= systemd.enable_unit('rng-tools.service').changed c |= systemd.start_unit('rng-tools.service').changed return c
def install_docker(arch=None): # docker: needs repo, https transport and key ch = apt.install_packages(['apt-transport-https', 'ca-certificates']).changed ch |= apt.add_apt_keys(docker.files['docker-repo-key.asc']).changed ch |= apt.add_repo('debian-jessie', site='https://apt.dockerproject.org/repo', arch=arch, name='docker').changed # remove possibly installed old version ch |= apt.remove_packages(['docker.io', 'lxc-docker'], purge=True).changed # docker: install packages ch |= apt.install_packages(['docker-engine']).changed if ch: return Changed(msg='Installed docker') return Unchanged(msg='docker already installed')
def setup_rsyslog(server_addr): # setup papertrail # FIXME: this is part of remand now changed = False changed = apt.install_packages(['rsyslog-gnutls']).changed changed |= fs.upload_file(papertrail.files['papertrail-bundle.pem'], '/etc/papertrail-bundle.pem').changed changed |= fs.upload_string( papertrail.templates.render('papertrail.conf', addr=server_addr), '/etc/rsyslog.d/papertrail.conf', ).changed if changed: systemd.restart_unit('rsyslog.service') return Changed( msg='Setup papertrail logging to {}'.format(server_addr)) return Unchanged(msg='Papertrail already setup to {}'.format(server_addr))
def enable_systemd(): changed = False changed |= apt.install_packages(['systemd']).changed with fs.edit('/boot/cmdline.txt', create=False) as e: flag = 'init=/bin/systemd' lines = e.lines() assert len(lines) == 1 if flag not in lines[0]: lines[0] += ' ' + flag e.set_lines(lines) changed |= e.changed if changed: return Changed(msg='Installed systemd') return Unchanged(msg='systemd already active')