This implementation of the API is no longer tested or supported. We
will be using a new one based on flask
This reverts commit a5f99317ac.
Change-Id: I7e1a3f0f341685b2455a4cdfeb0b13b7fba5bfc0
Foundation for ekko-api, ported over from the Ironic project.
The goal here was to copy enough to give a solid foundation that
conforms to the "OpenStack way", without a lot of extra frills that we
either may not need right away, or makes it harder see what's going on
starting out.
After installation the service can be started via 'ekko-api', which
listens on port 6800 by default. This was chosen from the list of
unassigned ports at
http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt
There are still plenty of TODO's, primarily keystone integration and
config file generation. Foundations for these are here but completely
untested as of this commit.
Change-Id: If136a3bb66949ef710d741eaf3691f36f7b60692
As per IRC conversation, backup should be image so it can mean backup
or restore since they will basically be inverses of each other.
Change-Id: Ic0d14cc7bfa9071bf45d70b0731e02c106b58277
This code will be the basis of writing out the data to the backing
storage with the initial driver being on disk storage.
Additionally move compression/encryption code to storage rather than
backup module
./backup.py --backup /dev/loop0 --manifest mani --location /path/to/store/backup/
Change-Id: I22d291ea3ac03b4d5ddb447915c972db4cdc195d
Updates backup.py and adds dump_manifest.py that will print out all
hashes from the underlying blocks. This can be replicated with a
simple python script as follows:
# dump_disk.py
import hashlib
with open('/dev/loop0', 'rb') as f:
while True:
data = f.read(4*1024**2)
if not data:
break
print(hashlib.sha1(data).hexdigest())
python dump_disk.py | grep -v 2bccbd2f38f15c13eb7d5a89fd9d85f595e23bc3
NOTE: 2bccbd2f38f15c13eb7d5a89fd9d85f595e23bc3 == segment of all zero
To perform backup and dump info from manifest (which will match
the output of the above script):
tools/backup.py --backup /dev/loop0 --manifest mani
tools/dump_manifest.py --manifest mani
The backup works on both files and block devices with the raw driver.
Further drivers will be implemented (such as qcow2 and rbd) as time
goes on.
Adjust sectors to equal number of bytes on size instead.
Change-Id: I976f02a27bc13b5774a6088799ca61f65ec04f14
I don't expect these to be plugable, mostly just wrapping my head
around stevedores codebase.
Of note, because of the stevedore-ness, we _must_ install ekko to use
it. No longer will it work in the local dir, it must be installed on
the system (or in a venv)
Change-Id: I5037f6877e623614ef7ecf991b0009f49824ec0a