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
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
Use class inheritance for driver in case we need something other than
sqlite as time goes on.
SQLite is only 10% larger than the custom format used with osdk. When
compressed the SQLite manifest only fractionally larger than osdk. The
time it takes to generate and process is about 2x longer. However, the
benefit we get from using common contructs (sqlite) and tracking and
changing the manifest schema is enough for me to think this is right
way to proceed.
To generate a manifest with 2^24 objects (64TB disk) run:
tools/generate_manifest.py --backupsize 64000 --manifest /pathtosave/manifest
This will generate a 809MB file
Co-Authored-By: Sam Yaple <sam@yaple.net>
Change-Id: Ic431bfa52b6fcaeb1c6a64cf270cbb36c496335e
This reads the manifest. Its more based on osdk.py that I initially
thought it would be. But hopefully I have cleaned it up a good bit.
Add tool to generate manifest
To generate a manifest with 2^24 objects (64TB for 4MB objects) run:
tools/generate_manifest.py --backupsize 64000 --manifest /pathtosave/manifest
Change-Id: I09a8fb64c0d4b8e4b4b436cca44b57bec87116cd