2013-06-09 16:25:59 +02:00
|
|
|
from base import Task
|
2013-06-23 15:26:08 +02:00
|
|
|
from common import phases
|
2013-12-29 18:11:48 +01:00
|
|
|
from common.tasks import apt
|
2013-05-02 19:13:35 +02:00
|
|
|
|
|
|
|
|
2013-12-29 16:09:47 +01:00
|
|
|
class DefaultPackages(Task):
|
|
|
|
description = 'Adding image packages required for EC2'
|
2013-06-23 22:12:29 +02:00
|
|
|
phase = phases.preparation
|
2013-12-29 18:11:48 +01:00
|
|
|
predecessors = [apt.AddDefaultSources]
|
2013-06-09 20:29:54 +02:00
|
|
|
|
2014-01-05 15:57:11 +01:00
|
|
|
@classmethod
|
|
|
|
def run(cls, info):
|
2013-12-29 16:09:47 +01:00
|
|
|
info.packages.add('openssh-server')
|
|
|
|
info.packages.add('file') # Needed for the init scripts
|
|
|
|
info.packages.add('dhcpcd') # isc-dhcp-client doesn't work properly with ec2
|
2013-05-02 19:13:35 +02:00
|
|
|
|
2013-12-29 16:09:47 +01:00
|
|
|
info.exclude_packages.add('isc-dhcp-client')
|
|
|
|
info.exclude_packages.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
|
2014-01-09 20:39:17 +01:00
|
|
|
kernels = {}
|
2014-01-09 21:25:22 +01:00
|
|
|
with open('providers/ec2/tasks/packages-kernels.json') as stream:
|
2014-01-09 20:39:17 +01:00
|
|
|
import json
|
2014-01-09 21:25:22 +01:00
|
|
|
kernels = json.loads(stream.read())
|
2013-12-29 16:09:47 +01:00
|
|
|
kernel_package = kernels.get(info.manifest.system['release']).get(info.manifest.system['architecture'])
|
|
|
|
info.packages.add(kernel_package)
|