bootstrap-vz/bootstrapvz/providers/ec2/tasks/tuning.py

42 lines
1.3 KiB
Python
Raw Normal View History

from bootstrapvz.base import Task
from bootstrapvz.common import phases
from . import assets
from shutil import copy
import os
class TuneSystem(Task):
description = 'Tuning system for EC2'
phase = phases.system_modification
@classmethod
def run(cls, info):
sysctl_src = os.path.join(assets, 'sysctl.d/tuning.conf')
sysctl_dst = os.path.join(info.root, 'etc/sysctl.d/01_ec2.conf')
copy(sysctl_src, sysctl_dst)
os.chmod(sysctl_dst, 0644)
class SetCloudInitMountOptions(Task):
description = 'Setting cloud-init default mount options'
phase = phases.system_modification
@classmethod
def run(cls, info):
cloud_init_src = os.path.join(assets, 'cloud-init/debian_cloud.cfg')
cloud_init_dst = os.path.join(info.root, 'etc/cloud/cloud.cfg.d/01_debian_cloud.cfg')
copy(cloud_init_src, cloud_init_dst)
os.chmod(cloud_init_dst, 0644)
class BlackListModules(Task):
description = 'Blacklisting unused kernel modules'
phase = phases.system_modification
@classmethod
def run(cls, info):
blacklist_path = os.path.join(info.root, 'etc/modprobe.d/blacklist.conf')
with open(blacklist_path, 'a') as blacklist:
blacklist.write(('blacklist i2c_piix4\n'
'blacklist psmouse\n'))