================================================
This command line utility can be used to backup/restore OpenStack volume backed server instances using Cinder backup service.
Screenshot
----------
.. image:: imgs/osvolbackup_test.png
:target: imgs/osvolbackup_test.png
:alt: Screenshot
Features
--------
* Live instance backup
* See ``consistency restrictions`` below
* Embed essential metadata in backup description
* Export backup volume metadata to file
Requirements
------------
* Python2.7+ and the OpenStack API libraries
* OpenStack environment with volume backed server instances
* OS environment variables set for the admin project ``(source stackrc)``
* `Cinder backup service <https://docs.openstack.org/cinder/queens/configuration/block-storage/backup-drivers.html>`_ properly configured
* Tested on [RedHat Open Stack Platform 13], should work on other OpenStack Queens based distributions
:warning: Live Backup Consistency Restrictions :warning:
--------------------------------------------------------
Live backup consistency of openstack images is dependent in the following conditions:
#. When using kvm/libvirt, guests must have the `Qemu guest agent <https://wiki.libvirt.org/page/Qemu_guest_agent>`_ installed, backups will succeed if the agent is not available, consistency will depend in the guest IO activity during the snapshot»
#. Nova API create image function does `not wait for snapshot creation <https://github.com/openstack/nova/blob/master/nova/compute/api.py#L3094>`_ before unfreezing the I/O, consistency will depend on the block device driver snapshot technology, it may depend on the guest IO activity during the snapshot creation
How to install
--------------
.. code-block:: sh
pip install --user osvolbackup
How to run from source
----------------------
.. code-block:: sh
git clone https://github.com/CCSGroupInternational/osvolbackup.git
cd osvolbackup.git
pip install --user -rrequirements.txt
python -m osvolbackup server «server_name»
How to test:
------------
.. code-block:: sh
# Create a test server
export SERVER_ID=test_server
tests/create-test-server.sh
# Create the backup
VERBOSE=1 python -m osvolbackup server ${SERVER_ID}
# Delete the test instance
openstack server delete ${SERVER_ID}
openstack volume delete ${SERVER_ID}_boot
# We use the instance uuid because the server name was deleted
INSTANCE_ID=$(openstack volume backup list | grep ${SERVER_ID}|cut -d" " -f4)
# Restore with the original config
VERBOSE=1 python -m osvolbackup server $INSTANCE_ID --restore last
# Restore with a different network config
VERBOSE=1 python -m osvolbackup server $INSTANCE_ID --restore last --network net1:10.3.1.99
Copyright
---------
© 2019 CCS Group International, distributed under the `Apache-2 license <LICENSE>`_.
Metadata
Release files for osvolbackup 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| osvolbackup-0.0.2.tar.gz | 7.5 kB | Without provenance | Details for osvolbackup-0.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| osvolbackup-0.0.2-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details for osvolbackup-0.0.2-py2.py3-none-any.whl |
Total release size: 17.9 kB
Release files / osvolbackup-0.0.2.tar.gz
| Download URL | osvolbackup-0.0.2.tar.gz |
|---|---|
| Size | 7.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa3e246ef03d163726d9657826528e06002dc55958a6f021bcafa0094b4eebb1
|
|
BLAKE2b-256 checksum How to use checksums |
e875e89d061ec2a77afbcb0d454faa49c1c21049b299cf29c2a59e4804664ea6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.14.2 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.5
|
Release files / osvolbackup-0.0.2-py2.py3-none-any.whl
| Download URL | osvolbackup-0.0.2-py2.py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
ee14673d2ef5531a3b40ade1e1d0b896a525bcbed1b130de0e097444d8d1dfdb
|
|
BLAKE2b-256 checksum How to use checksums |
cea8cbe767aa161a923434c253985f253ead0723dceaff99e763d0c3db1ef6c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.14.2 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.5
|
Security for osvolbackup 0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.