bootstrap-vz/plugins/image_commands/image_commands.py

26 lines
835 B
Python

from base import Task
from common import phases
import os
from common.tasks.packages import ImagePackages
from common.tasks.host import CheckPackages
from common.tasks.filesystem import MountVolume
class ImageExecuteCommand(Task):
description = 'Execute command in the image'
phase = phases.system_modification
def run(self, info):
from common.tools import log_check_call
for user_cmd in info.manifest.plugins['image_commands']['commands']:
command = []
for elt in user_cmd:
fragment = elt.format(
root=info.root,
image=info.loopback_file,
filesystem=info.manifest.volume['filesystem'])
command.append(fragment)
log_check_call(command)