summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve logging of virt-sandboxRadostin Stoyanov2017-06-281-4/+2
|
* Raise exception if file source is invalidRadostin Stoyanov2017-06-281-0/+4
|
* Improve logging of executed processesRadostin Stoyanov2017-06-281-5/+7
| | | | | | Improve readability of logged messages by separating the prefix from the message with new line and raise CalledProcessError if the exit code is non-zero.
* setup: update project URLCédric Bosdonnat2017-06-251-1/+1
| | | | | The project is now live on github's virt-manager/virt-bootstrap, reflect this change in the setup.py
* Show error if destination path is not folderRadostin Stoyanov2017-06-191-1/+5
|
* Add "debug" and "quiet" flagsRadostin Stoyanov2017-06-191-0/+10
| | | | | | | | | | | | | | These flags aim to control the logging level [1] of virt-bootstrap. Default = INFO (Confirmation that things are working as expected) --debug = DEBUG (Detailed information, typically of interest only when diagnosing problems) --quiet = WARNING (An indication that something unexpected happened, or indicative of some problem in the near future) [1] https://docs.python.org/3/howto/logging.html
* Log executed process callsRadostin Stoyanov2017-06-191-9/+26
| | | | | Log executed commands as well as their stdout/stderr for easier debugging.
* Add automated check for code styleRadostin Stoyanov2017-06-194-53/+589
| | | | | | | | To run the code style checks, run `python setup.py pylint` Only errors could be reported using the option --errors-only. Could be useful to run in interactive git rebase Fix the reported pylint errors as well
* Improve READMECédric Bosdonnat2017-06-161-0/+9
| | | | Add the lastest dependencies and a description of what the tool does.
* Remove useless shebangCédric Bosdonnat2017-06-161-1/+0
|
* Fix file headers for GPLv3Cédric Bosdonnat2017-06-162-14/+10
| | | | | Using the header as mentioned in the GPLv3 text avoids rpmlint to complain about bad FSF address.
* Use setuptools (setup.py) for installationRadostin Stoyanov2017-06-162-0/+57
| | | | | | | | | | | | | | | | | - Rename "virt-bootstrap.py" to "virt_bootstrap.py" to avoid installation issues. Reference: https://stackoverflow.com/a/30284007 Install: $ sudo ./setup.py install Clean: $ sudo ./setup.py clean --all Uninstall: $ sudo pip uninstall virt-bootstrap Or: $ sudo ./setup.py install --record installed_files.txt $ cat installed_files.txt | xargs sudo rm -rf
* Change shebang to use /usr/bin/envRadostin Stoyanov2017-06-162-2/+2
| | | | | | | | When python is not /usr/bin/python but something else that is still found by your system, /usr/bin/env still finds it. :x Reference: https://mail.python.org/pipermail/python-list/2012-September/631967.html
* Move source files in src/virtBootstrapRadostin Stoyanov2017-06-163-0/+0
| | | | Preparatory commit before setup.py introduction.
* Add support for layer extraction in qcow2 imagesRadostin Stoyanov2017-06-162-25/+159
| | | | | | | | | Add support for extracting image layers in qcow2 format. Avoid requirement for root privileges by using libguestfs. - Use "qemu-img" to create backing chain which links the layers. - Use "virt-format" to format the qcow2 image. - Use "virt-tar-in" to extract each tar archives in the qcow2 image.
* Extract tar archives safely using virt-sandboxRadostin Stoyanov2017-06-161-9/+29
| | | | | | | | | This is used to prevent the possibility to create files outside of the destination path. For example, members that have absolute file names starting with "/" or file names with two dots "..". Use qemu://session to avoid requirement for root privileges.
* Cache downloaded container imagesRadostin Stoyanov2017-06-072-9/+34
| | | | | Store container images downloaded with skopeo to avoid re-download. Allow user to disable this option by passing "--no-cache" parameter
* Improve code fomattingRadostin Stoyanov2017-06-072-27/+39
| | | | | Follow PEP8 using pycodestyle https://pypi.python.org/pypi/pycodestyle/
* File source fixesCédric Bosdonnat2017-04-141-3/+3
|
* Remove trailing slash after docker imageRadostin Stoyanov2017-04-141-3/+4
| | | | | Skopeo does not accept any trailing slash at the end of the url. See https://github.com/projectatomic/skopeo#copying-images.
* Fix error: `subprocess.CalledProcessError: CommandRadostin Stoyanov2017-04-141-1/+1
| | | | | | | | | | | | | | | | Fix the following failing skopeo call: 'skopeo copy docker://ubuntu:latest/ dir://tmp/tmpyFFP9Wvirt-bootstrap' The function `tempfile.mkdtemp()` returns full path and do not need additional slash at the beginning. Thus the destination path is incorrect. `dir://tmp/tmpyFFP9Wvirt-bootstrap` -----^ it should be: `dir:/tmp/tmpyFFP9Wvirt-bootstrap` -----^
* Handle error case when creating destination folderRadostin Stoyanov2017-04-141-1/+2
| | | | | | `OSError: [Errno 17] File exists: ...` error occurs when trying to create the destination directory specified from the user without checking if it already exists.
* Python 3/2 compatibility: gettext.install unicode flagRadostin Stoyanov2017-04-141-1/+0
| | | | | | | | The unicode flag is passed to `gettext.install` has default value `False` in Python2. [1] In Python3 this flag does not exists. [2] [1] https://docs.python.org/2/library/gettext.html#gettext.NullTranslations.install [2] https://docs.python.org/3.5/library/gettext.html#gettext.NullTranslations.install
* Python 3/2 compatibility: use print with bracketsRadostin Stoyanov2017-04-141-2/+1
| | | | | | | | The `print` function in Python3 is used with brackets.[1] This syntax is also accepted in Python2.[2] [1] https://docs.python.org/3.5/library/functions.html#print [2] https://docs.python.org/2.7/library/functions.html#print
* Python 3/2 compatibility: exceptions handlingRadostin Stoyanov2017-04-141-2/+2
| | | | | | | | Examine an exception during exception handling in Python3 is done with 'as' instead of comma. This approach works in Python2 as well. https://wiki.python.org/moin/HandlingExceptions
* Initial commitCédric Bosdonnat2017-03-075-0/+904