%PDF- %PDF-
Direktori : /usr/lib/python2.7/site-packages/salt/modules/ |
Current File : //usr/lib/python2.7/site-packages/salt/modules/qemu_img.py |
# -*- coding: utf-8 -*- ''' Qemu-img Command Wrapper ======================== The qemu img command is wrapped for specific functions :depends: qemu-img ''' from __future__ import absolute_import, print_function, unicode_literals # Import python libs import os # Import salt libs import salt.utils.path def __virtual__(): ''' Only load if qemu-img is installed ''' if salt.utils.path.which('qemu-img'): return 'qemu_img' return (False, 'The qemu_img execution module cannot be loaded: the qemu-img binary is not in the path.') def make_image(location, size, fmt): ''' Create a blank virtual machine image file of the specified size in megabytes. The image can be created in any format supported by qemu CLI Example: .. code-block:: bash salt '*' qemu_img.make_image /tmp/image.qcow 2048 qcow2 salt '*' qemu_img.make_image /tmp/image.raw 10240 raw ''' if not os.path.isabs(location): return '' if not os.path.isdir(os.path.dirname(location)): return '' if not __salt__['cmd.retcode']( 'qemu-img create -f {0} {1} {2}M'.format( fmt, location, size), python_shell=False): return location return '' def convert(orig, dest, fmt): ''' Convert an existing disk image to another format using qemu-img CLI Example: .. code-block:: bash salt '*' qemu_img.convert /path/to/original.img /path/to/new.img qcow2 ''' cmd = ('qemu-img', 'convert', '-O', fmt, orig, dest) ret = __salt__['cmd.run_all'](cmd, python_shell=False) if ret['retcode'] == 0: return True else: return ret['stderr']