From 15661ae6801757a54a658cd6017039954c283c39 Mon Sep 17 00:00:00 2001 From: Anders Ingemann Date: Sun, 29 Dec 2013 20:56:06 +0100 Subject: [PATCH] Create snapshot of volume *after* package install --- plugins/prebootstrapped/__init__.py | 5 +++++ plugins/prebootstrapped/tasks.py | 11 ++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/plugins/prebootstrapped/__init__.py b/plugins/prebootstrapped/__init__.py index abcdd8e..bba4010 100644 --- a/plugins/prebootstrapped/__init__.py +++ b/plugins/prebootstrapped/__init__.py @@ -5,6 +5,8 @@ from tasks import CreateFromImage from providers.ec2.tasks import ebs from common.tasks import loopback from common.tasks import volume +from common.tasks import locale +from common.tasks import apt from common.tasks import bootstrap from common.tasks import filesystem from common.tasks import partitioning @@ -26,6 +28,9 @@ def resolve_tasks(tasklist, manifest): filesystem.TuneVolumeFS, filesystem.AddXFSProgs, filesystem.CreateBootMountDir, + + apt.DisableDaemonAutostart, + locale.GenerateLocale, bootstrap.MakeTarball, bootstrap.Bootstrap] if manifest.volume['backing'] == 'ebs': diff --git a/plugins/prebootstrapped/tasks.py b/plugins/prebootstrapped/tasks.py index 49da82a..5c5acb2 100644 --- a/plugins/prebootstrapped/tasks.py +++ b/plugins/prebootstrapped/tasks.py @@ -1,7 +1,8 @@ from base import Task from common import phases from common.tasks import volume -from common.tasks import bootstrap +from common.tasks import packages +from providers.virtualbox.tasks import guest_additions from providers.ec2.tasks import ebs from common.fs import remount from shutil import copyfile @@ -13,8 +14,8 @@ log = logging.getLogger(__name__) class Snapshot(Task): description = 'Creating a snapshot of the bootstrapped volume' - phase = phases.os_installation - predecessors = [bootstrap.Bootstrap] + phase = phases.package_installation + predecessors = [packages.InstallRemotePackages, guest_additions.InstallGuestAdditions] def run(self, info): def mk_snapshot(): @@ -45,8 +46,8 @@ class CreateFromSnapshot(Task): class CopyImage(Task): description = 'Creating a snapshot of the bootstrapped volume' - phase = phases.os_installation - predecessors = [bootstrap.Bootstrap] + phase = phases.package_installation + predecessors = [packages.InstallRemotePackages, guest_additions.InstallGuestAdditions] def run(self, info): loopback_backup_name = 'volume-{id}.{ext}.backup'.format(id=info.run_id, ext=info.volume.extension)