mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-22 09:50:37 +00:00
Move AddBackports
to common.tasks.apt
The `AddBackports` task is needed by many different plugins, so is better if it is available as a common task. This closes #96.
This commit is contained in:
parent
210999ff5d
commit
8f43ee1dc7
7 changed files with 30 additions and 38 deletions
|
@ -2,9 +2,26 @@ from bootstrapvz.base import Task
|
|||
from .. import phases
|
||||
from ..tools import log_check_call
|
||||
import locale
|
||||
import logging
|
||||
import os
|
||||
|
||||
|
||||
class AddBackports(Task):
|
||||
description = 'Adding backports to the apt sources'
|
||||
phase = phases.preparation
|
||||
|
||||
@classmethod
|
||||
def run(cls, info):
|
||||
if info.source_lists.target_exists('{system.release}-backports'):
|
||||
msg = ('{system.release}-backports target already exists').format(**info.manifest_vars)
|
||||
logging.getLogger(__name__).info(msg)
|
||||
elif info.release_codename == 'sid':
|
||||
logging.getLogger(__name__).info('There are no backports for sid/unstable')
|
||||
else:
|
||||
info.source_lists.add('backports', 'deb {apt_mirror} {system.release}-backports main')
|
||||
info.source_lists.add('backports', 'deb-src {apt_mirror} {system.release}-backports main')
|
||||
|
||||
|
||||
class AddManifestSources(Task):
|
||||
description = 'Adding sources from the manifest'
|
||||
phase = phases.preparation
|
||||
|
|
|
@ -7,14 +7,14 @@ def validate_manifest(data, validator, error):
|
|||
|
||||
|
||||
def resolve_tasks(taskset, manifest):
|
||||
import tasks
|
||||
import bootstrapvz.providers.ec2.tasks.initd as initd_ec2
|
||||
from bootstrapvz.common.tasks import apt
|
||||
from bootstrapvz.common.tasks import initd
|
||||
from bootstrapvz.common.tasks import ssh
|
||||
|
||||
from bootstrapvz.common.tools import get_codename
|
||||
if get_codename(manifest.system['release']) == 'wheezy':
|
||||
taskset.add(tasks.AddBackports)
|
||||
taskset.add(apt.AddBackports)
|
||||
|
||||
taskset.update([tasks.SetMetadataSource,
|
||||
tasks.AddCloudInitPackages,
|
||||
|
|
|
@ -7,24 +7,10 @@ import logging
|
|||
import os.path
|
||||
|
||||
|
||||
class AddBackports(Task):
|
||||
description = 'Adding backports to the apt sources'
|
||||
phase = phases.preparation
|
||||
|
||||
@classmethod
|
||||
def run(cls, info):
|
||||
if info.source_lists.target_exists('{system.release}-backports'):
|
||||
msg = ('{system.release}-backports target already exists').format(**info.manifest_vars)
|
||||
logging.getLogger(__name__).info(msg)
|
||||
else:
|
||||
info.source_lists.add('backports', 'deb {apt_mirror} {system.release}-backports main')
|
||||
info.source_lists.add('backports', 'deb-src {apt_mirror} {system.release}-backports main')
|
||||
|
||||
|
||||
class AddCloudInitPackages(Task):
|
||||
description = 'Adding cloud-init package and sudo'
|
||||
phase = phases.preparation
|
||||
predecessors = [apt.AddDefaultSources, AddBackports]
|
||||
predecessors = [apt.AddDefaultSources, apt.AddBackports]
|
||||
|
||||
@classmethod
|
||||
def run(cls, info):
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
import tasks
|
||||
import os.path
|
||||
import tasks
|
||||
from bootstrapvz.common.tasks import apt
|
||||
from bootstrapvz.common.tools import get_codename
|
||||
|
||||
|
||||
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)
|
||||
from bootstrapvz.common.tools import get_codename
|
||||
if get_codename(data['system']['release']) == 'wheezy':
|
||||
# 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)
|
||||
|
@ -15,6 +16,8 @@ def validate_manifest(data, validator, error):
|
|||
|
||||
|
||||
def resolve_tasks(taskset, manifest):
|
||||
if get_codename(manifest.system['release']) == 'wheezy':
|
||||
taskset.add(apt.AddBackports)
|
||||
taskset.add(tasks.AddDockerDeps)
|
||||
taskset.add(tasks.AddDockerBinary)
|
||||
taskset.add(tasks.AddDockerInit)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import tasks
|
||||
|
||||
|
||||
def resolve_tasks(taskset, manifest):
|
||||
from bootstrapvz.common.tasks import apt
|
||||
from bootstrapvz.common.tools import get_codename
|
||||
if get_codename(manifest.system['release']) == 'wheezy':
|
||||
taskset.add(tasks.AddBackports)
|
||||
taskset.add(apt.AddBackports)
|
||||
taskset.update([tasks.AddONEContextPackage])
|
||||
|
|
|
@ -3,25 +3,10 @@ from bootstrapvz.common.tasks import apt
|
|||
from bootstrapvz.common import phases
|
||||
|
||||
|
||||
class AddBackports(Task):
|
||||
description = 'Adding backports to the apt sources'
|
||||
phase = phases.preparation
|
||||
|
||||
@classmethod
|
||||
def run(cls, info):
|
||||
if info.source_lists.target_exists('{system.release}-backports'):
|
||||
import logging
|
||||
msg = ('{system.release}-backports target already exists').format(**info.manifest_vars)
|
||||
logging.getLogger(__name__).info(msg)
|
||||
else:
|
||||
info.source_lists.add('backports', 'deb {apt_mirror} {system.release}-backports main')
|
||||
info.source_lists.add('backports', 'deb-src {apt_mirror} {system.release}-backports main')
|
||||
|
||||
|
||||
class AddONEContextPackage(Task):
|
||||
description = 'Adding the OpenNebula context package'
|
||||
phase = phases.preparation
|
||||
predecessors = [apt.AddDefaultSources, AddBackports]
|
||||
predecessors = [apt.AddDefaultSources, apt.AddBackports]
|
||||
|
||||
@classmethod
|
||||
def run(cls, info):
|
||||
|
|
|
@ -5,6 +5,7 @@ import tasks.configuration
|
|||
import tasks.image
|
||||
import tasks.host
|
||||
import tasks.packages
|
||||
from bootstrapvz.common.tasks import apt
|
||||
from bootstrapvz.common.tasks import loopback
|
||||
from bootstrapvz.common.tasks import initd
|
||||
from bootstrapvz.common.tasks import ssh
|
||||
|
@ -25,7 +26,7 @@ def validate_manifest(data, validator, error):
|
|||
def resolve_tasks(taskset, manifest):
|
||||
taskset.update(task_groups.get_standard_groups(manifest))
|
||||
|
||||
taskset.update([bootstrapvz.plugins.cloud_init.tasks.AddBackports,
|
||||
taskset.update([apt.AddBackports,
|
||||
loopback.AddRequiredCommands,
|
||||
loopback.Create,
|
||||
tasks.apt.SetPackageRepositories,
|
||||
|
|
Loading…
Add table
Reference in a new issue