From bf7525426b40d37403d84076132219a0bb839a0a Mon Sep 17 00:00:00 2001 From: Anders Ingemann Date: Fri, 14 Jul 2017 18:27:16 +0200 Subject: [PATCH] vbox: Make guest additions path relative to manifest --- bootstrapvz/providers/virtualbox/manifest-schema.yml | 7 ++----- bootstrapvz/providers/virtualbox/tasks/guest_additions.py | 4 ++-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/bootstrapvz/providers/virtualbox/manifest-schema.yml b/bootstrapvz/providers/virtualbox/manifest-schema.yml index 910c342..4d39e52 100644 --- a/bootstrapvz/providers/virtualbox/manifest-schema.yml +++ b/bootstrapvz/providers/virtualbox/manifest-schema.yml @@ -7,7 +7,8 @@ properties: type: object properties: guest_additions: - $ref: '#/definitions/absolute_path' + type: string + pattern: ^[^\0]+$ system: type: object properties: @@ -35,7 +36,3 @@ properties: - msdos - gpt required: [backing] -definitions: - absolute_path: - type: string - pattern: ^/[^\0]+$ diff --git a/bootstrapvz/providers/virtualbox/tasks/guest_additions.py b/bootstrapvz/providers/virtualbox/tasks/guest_additions.py index 570a034..70442c5 100644 --- a/bootstrapvz/providers/virtualbox/tasks/guest_additions.py +++ b/bootstrapvz/providers/virtualbox/tasks/guest_additions.py @@ -14,7 +14,7 @@ class CheckGuestAdditionsPath(Task): @classmethod def run(cls, info): - guest_additions_path = info.manifest.provider['guest_additions'] + guest_additions_path = rel_path(info.manifest.path, info.manifest.provider['guest_additions']) if not os.path.exists(guest_additions_path): msg = 'The file {file} does not exist.'.format(file=guest_additions_path) raise TaskError(msg) @@ -58,7 +58,7 @@ class InstallGuestAdditions(Task): kernel_version = value.strip().split('linux-headers-')[-1] break - guest_additions_path = info.manifest.provider['guest_additions'] + guest_additions_path = rel_path(info.manifest.path, info.manifest.provider['guest_additions']) mount_dir = 'mnt/guest_additions' mount_path = os.path.join(info.root, mount_dir) os.mkdir(mount_path)