From 90da634226f11186685c22edb90a77f7f111da82 Mon Sep 17 00:00:00 2001 From: Nicolas Braud-Santoni Date: Mon, 12 Sep 2016 18:47:20 +0200 Subject: [PATCH] Systematically use rel_path for relative paths --- bootstrapvz/base/__init__.py | 8 +++----- bootstrapvz/base/manifest.py | 6 ++---- bootstrapvz/base/tasklist.py | 8 ++++---- bootstrapvz/common/tasks/__init__.py | 4 ++-- bootstrapvz/common/tasks/network.py | 4 ++-- bootstrapvz/plugins/admin_user/__init__.py | 6 ++---- bootstrapvz/plugins/ansible/__init__.py | 5 ++--- bootstrapvz/plugins/apt_proxy/__init__.py | 5 ++--- bootstrapvz/plugins/chef/__init__.py | 5 ++--- bootstrapvz/plugins/cloud_init/__init__.py | 5 ++--- bootstrapvz/plugins/commands/__init__.py | 5 ++--- bootstrapvz/plugins/debconf/__init__.py | 8 +++----- bootstrapvz/plugins/docker_daemon/__init__.py | 6 +++--- bootstrapvz/plugins/docker_daemon/tasks.py | 5 ++--- bootstrapvz/plugins/ec2_launch/__init__.py | 5 ++--- bootstrapvz/plugins/ec2_publish/__init__.py | 5 ++--- bootstrapvz/plugins/file_copy/__init__.py | 5 ++--- .../plugins/google_cloud_repo/__init__.py | 5 ++--- bootstrapvz/plugins/minimize_size/__init__.py | 6 +++--- .../plugins/minimize_size/tasks/__init__.py | 4 ++-- bootstrapvz/plugins/ntp/__init__.py | 5 ++--- bootstrapvz/plugins/pip_install/__init__.py | 5 ++--- bootstrapvz/plugins/prebootstrapped/__init__.py | 5 ++--- bootstrapvz/plugins/puppet/__init__.py | 5 ++--- bootstrapvz/plugins/root_password/__init__.py | 5 ++--- bootstrapvz/plugins/salt/__init__.py | 5 ++--- .../plugins/unattended_upgrades/__init__.py | 5 ++--- bootstrapvz/plugins/vagrant/__init__.py | 9 +++------ bootstrapvz/plugins/vagrant/tasks.py | 3 ++- bootstrapvz/providers/azure/__init__.py | 5 ++--- bootstrapvz/providers/azure/tasks/__init__.py | 4 ++-- bootstrapvz/providers/azure/tasks/packages.py | 5 ++--- bootstrapvz/providers/docker/__init__.py | 8 +++----- bootstrapvz/providers/ec2/__init__.py | 16 +++++----------- bootstrapvz/providers/ec2/tasks/__init__.py | 4 ++-- bootstrapvz/providers/ec2/tasks/ami.py | 4 ++-- bootstrapvz/providers/ec2/tasks/packages.py | 3 ++- bootstrapvz/providers/gce/__init__.py | 15 ++++----------- bootstrapvz/providers/gce/tasks/packages.py | 5 ++--- bootstrapvz/providers/kvm/__init__.py | 10 +++------- bootstrapvz/providers/kvm/tasks/packages.py | 5 ++--- bootstrapvz/providers/oracle/__init__.py | 9 +++------ bootstrapvz/providers/oracle/tasks/packages.py | 5 ++--- bootstrapvz/providers/virtualbox/__init__.py | 5 ++--- .../virtualbox/tasks/guest_additions.py | 3 ++- .../providers/virtualbox/tasks/packages.py | 5 ++--- bootstrapvz/remote/build_servers/__init__.py | 6 +++--- 47 files changed, 110 insertions(+), 164 deletions(-) diff --git a/bootstrapvz/base/__init__.py b/bootstrapvz/base/__init__.py index 024e777..96569c7 100644 --- a/bootstrapvz/base/__init__.py +++ b/bootstrapvz/base/__init__.py @@ -12,12 +12,10 @@ def validate_manifest(data, validator, error): :param function validator: The function that validates the manifest given the data and a path :param function error: The function tha raises an error when the validation fails """ - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) - from bootstrapvz.common.releases import get_release - from bootstrapvz.common.releases import squeeze + from bootstrapvz.common.releases import get_release, squeeze release = get_release(data['system']['release']) if release < squeeze: diff --git a/bootstrapvz/base/manifest.py b/bootstrapvz/base/manifest.py index c83dfd6..d087046 100644 --- a/bootstrapvz/base/manifest.py +++ b/bootstrapvz/base/manifest.py @@ -3,7 +3,7 @@ to determine which tasks should be added to the tasklist, what arguments various invocations should have etc.. """ from bootstrapvz.common.exceptions import ManifestError -from bootstrapvz.common.tools import load_data +from bootstrapvz.common.tools import load_data, rel_path import logging log = logging.getLogger(__name__) @@ -28,9 +28,7 @@ class Manifest(object): raise ManifestError('`path\' or `data\' must be provided') self.path = path - import os.path - self.metaschema = load_data(os.path.normpath(os.path.join(os.path.dirname(__file__), - 'metaschema.json'))) + self.metaschema = load_data(rel_path(__file__, 'metaschema.json')) self.load_data(data) self.load_modules() diff --git a/bootstrapvz/base/tasklist.py b/bootstrapvz/base/tasklist.py index 13811ae..f604b91 100644 --- a/bootstrapvz/base/tasklist.py +++ b/bootstrapvz/base/tasklist.py @@ -128,22 +128,22 @@ def get_all_tasks(loaded_modules): import pkgutil import os.path import bootstrapvz - bootstrapvz_root = os.path.dirname(bootstrapvz.__file__) - module_paths = set([(os.path.join(bootstrapvz_root, 'common/tasks'), 'bootstrapvz.common.tasks.')]) + from bootstrapvz.common.tools import rel_path + module_paths = set([(rel_path(bootstrapvz.__file__, 'common/tasks'), 'bootstrapvz.common.tasks.')]) for module in loaded_modules: module_path = os.path.dirname(module.__file__) module_prefix = module.__name__ + '.' module_paths.add((module_path, module_prefix)) - providers = os.path.join(os.path.dirname(bootstrapvz.__file__), 'providers') + providers = rel_path(bootstrapvz.__file__, 'providers') for module_loader, module_name, ispkg in pkgutil.iter_modules([providers, 'bootstrapvz.providers']): module_path = os.path.join(module_loader.path, module_name) # The prefix param seems to do nothing, so we prefix the module name ourselves module_prefix = 'bootstrapvz.providers.{}.'.format(module_name) module_paths.add((module_path, module_prefix)) - plugins = os.path.join(os.path.dirname(bootstrapvz.__file__), 'plugins') + plugins = rel_path(bootstrapvz.__file__, 'plugins') for module_loader, module_name, ispkg in pkgutil.iter_modules([plugins, 'bootstrapvz.plugins']): module_path = os.path.join(module_loader.path, module_name) module_prefix = 'bootstrapvz.plugins.{}.'.format(module_name) diff --git a/bootstrapvz/common/tasks/__init__.py b/bootstrapvz/common/tasks/__init__.py index 494ec79..9026602 100644 --- a/bootstrapvz/common/tasks/__init__.py +++ b/bootstrapvz/common/tasks/__init__.py @@ -1,3 +1,3 @@ -import os.path +from bootstrapvz.common.tools import rel_path -assets = os.path.normpath(os.path.join(os.path.dirname(__file__), '../assets')) +assets = rel_path(__file__, '../assets') diff --git a/bootstrapvz/common/tasks/network.py b/bootstrapvz/common/tasks/network.py index dcf2c8b..c315b4a 100644 --- a/bootstrapvz/common/tasks/network.py +++ b/bootstrapvz/common/tasks/network.py @@ -45,8 +45,8 @@ class ConfigureNetworkIF(Task): @classmethod def run(cls, info): - network_config_path = os.path.join(os.path.dirname(__file__), 'network-configuration.yml') - from ..tools import config_get + from ..tools import config_get, rel_path + network_config_path = rel_path(__file__, 'network-configuration.yml') if_config = config_get(network_config_path, [info.manifest.release.codename]) interfaces_path = os.path.join(info.root, 'etc/network/interfaces') diff --git a/bootstrapvz/plugins/admin_user/__init__.py b/bootstrapvz/plugins/admin_user/__init__.py index 0627a96..4c85874 100644 --- a/bootstrapvz/plugins/admin_user/__init__.py +++ b/bootstrapvz/plugins/admin_user/__init__.py @@ -1,8 +1,6 @@ def validate_manifest(data, validator, error): - import os.path - - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/ansible/__init__.py b/bootstrapvz/plugins/ansible/__init__.py index f060ff3..aed5ff9 100644 --- a/bootstrapvz/plugins/ansible/__init__.py +++ b/bootstrapvz/plugins/ansible/__init__.py @@ -2,9 +2,8 @@ import tasks def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/apt_proxy/__init__.py b/bootstrapvz/plugins/apt_proxy/__init__.py index 4f07704..eae8df0 100644 --- a/bootstrapvz/plugins/apt_proxy/__init__.py +++ b/bootstrapvz/plugins/apt_proxy/__init__.py @@ -1,7 +1,6 @@ def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/chef/__init__.py b/bootstrapvz/plugins/chef/__init__.py index e415822..f3a4bcd 100644 --- a/bootstrapvz/plugins/chef/__init__.py +++ b/bootstrapvz/plugins/chef/__init__.py @@ -2,9 +2,8 @@ import tasks def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/cloud_init/__init__.py b/bootstrapvz/plugins/cloud_init/__init__.py index 1c94924..9f7b1a2 100644 --- a/bootstrapvz/plugins/cloud_init/__init__.py +++ b/bootstrapvz/plugins/cloud_init/__init__.py @@ -1,9 +1,8 @@ def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/commands/__init__.py b/bootstrapvz/plugins/commands/__init__.py index 7c21689..b525e98 100644 --- a/bootstrapvz/plugins/commands/__init__.py +++ b/bootstrapvz/plugins/commands/__init__.py @@ -1,9 +1,8 @@ def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/debconf/__init__.py b/bootstrapvz/plugins/debconf/__init__.py index 8e2b644..048882f 100644 --- a/bootstrapvz/plugins/debconf/__init__.py +++ b/bootstrapvz/plugins/debconf/__init__.py @@ -1,9 +1,7 @@ def validate_manifest(data, validator, error): - from bootstrapvz.common.tools import log_check_call - import os.path - schema_path = os.path.join(os.path.dirname(__file__), - 'schema.yaml') - validator(data, schema_path) + from bootstrapvz.common.tools import log_check_call, rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) + log_check_call(['debconf-set-selections', '--checkonly'], stdin=data['plugins']['debconf']) diff --git a/bootstrapvz/plugins/docker_daemon/__init__.py b/bootstrapvz/plugins/docker_daemon/__init__.py index c2c3a0c..05e5aea 100644 --- a/bootstrapvz/plugins/docker_daemon/__init__.py +++ b/bootstrapvz/plugins/docker_daemon/__init__.py @@ -1,12 +1,12 @@ -import os.path +from bootstrapvz.common.tools import rel_path import tasks from bootstrapvz.common.tasks import apt from bootstrapvz.common.releases import wheezy def validate_manifest(data, validator, error): - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + validator(data, rel_path(__file__, 'manifest-schema.yml')) + from bootstrapvz.common.releases import get_release if get_release(data['system']['release']) == wheezy: # prefs is a generator of apt preferences across files in the manifest diff --git a/bootstrapvz/plugins/docker_daemon/tasks.py b/bootstrapvz/plugins/docker_daemon/tasks.py index 998f9e5..e215188 100644 --- a/bootstrapvz/plugins/docker_daemon/tasks.py +++ b/bootstrapvz/plugins/docker_daemon/tasks.py @@ -2,15 +2,14 @@ from bootstrapvz.base import Task from bootstrapvz.common import phases from bootstrapvz.common.tasks import grub from bootstrapvz.common.tasks import initd -from bootstrapvz.common.tools import log_check_call -from bootstrapvz.common.tools import sed_i +from bootstrapvz.common.tools import log_check_call, sed_i, rel_path import os import os.path import shutil import subprocess import time -ASSETS_DIR = os.path.normpath(os.path.join(os.path.dirname(__file__), 'assets')) +ASSETS_DIR = rel_path(__file__, 'assets') class AddDockerDeps(Task): diff --git a/bootstrapvz/plugins/ec2_launch/__init__.py b/bootstrapvz/plugins/ec2_launch/__init__.py index 69c29c7..1f9e9b2 100644 --- a/bootstrapvz/plugins/ec2_launch/__init__.py +++ b/bootstrapvz/plugins/ec2_launch/__init__.py @@ -1,7 +1,6 @@ def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/ec2_publish/__init__.py b/bootstrapvz/plugins/ec2_publish/__init__.py index 4fd8292..1ac8ff1 100644 --- a/bootstrapvz/plugins/ec2_publish/__init__.py +++ b/bootstrapvz/plugins/ec2_publish/__init__.py @@ -1,7 +1,6 @@ def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/file_copy/__init__.py b/bootstrapvz/plugins/file_copy/__init__.py index 30fa6d1..e78decc 100644 --- a/bootstrapvz/plugins/file_copy/__init__.py +++ b/bootstrapvz/plugins/file_copy/__init__.py @@ -2,10 +2,9 @@ import tasks def validate_manifest(data, validator, error): - import os.path + from bootstrapvz.common.tools import rel_path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/google_cloud_repo/__init__.py b/bootstrapvz/plugins/google_cloud_repo/__init__.py index d8bad86..07d8f7c 100644 --- a/bootstrapvz/plugins/google_cloud_repo/__init__.py +++ b/bootstrapvz/plugins/google_cloud_repo/__init__.py @@ -1,10 +1,9 @@ import tasks -import os.path +from bootstrapvz.common.tools import rel_path def validate_manifest(data, validator, error): - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/minimize_size/__init__.py b/bootstrapvz/plugins/minimize_size/__init__.py index 9e22404..cf963ce 100644 --- a/bootstrapvz/plugins/minimize_size/__init__.py +++ b/bootstrapvz/plugins/minimize_size/__init__.py @@ -6,9 +6,9 @@ from bootstrapvz.common.tasks import locale def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.join(os.path.dirname(__file__), 'manifest-schema.yml') - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) + if data['plugins']['minimize_size'].get('shrink', False) and data['volume']['backing'] != 'vmdk': error('Can only shrink vmdk images', ['plugins', 'minimize_size', 'shrink']) diff --git a/bootstrapvz/plugins/minimize_size/tasks/__init__.py b/bootstrapvz/plugins/minimize_size/tasks/__init__.py index b5493bc..9026602 100644 --- a/bootstrapvz/plugins/minimize_size/tasks/__init__.py +++ b/bootstrapvz/plugins/minimize_size/tasks/__init__.py @@ -1,3 +1,3 @@ -import os +from bootstrapvz.common.tools import rel_path -assets = os.path.normpath(os.path.join(os.path.dirname(__file__), '../assets')) +assets = rel_path(__file__, '../assets') diff --git a/bootstrapvz/plugins/ntp/__init__.py b/bootstrapvz/plugins/ntp/__init__.py index 5e5715b..cf0120b 100644 --- a/bootstrapvz/plugins/ntp/__init__.py +++ b/bootstrapvz/plugins/ntp/__init__.py @@ -1,7 +1,6 @@ def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/pip_install/__init__.py b/bootstrapvz/plugins/pip_install/__init__.py index d88acec..7f88abf 100644 --- a/bootstrapvz/plugins/pip_install/__init__.py +++ b/bootstrapvz/plugins/pip_install/__init__.py @@ -2,9 +2,8 @@ import tasks def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/prebootstrapped/__init__.py b/bootstrapvz/plugins/prebootstrapped/__init__.py index 49022b5..e99015c 100644 --- a/bootstrapvz/plugins/prebootstrapped/__init__.py +++ b/bootstrapvz/plugins/prebootstrapped/__init__.py @@ -13,9 +13,8 @@ from bootstrapvz.common.tasks import partitioning def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/puppet/__init__.py b/bootstrapvz/plugins/puppet/__init__.py index 81d5b39..a1f3765 100644 --- a/bootstrapvz/plugins/puppet/__init__.py +++ b/bootstrapvz/plugins/puppet/__init__.py @@ -2,9 +2,8 @@ import tasks def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/root_password/__init__.py b/bootstrapvz/plugins/root_password/__init__.py index 7fc41f1..c2cba57 100644 --- a/bootstrapvz/plugins/root_password/__init__.py +++ b/bootstrapvz/plugins/root_password/__init__.py @@ -1,9 +1,8 @@ def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/salt/__init__.py b/bootstrapvz/plugins/salt/__init__.py index b69c806..81ed9aa 100644 --- a/bootstrapvz/plugins/salt/__init__.py +++ b/bootstrapvz/plugins/salt/__init__.py @@ -2,9 +2,8 @@ import tasks def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/unattended_upgrades/__init__.py b/bootstrapvz/plugins/unattended_upgrades/__init__.py index c8190c2..5e0942c 100644 --- a/bootstrapvz/plugins/unattended_upgrades/__init__.py +++ b/bootstrapvz/plugins/unattended_upgrades/__init__.py @@ -1,9 +1,8 @@ def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/vagrant/__init__.py b/bootstrapvz/plugins/vagrant/__init__.py index 4bcc552..ae71103 100644 --- a/bootstrapvz/plugins/vagrant/__init__.py +++ b/bootstrapvz/plugins/vagrant/__init__.py @@ -1,14 +1,11 @@ import tasks from bootstrapvz.common import task_groups -from bootstrapvz.common.tasks import image -from bootstrapvz.common.tasks import ssh -from bootstrapvz.common.tasks import volume -import os +from bootstrapvz.common.tasks import image, ssh, volume +from bootstrapvz.common.tools import rel_path def validate_manifest(data, validator, error): - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/plugins/vagrant/tasks.py b/bootstrapvz/plugins/vagrant/tasks.py index 49c8262..5677f13 100644 --- a/bootstrapvz/plugins/vagrant/tasks.py +++ b/bootstrapvz/plugins/vagrant/tasks.py @@ -1,10 +1,11 @@ from bootstrapvz.base import Task from bootstrapvz.common import phases from bootstrapvz.common.tasks import workspace +from bootstrapvz.common.tools import rel_path import os import shutil -assets = os.path.normpath(os.path.join(os.path.dirname(__file__), 'assets')) +assets = rel_path(__file__, 'assets') class CheckBoxPath(Task): diff --git a/bootstrapvz/providers/azure/__init__.py b/bootstrapvz/providers/azure/__init__.py index 9737cf5..784393d 100644 --- a/bootstrapvz/providers/azure/__init__.py +++ b/bootstrapvz/providers/azure/__init__.py @@ -10,9 +10,8 @@ from bootstrapvz.common.tasks import grub def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/providers/azure/tasks/__init__.py b/bootstrapvz/providers/azure/tasks/__init__.py index 494ec79..9026602 100644 --- a/bootstrapvz/providers/azure/tasks/__init__.py +++ b/bootstrapvz/providers/azure/tasks/__init__.py @@ -1,3 +1,3 @@ -import os.path +from bootstrapvz.common.tools import rel_path -assets = os.path.normpath(os.path.join(os.path.dirname(__file__), '../assets')) +assets = rel_path(__file__, '../assets') diff --git a/bootstrapvz/providers/azure/tasks/packages.py b/bootstrapvz/providers/azure/tasks/packages.py index cd8f6d6..4302f1b 100644 --- a/bootstrapvz/providers/azure/tasks/packages.py +++ b/bootstrapvz/providers/azure/tasks/packages.py @@ -15,9 +15,8 @@ class DefaultPackages(Task): info.packages.add('sudo') info.packages.add('parted') - import os.path - kernel_packages_path = os.path.join(os.path.dirname(__file__), 'packages-kernels.yml') - from bootstrapvz.common.tools import config_get + from bootstrapvz.common.tools import config_get, rel_path + kernel_packages_path = rel_path(__file__, 'packages-kernels.yml') kernel_package = config_get(kernel_packages_path, [info.manifest.release.codename, info.manifest.system['architecture']]) info.packages.add(kernel_package) diff --git a/bootstrapvz/providers/docker/__init__.py b/bootstrapvz/providers/docker/__init__.py index 5197c7c..3d36a6c 100644 --- a/bootstrapvz/providers/docker/__init__.py +++ b/bootstrapvz/providers/docker/__init__.py @@ -1,14 +1,12 @@ -from bootstrapvz.common.tasks import apt -from bootstrapvz.common.tasks import folder -from bootstrapvz.common.tasks import filesystem from bootstrapvz.common import task_groups +from bootstrapvz.common.tasks import apt, folder, filesystem +from bootstrapvz.common.tools import rel_path import tasks.commands import tasks.image def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) + schema_path = rel_path(__file__, 'manifest-schema.yml') validator(data, schema_path) diff --git a/bootstrapvz/providers/ec2/__init__.py b/bootstrapvz/providers/ec2/__init__.py index 89b1958..6b53e9d 100644 --- a/bootstrapvz/providers/ec2/__init__.py +++ b/bootstrapvz/providers/ec2/__init__.py @@ -9,19 +9,13 @@ import tasks.boot import tasks.network import tasks.initd import tasks.tuning -from bootstrapvz.common.tasks import volume -from bootstrapvz.common.tasks import filesystem -from bootstrapvz.common.tasks import boot -from bootstrapvz.common.tasks import grub -from bootstrapvz.common.tasks import initd -from bootstrapvz.common.tasks import loopback -from bootstrapvz.common.tasks import kernel -from bootstrapvz.common.tasks import apt +from bootstrapvz.common.tasks import apt, boot, filesystem, grub, initd +from bootstrapvz.common.tasks import kernel, loopback, volume +from bootstrapvz.common.tools import rel_path def validate_manifest(data, validator, error): - import os.path - validator(data, os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) + validator(data, rel_path(__file__, 'manifest-schema.yml')) from bootstrapvz.common.bytes import Bytes if data['volume']['backing'] == 'ebs': @@ -33,7 +27,7 @@ def validate_manifest(data, validator, error): msg = ('The volume size must be a multiple of 1GiB when using EBS backing') error(msg, ['volume', 'partitions']) else: - validator(data, os.path.join(os.path.dirname(__file__), 'manifest-schema-s3.yml')) + validator(data, rel_path(__file__, 'manifest-schema-s3.yml')) bootloader = data['system']['bootloader'] virtualization = data['provider']['virtualization'] diff --git a/bootstrapvz/providers/ec2/tasks/__init__.py b/bootstrapvz/providers/ec2/tasks/__init__.py index 494ec79..9026602 100644 --- a/bootstrapvz/providers/ec2/tasks/__init__.py +++ b/bootstrapvz/providers/ec2/tasks/__init__.py @@ -1,3 +1,3 @@ -import os.path +from bootstrapvz.common.tools import rel_path -assets = os.path.normpath(os.path.join(os.path.dirname(__file__), '../assets')) +assets = rel_path(__file__, '../assets') diff --git a/bootstrapvz/providers/ec2/tasks/ami.py b/bootstrapvz/providers/ec2/tasks/ami.py index bf5e2c9..1c5fe99 100644 --- a/bootstrapvz/providers/ec2/tasks/ami.py +++ b/bootstrapvz/providers/ec2/tasks/ami.py @@ -1,7 +1,7 @@ from bootstrapvz.base import Task from bootstrapvz.common import phases from bootstrapvz.common.exceptions import TaskError -from bootstrapvz.common.tools import log_check_call +from bootstrapvz.common.tools import log_check_call, rel_path from ebs import Snapshot from bootstrapvz.common.tasks import workspace import connection @@ -116,7 +116,7 @@ class RegisterAMI(Task): registration_params['virtualization_type'] = 'hvm' else: registration_params['virtualization_type'] = 'paravirtual' - akis_path = os.path.join(os.path.dirname(__file__), 'ami-akis.yml') + akis_path = rel_path(__file__, 'ami-akis.yml') from bootstrapvz.common.tools import config_get registration_params['kernel_id'] = config_get(akis_path, [info._ec2['region'], info.manifest.system['architecture']]) diff --git a/bootstrapvz/providers/ec2/tasks/packages.py b/bootstrapvz/providers/ec2/tasks/packages.py index 8aabb4e..f416765 100644 --- a/bootstrapvz/providers/ec2/tasks/packages.py +++ b/bootstrapvz/providers/ec2/tasks/packages.py @@ -9,9 +9,10 @@ class DefaultPackages(Task): @classmethod def run(cls, info): + from bootstrapvz.common.tools import rel_path info.packages.add('file') # Needed for the init scripts - kernel_packages_path = os.path.join(os.path.dirname(__file__), 'packages-kernels.yml') + kernel_packages_path = rel_path(__file__, 'packages-kernels.yml') from bootstrapvz.common.tools import config_get kernel_package = config_get(kernel_packages_path, [info.manifest.release.codename, info.manifest.system['architecture']]) diff --git a/bootstrapvz/providers/gce/__init__.py b/bootstrapvz/providers/gce/__init__.py index 605441b..d635f00 100644 --- a/bootstrapvz/providers/gce/__init__.py +++ b/bootstrapvz/providers/gce/__init__.py @@ -6,20 +6,13 @@ import tasks.image import tasks.initd import tasks.host import tasks.packages -from bootstrapvz.common.tasks import apt -from bootstrapvz.common.tasks import boot -from bootstrapvz.common.tasks import image -from bootstrapvz.common.tasks import loopback -from bootstrapvz.common.tasks import initd -from bootstrapvz.common.tasks import ssh -from bootstrapvz.common.tasks import volume -from bootstrapvz.common.tasks import grub +from bootstrapvz.common.tasks import apt, boot, image, loopback, initd +from bootstrapvz.common.tasks import ssh, volume, grub def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/providers/gce/tasks/packages.py b/bootstrapvz/providers/gce/tasks/packages.py index 1d4907a..54e2061 100644 --- a/bootstrapvz/providers/gce/tasks/packages.py +++ b/bootstrapvz/providers/gce/tasks/packages.py @@ -1,8 +1,7 @@ from bootstrapvz.base import Task from bootstrapvz.common import phases from bootstrapvz.common.tasks import packages -from bootstrapvz.common.tools import config_get -import os +from bootstrapvz.common.tools import config_get, rel_path class DefaultPackages(Task): @@ -29,7 +28,7 @@ class DefaultPackages(Task): info.packages.add('sudo') info.packages.add('uuid-runtime') - kernel_packages_path = os.path.join(os.path.dirname(__file__), 'packages-kernels.yml') + kernel_packages_path = rel_path(__file__, 'packages-kernels.yml') kernel_package = config_get(kernel_packages_path, [info.manifest.release.codename, info.manifest.system['architecture']]) info.packages.add(kernel_package) diff --git a/bootstrapvz/providers/kvm/__init__.py b/bootstrapvz/providers/kvm/__init__.py index b056676..54be46a 100644 --- a/bootstrapvz/providers/kvm/__init__.py +++ b/bootstrapvz/providers/kvm/__init__.py @@ -1,15 +1,11 @@ from bootstrapvz.common import task_groups import tasks.packages -from bootstrapvz.common.tasks import image -from bootstrapvz.common.tasks import loopback -from bootstrapvz.common.tasks import initd -from bootstrapvz.common.tasks import ssh +from bootstrapvz.common.tasks import image, loopback, initd, ssh def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/providers/kvm/tasks/packages.py b/bootstrapvz/providers/kvm/tasks/packages.py index 1dd20ec..9a4d87b 100644 --- a/bootstrapvz/providers/kvm/tasks/packages.py +++ b/bootstrapvz/providers/kvm/tasks/packages.py @@ -8,9 +8,8 @@ class DefaultPackages(Task): @classmethod def run(cls, info): - import os.path - kernel_packages_path = os.path.join(os.path.dirname(__file__), 'packages-kernels.yml') - from bootstrapvz.common.tools import config_get + from bootstrapvz.common.tools import config_get, rel_path + kernel_packages_path = rel_path(__file__, 'packages-kernels.yml') kernel_package = config_get(kernel_packages_path, [info.manifest.release.codename, info.manifest.system['architecture']]) info.packages.add(kernel_package) diff --git a/bootstrapvz/providers/oracle/__init__.py b/bootstrapvz/providers/oracle/__init__.py index dba4da0..315810f 100644 --- a/bootstrapvz/providers/oracle/__init__.py +++ b/bootstrapvz/providers/oracle/__init__.py @@ -1,8 +1,5 @@ from bootstrapvz.common import task_groups -from bootstrapvz.common.tasks import image -from bootstrapvz.common.tasks import loopback -from bootstrapvz.common.tasks import ssh -from bootstrapvz.common.tasks import volume +from bootstrapvz.common.tasks import image, loopback, ssh, volume import tasks.api import tasks.image import tasks.network @@ -10,8 +7,8 @@ import tasks.packages def validate_manifest(data, validator, error): - import os.path - validator(data, os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) keys = ['username', 'password', 'identity-domain'] if 'credentials' in data['provider']: diff --git a/bootstrapvz/providers/oracle/tasks/packages.py b/bootstrapvz/providers/oracle/tasks/packages.py index 66eb150..6644e73 100644 --- a/bootstrapvz/providers/oracle/tasks/packages.py +++ b/bootstrapvz/providers/oracle/tasks/packages.py @@ -1,7 +1,6 @@ from bootstrapvz.base import Task from bootstrapvz.common import phases -from bootstrapvz.common.tools import config_get -import os.path +from bootstrapvz.common.tools import config_get, rel_path class DefaultPackages(Task): @@ -10,7 +9,7 @@ class DefaultPackages(Task): @classmethod def run(cls, info): - kernel_packages_path = os.path.join(os.path.dirname(__file__), 'packages-kernels.yml') + kernel_packages_path = rel_path(__file__, 'packages-kernels.yml') kernel_package = config_get(kernel_packages_path, [info.manifest.release.codename, info.manifest.system['architecture']]) info.packages.add(kernel_package) diff --git a/bootstrapvz/providers/virtualbox/__init__.py b/bootstrapvz/providers/virtualbox/__init__.py index 4e01b76..6a05ac9 100644 --- a/bootstrapvz/providers/virtualbox/__init__.py +++ b/bootstrapvz/providers/virtualbox/__init__.py @@ -6,9 +6,8 @@ from bootstrapvz.common.tasks import loopback def validate_manifest(data, validator, error): - import os.path - schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.yml')) - validator(data, schema_path) + from bootstrapvz.common.tools import rel_path + validator(data, rel_path(__file__, 'manifest-schema.yml')) def resolve_tasks(taskset, manifest): diff --git a/bootstrapvz/providers/virtualbox/tasks/guest_additions.py b/bootstrapvz/providers/virtualbox/tasks/guest_additions.py index 5bf848e..dfcf1dc 100644 --- a/bootstrapvz/providers/virtualbox/tasks/guest_additions.py +++ b/bootstrapvz/providers/virtualbox/tasks/guest_additions.py @@ -2,9 +2,10 @@ from bootstrapvz.base import Task from bootstrapvz.common import phases from bootstrapvz.common.tasks.packages import InstallPackages from bootstrapvz.common.exceptions import TaskError +from bootstrapvz.common.tools import rel_path import os -assets = os.path.normpath(os.path.join(os.path.dirname(__file__), '../assets')) +assets = rel_path(__file__, '../assets') class CheckGuestAdditionsPath(Task): diff --git a/bootstrapvz/providers/virtualbox/tasks/packages.py b/bootstrapvz/providers/virtualbox/tasks/packages.py index 07ce1b6..16d8eeb 100644 --- a/bootstrapvz/providers/virtualbox/tasks/packages.py +++ b/bootstrapvz/providers/virtualbox/tasks/packages.py @@ -8,9 +8,8 @@ class DefaultPackages(Task): @classmethod def run(cls, info): - import os.path - kernel_packages_path = os.path.join(os.path.dirname(__file__), 'packages-kernels.yml') - from bootstrapvz.common.tools import config_get + from bootstrapvz.common.tools import config_get, rel_path + kernel_packages_path = rel_path(__file__, 'packages-kernels.yml') kernel_package = config_get(kernel_packages_path, [info.manifest.release.codename, info.manifest.system['architecture']]) info.packages.add(kernel_package) diff --git a/bootstrapvz/remote/build_servers/__init__.py b/bootstrapvz/remote/build_servers/__init__.py index 25a59b7..f62e6f4 100644 --- a/bootstrapvz/remote/build_servers/__init__.py +++ b/bootstrapvz/remote/build_servers/__init__.py @@ -2,9 +2,9 @@ def pick_build_server(build_servers, manifest, preferences={}): # Validate the build servers list - from bootstrapvz.common.tools import load_data - import os.path - schema = load_data(os.path.normpath(os.path.join(os.path.dirname(__file__), 'build-servers-schema.yml'))) + from bootstrapvz.common.tools import load_data, rel_path + + schema = load_data(rel_path(__file__, 'build-servers-schema.yml')) import jsonschema jsonschema.validate(build_servers, schema)