Commit Graph

8 Commits

Author SHA1 Message Date
SamYaple 34942d3aeb Revert "Add bare bones ekko-api"
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
2016-06-15 20:44:51 +00:00
Paul Bourke a5f99317ac Add bare bones ekko-api
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
2016-02-08 01:07:34 +00:00
SamYaple 622140b2ba Add base for compression and encryption
nopp, zlib and lzma compression implemented, but not configurable yet

noop encryption implemented

Change-Id: Id649974c3b0bb3852746fd7cdbf578768d7090c7
2016-01-20 23:23:24 +00:00
SamYaple fa9d060094 Rename backup to image
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
2016-01-19 19:23:04 +00:00
SamYaple 2e389f1ddb Add storage code
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
2016-01-19 19:14:23 +00:00
SamYaple 401c05413c Add initial backup code
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
2016-01-16 05:54:23 +00:00
SamYaple e2ee32ed82 stevedoreize the drivers
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
2016-01-13 21:31:25 +00:00
SamYaple fdfb83197c Initial Commit
Change-Id: Iaa4726694388e24e944a37da52c851bba1ead1ce
2016-01-04 16:28:29 +00:00