diff --git a/bootstrapvz/providers/azure/__init__.py b/bootstrapvz/providers/azure/__init__.py index 5a142ae..5081448 100644 --- a/bootstrapvz/providers/azure/__init__.py +++ b/bootstrapvz/providers/azure/__init__.py @@ -2,7 +2,6 @@ from bootstrapvz.common import task_groups import tasks.packages import tasks.boot import tasks.image -import tasks.udev from bootstrapvz.common.tasks import loopback from bootstrapvz.common.tasks import initd from bootstrapvz.common.tasks import ssh @@ -25,7 +24,7 @@ def resolve_tasks(taskset, manifest): ssh.AddSSHKeyGeneration, tasks.packages.Waagent, tasks.boot.ConfigureGrub, - tasks.udev.PatchUdev, + tasks.boot.PatchUdev, tasks.image.ConvertToVhd, ]) diff --git a/bootstrapvz/providers/azure/tasks/boot.py b/bootstrapvz/providers/azure/tasks/boot.py index 8c61fff..1ec9f56 100644 --- a/bootstrapvz/providers/azure/tasks/boot.py +++ b/bootstrapvz/providers/azure/tasks/boot.py @@ -1,6 +1,23 @@ from bootstrapvz.base import Task from bootstrapvz.common import phases from bootstrapvz.common.tasks import grub +from bootstrapvz.common.tasks import kernel +import os + + +class PatchUdev(Task): + description = 'Patching udev configuration to remove ROOTDELAY sleep' + phase = phases.system_modification + successors = [kernel.UpdateInitramfs] + + @classmethod + def run(cls, info): + from bootstrapvz.common.tools import log_check_call + from . import assets + # c.f. http://anonscm.debian.org/cgit/pkg-systemd/systemd.git/commit/?id=61e055638cea + with open(os.path.join(assets, 'udev.diff')) as diff_file: + udev_dir = os.path.join(info.root, 'usr/share/initramfs-tools/scripts/init-top') + log_check_call(['patch', '--no-backup-if-mismatch', '-p6', '-d' + udev_dir], stdin=diff_file) class ConfigureGrub(Task): @@ -10,7 +27,6 @@ class ConfigureGrub(Task): @classmethod def run(cls, info): - import os from bootstrapvz.common.tools import sed_i grub_config = os.path.join(info.root, 'etc/default/grub') sed_i(grub_config, r'^(GRUB_CMDLINE_LINUX*=".*)"\s*$', r'\1console=ttyS0 earlyprintk=ttyS0 rootdelay=300"') diff --git a/bootstrapvz/providers/azure/tasks/udev.py b/bootstrapvz/providers/azure/tasks/udev.py deleted file mode 100644 index 10bc3d4..0000000 --- a/bootstrapvz/providers/azure/tasks/udev.py +++ /dev/null @@ -1,19 +0,0 @@ -from bootstrapvz.base import Task -from bootstrapvz.common import phases -from bootstrapvz.common.tasks import kernel -from bootstrapvz.common.tools import log_check_call -import os.path -from . import assets - - -class PatchUdev(Task): - description = 'Patch udev configuration to remove ROOTDELAY sleep' - phase = phases.system_modification - successors = [kernel.UpdateInitramfs] - - @classmethod - def run(cls, info): - # c.f. http://anonscm.debian.org/cgit/pkg-systemd/systemd.git/commit/?id=61e055638cea - with open(os.path.join(assets, 'udev.diff')) as diff_file: - udev_dir = os.path.join(info.root, 'usr/share/initramfs-tools/scripts/init-top') - log_check_call(['patch', '--no-backup-if-mismatch', '-p6', '-d' + udev_dir], stdin=diff_file)