bootstrap-vz/bootstrapvz/plugins/docker_daemon/__init__.py
Johan Euphrosine 6fda70a237 plugins/docker_daemon: initial import
A plugin that install the docker daemon w/ an init script.
2014-05-17 12:37:06 -03:00

23 lines
1,003 B
Python

import tasks
import os.path
from bootstrapvz.common.exceptions import ManifestError
def validate_manifest(data, validator, error):
schema_path = os.path.normpath(os.path.join(os.path.dirname(__file__), 'manifest-schema.json'))
try:
validator(data, schema_path)
except ManifestError, e:
error('docker_daemon manifest validation failed: "%s"' % e.message, e.json_path)
if data.get('system', {}).get('release', None) in ['wheezy', 'stable']:
# prefs is a generator of apt preferences across files in the manifest
prefs = (item for vals in data.get('packages', {}).get('preferences', {}).values() for item in vals)
if not any('linux-image' in item['package'] and 'wheezy-backports' in item['pin'] for item in prefs):
msg = 'The backports kernel is required for the docker daemon to function properly'
error(msg, ['packages', 'preferences'])
def resolve_tasks(taskset, manifest):
taskset.add(tasks.AddDockerDeps)
taskset.add(tasks.AddDockerBinary)
taskset.add(tasks.AddDockerInit)