bootstrap-vz/providers/ec2/tasks/packages.py

40 lines
1.3 KiB
Python
Raw Normal View History

2013-06-09 16:25:59 +02:00
from base import Task
from common import phases
from common.tasks import packages
from common.tasks.host import CheckPackages
2013-05-02 19:13:35 +02:00
class HostPackages(Task):
description = 'Adding more required host packages'
2013-06-23 22:12:29 +02:00
phase = phases.preparation
predecessors = [packages.HostPackages]
successors = [CheckPackages]
2013-06-09 20:29:54 +02:00
2013-05-02 19:13:35 +02:00
def run(self, info):
if info.manifest.volume['backing'] == 's3':
info.host_packages.add('euca2ools')
2013-05-02 19:13:35 +02:00
class ImagePackages(Task):
description = 'Adding more required image packages'
2013-06-23 22:12:29 +02:00
phase = phases.preparation
predecessors = [packages.ImagePackages]
2013-06-09 20:29:54 +02:00
2013-05-02 19:13:35 +02:00
def run(self, info):
2013-05-16 08:00:28 +02:00
manifest = info.manifest
include, exclude = info.img_packages
include.add('openssh-server')
include.add('file') # Needed for the init scripts
include.add('dhcpcd') # isc-dhcp-client doesn't work properly with ec2
2013-12-01 23:50:32 +01:00
include.add('grub-pc')
2013-06-26 20:14:37 +02:00
exclude.add('isc-dhcp-client')
exclude.add('isc-dhcp-common')
2013-06-26 20:14:37 +02:00
2013-05-02 19:13:35 +02:00
# In squeeze, we need a special kernel flavor for xen
kernels = {'squeeze': {'amd64': 'linux-image-xen-amd64',
'i386': 'linux-image-xen-686', },
'wheezy': {'amd64': 'linux-image-amd64',
'i386': 'linux-image-686', }, }
include.add(kernels.get(manifest.system['release']).get(manifest.system['architecture']))