forked from andsens/bootstrap-vz
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path__init__.py
52 lines (44 loc) · 1.91 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
from bootstrapvz.common import task_groups
import tasks.apt
import tasks.boot
import tasks.configuration
import tasks.image
import tasks.initd
import tasks.host
import tasks.packages
from bootstrapvz.common.tasks import apt, boot, image, loopback, initd
from bootstrapvz.common.tasks import ssh, volume, grub
def validate_manifest(data, validator, error):
from bootstrapvz.common.tools import rel_path
validator(data, rel_path(__file__, 'manifest-schema.yml'))
def resolve_tasks(taskset, manifest):
taskset.update(task_groups.get_standard_groups(manifest))
taskset.update([apt.AddBackports,
apt.AddDefaultSources,
loopback.AddRequiredCommands,
loopback.Create,
tasks.packages.DefaultPackages,
tasks.configuration.GatherReleaseInformation,
tasks.host.DisableIPv6,
tasks.boot.ConfigureGrub,
initd.AddExpandRoot,
initd.AdjustExpandRootScript,
tasks.initd.AdjustExpandRootDev,
initd.InstallInitScripts,
boot.BlackListModules,
boot.UpdateInitramfs,
ssh.AddSSHKeyGeneration,
ssh.DisableSSHPasswordAuthentication,
ssh.DisableRootLogin,
tasks.apt.AddBaselineAptCache,
image.MoveImage,
tasks.image.CreateTarball,
volume.Delete,
])
taskset.discard(grub.SetGrubConsolOutputDeviceToSerial)
if 'gcs_destination' in manifest.provider:
taskset.add(tasks.image.UploadImage)
if 'gce_project' in manifest.provider:
taskset.add(tasks.image.RegisterImage)
def resolve_rollback_tasks(taskset, manifest, completed, counter_task):
taskset.update(task_groups.get_standard_rollback_tasks(completed))