bootstrap-vz/bootstrapvz/plugins/vagrant/__init__.py
Anders Ingemann 7e6a7d4267
Merge pull request #471 from CMeza99/pylint+imports
Pylint code clean up
2018-06-07 22:09:33 +02:00

36 lines
1.5 KiB
Python

from . import tasks
from bootstrapvz.common import task_groups
from bootstrapvz.common.tasks import image, ssh, volume
from bootstrapvz.common.tools import rel_path
def validate_manifest(data, validator, error):
validator(data, rel_path(__file__, 'manifest-schema.yml'))
vagrant_provider = data['plugins']['vagrant'].get('provider', 'virtualbox')
if vagrant_provider == 'virtualbox' and data['volume']['backing'] != 'vmdk':
error('Virtualbox vagrant boxes support vmdk images only', ['plugins', 'vagrant', 'provider'])
if vagrant_provider == 'libvirt' and data['volume']['backing'] != 'qcow2':
error('Libvirt vagrant boxes support qcow2 images only', ['plugins', 'vagrant', 'provider'])
def resolve_tasks(taskset, manifest):
taskset.update(task_groups.ssh_group)
taskset.discard(image.MoveImage)
taskset.discard(ssh.DisableSSHPasswordAuthentication)
taskset.update([tasks.CheckBoxPath,
tasks.CreateVagrantBoxDir,
tasks.AddPackages,
tasks.CreateVagrantUser,
tasks.PasswordlessSudo,
tasks.SetRootPassword,
tasks.AddInsecurePublicKey,
tasks.PackageBox,
tasks.RemoveVagrantBoxDir,
volume.Delete,
])
def resolve_rollback_tasks(taskset, manifest, completed, counter_task):
counter_task(taskset, tasks.CreateVagrantBoxDir, tasks.RemoveVagrantBoxDir)