From acbc7aefae38798e5cacd95f72521400d87fc669 Mon Sep 17 00:00:00 2001 From: Fabrizio Vanni Date: Tue, 24 Mar 2015 17:15:20 +0000 Subject: [PATCH] Freezer API First implementation of the freezer API. Slightly more than a skeleton with basic functionality Change-Id: Iae04affea3aa0f4a943599b528df49d9d4a5b845 Implements: blueprint freezer-api-first-rel --- .coveragerc | 3 + README.rst | 132 ++++++++++++ etc/freezer-api.conf | 19 ++ freezer_api/__init__.py | 0 freezer_api/api/__init__.py | 0 freezer_api/api/common/__init__.py | 0 freezer_api/api/common/middleware.py | 48 +++++ freezer_api/api/v1/__init__.py | 48 +++++ freezer_api/api/v1/backups.py | 74 +++++++ freezer_api/api/v1/homedoc.py | 52 +++++ freezer_api/api/versions.py | 43 ++++ freezer_api/cmd/__init__.py | 0 freezer_api/cmd/api.py | 93 +++++++++ freezer_api/common/__init__.py | 0 freezer_api/common/config.py | 43 ++++ freezer_api/common/exceptions.py | 83 ++++++++ freezer_api/common/log.py | 66 ++++++ freezer_api/common/utils.py | 68 ++++++ freezer_api/storage/__init__.py | 0 freezer_api/storage/driver.py | 57 +++++ freezer_api/storage/elastic.py | 110 ++++++++++ freezer_api/storage/simpledict.py | 69 ++++++ setup.cfg | 50 +++++ setup.py | 8 + specs/Freezer API spec.odt | Bin 0 -> 104350 bytes specs/Freezer API spec.pdf | Bin 0 -> 60823 bytes tests/__init__.py | 0 tests/common.py | 301 +++++++++++++++++++++++++++ tests/test_api.py | 46 ++++ tests/test_backups.py | 118 +++++++++++ tests/test_config.py | 0 tests/test_driver.py | 62 ++++++ tests/test_elastic.py | 124 +++++++++++ tests/test_homedoc.py | 39 ++++ tests/test_middleware.py | 62 ++++++ tests/test_simpledict.py | 0 tests/test_utils.py | 111 ++++++++++ tests/test_versions.py | 41 ++++ tox.ini | 33 +++ 39 files changed, 2003 insertions(+) create mode 100644 .coveragerc create mode 100644 README.rst create mode 100644 etc/freezer-api.conf create mode 100644 freezer_api/__init__.py create mode 100644 freezer_api/api/__init__.py create mode 100644 freezer_api/api/common/__init__.py create mode 100644 freezer_api/api/common/middleware.py create mode 100644 freezer_api/api/v1/__init__.py create mode 100644 freezer_api/api/v1/backups.py create mode 100644 freezer_api/api/v1/homedoc.py create mode 100644 freezer_api/api/versions.py create mode 100644 freezer_api/cmd/__init__.py create mode 100644 freezer_api/cmd/api.py create mode 100644 freezer_api/common/__init__.py create mode 100644 freezer_api/common/config.py create mode 100644 freezer_api/common/exceptions.py create mode 100644 freezer_api/common/log.py create mode 100644 freezer_api/common/utils.py create mode 100644 freezer_api/storage/__init__.py create mode 100644 freezer_api/storage/driver.py create mode 100644 freezer_api/storage/elastic.py create mode 100644 freezer_api/storage/simpledict.py create mode 100644 setup.cfg create mode 100644 setup.py create mode 100644 specs/Freezer API spec.odt create mode 100644 specs/Freezer API spec.pdf create mode 100644 tests/__init__.py create mode 100644 tests/common.py create mode 100644 tests/test_api.py create mode 100644 tests/test_backups.py create mode 100644 tests/test_config.py create mode 100644 tests/test_driver.py create mode 100644 tests/test_elastic.py create mode 100644 tests/test_homedoc.py create mode 100644 tests/test_middleware.py create mode 100644 tests/test_simpledict.py create mode 100644 tests/test_utils.py create mode 100644 tests/test_versions.py create mode 100644 tox.ini diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 00000000..6a58b9b9 --- /dev/null +++ b/.coveragerc @@ -0,0 +1,3 @@ +[run] +omit=*__init__.py + diff --git a/README.rst b/README.rst new file mode 100644 index 00000000..f712a178 --- /dev/null +++ b/README.rst @@ -0,0 +1,132 @@ +=========== +Freezer API +=========== + + +Installation +============ + +Install required packages +------------------------- + # pip install keystonemiddleware falcon + +Elasticsearch support:: + # pip install elasticsearch + + +Install freezer_api +------------------- + # git clone https://github.com/stackforge/freezer.git + # cd freezer/freezer_api && sudo python setup.py install + +this will install into /usr/local + + +edit config file +---------------- + # sudo vi /etc/freezer-api.conf + + +run simple instance +------------------- + # freezer-api + + +examples running using uwsgi +---------------------------- + # uwsgi --http :9090 --need-app --master --module freezer_api.cmd.api:application + + # uwsgi --https :9090,foobar.crt,foobar.key --need-app --master --module freezer_api.cmd.api:application + + +Concepts and definitions +======================== + +*hostname* is _probably_ going to be the host fqdn. + +*backup_id* +defined as "container_hostname_backupname_timestamp_level" uniquely +identifies a backup + +*backup_set* +defined as "container_hostname_backupname" identifies a group of related +backups which share the same container,hostname and backupname + +*backup_session* +is a group of backups which share container,hostname and backupname, but +are also related by dependency. + +*backup_session_id* +utilizes the timestamp of the first (level 0) backup in the session +It is identified by (container, hostname, backupname, timestamp-of-level-0) + + +API routes +========== + +General +------- +GET / List API version +GET /v1 JSON Home document, see http://tools.ietf.org/html/draft-nottingham-json-home-03 + +Backup metadata +--------------- +GET /v1/backups(?limit,marker) Lists backups +POST /v1/backups Creates backup entry + +GET /v1/backups/{backup_id} Get backup details +UPDATE /v1/backups/{backup_id} Updates the specified backup +DELETE /v1/backups/{backup_id} Deletes the specified backup + + +Data Structures +=============== + +Backup metadata structure +------------------------- +NOTE: sizes are in MB + +backup_metadata:= +{ + "container": string, + "host_name": string, # fqdn, client has to provide consistent information here ! + "backup_name": string, + "timestamp": int, + "level": int, + "backup_session": int, + "max_level": int, + "mode" : string, (fs mongo mysql) + "fs_real_path": string, + "vol_snap_path": string, + "total_broken_links" : int, + "total_fs_files" : int, + "total_directories" : int, + "backup_size_uncompressed" : int, + "backup_size_compressed" : int, + "total_backup_session_size" : int, + "compression_alg": string, (gzip bzip xz) + "encrypted": bool, + "client_os": string + "broken_links" : [string, string, string], + "excluded_files" : [string, string, string] + "cli": string, equivalent cli used when executing the backup ? + "version": string +} + + +The api wraps backup_metadata dictionary with some additional information. +It stores and returns the information provided in this form: + +{ + "backup_id": string # container_hostname_backupname_timestamp_level + "user_id": string, # owner of the backup metadata (OS X-User-Id, keystone provided) + "user_name": string # owner of the backup metadata (OS X-User-Name, keystone provided) + + "backup_metadata": { #--- actual backup_metadata provided + "container": string, + "host_name": string, + "backup_name": string, + "timestamp": int, + ... + } +} diff --git a/etc/freezer-api.conf b/etc/freezer-api.conf new file mode 100644 index 00000000..6e479b0a --- /dev/null +++ b/etc/freezer-api.conf @@ -0,0 +1,19 @@ +[DEFAULT] +verbose = false +use_syslogd = false +logging_file = freezer-api.log + + +[keystone_authtoken] +identity_uri = http://keystone:35357/ +auth_uri = http://keystone:5000/ +admin_user = admin +admin_password = secrete +admin_tenant_name = admin +include_service_catalog = False +delay_auth_decision = False + + +[storage] +db=elasticsearch +endpoint=http://localhost:9200 diff --git a/freezer_api/__init__.py b/freezer_api/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/freezer_api/api/__init__.py b/freezer_api/api/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/freezer_api/api/common/__init__.py b/freezer_api/api/common/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/freezer_api/api/common/middleware.py b/freezer_api/api/common/middleware.py new file mode 100644 index 00000000..f265c3a4 --- /dev/null +++ b/freezer_api/api/common/middleware.py @@ -0,0 +1,48 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== +""" + +import json +import falcon + + +class JSONTranslator(object): + + def process_request(self, req, resp): + if req.content_length in (None, 0): + # Nothing to do + return + + body = req.stream.read() + if not body: + raise falcon.HTTPBadRequest('Empty request body', + 'A valid JSON document is required.') + try: + req.context['doc'] = json.loads(body.decode('utf-8')) + + except (ValueError, UnicodeDecodeError): + raise falcon.HTTPError(falcon.HTTP_753, + 'Malformed JSON') + + def process_response(self, req, resp, resource): + if 'result' not in req.context: + return + + resp.body = json.dumps(req.context['result']) diff --git a/freezer_api/api/v1/__init__.py b/freezer_api/api/v1/__init__.py new file mode 100644 index 00000000..50914925 --- /dev/null +++ b/freezer_api/api/v1/__init__.py @@ -0,0 +1,48 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== +""" + +from freezer_api.api.v1 import backups +from freezer_api.api.v1 import homedoc + +VERSION = { + 'id': '1', + 'status': 'CURRENT', + 'updated': '2015-03-23T13:45:00', + 'links': [ + { + 'href': '/v1/', + 'rel': 'self' + } + ] +} + + +def public_endpoints(storage_driver): + return [ + ('/', + homedoc.Resource()), + + ('/backups', + backups.BackupsCollectionResource(storage_driver)), + + ('/backups/{backup_id}', + backups.BackupsResource(storage_driver)) + ] diff --git a/freezer_api/api/v1/backups.py b/freezer_api/api/v1/backups.py new file mode 100644 index 00000000..a2c7cc83 --- /dev/null +++ b/freezer_api/api/v1/backups.py @@ -0,0 +1,74 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== +""" + +import falcon +from freezer_api.common import exceptions + + +class BackupsCollectionResource(object): + """ + Handler for endpoint: /v1/backups + """ + def __init__(self, storage_driver): + self.db = storage_driver + + def on_get(self, req, resp): + # GET /v1/backups(?limit,marker) Lists backups + user_id = req.get_header('X-User-ID') + obj_list = self.db.get_backup_list(user_id=user_id) + req.context['result'] = {'backups': obj_list} + + def on_post(self, req, resp): + # POST /v1/backups Creates backup entry + try: + doc = req.context['doc'] + except KeyError: + raise exceptions.BadDataFormat( + message='Missing request body', + resp_body={'error': 'missing request body'}) + user_name = req.get_header('X-User-Name') + user_id = req.get_header('X-User-ID') + backup_id = self.db.add_backup( + user_id=user_id, user_name=user_name, data=doc) + resp.status = falcon.HTTP_201 + req.context['result'] = {'backup_id': backup_id} + + +class BackupsResource(object): + """ + Handler for endpoint: /v1/backups/{backup_id} + """ + def __init__(self, storage_driver): + self.db = storage_driver + + def on_get(self, req, resp, backup_id): + # GET /v1/backups/{backup_id} Get backup details + user_id = req.get_header('X-User-ID') + obj = self.db.get_backup(user_id=user_id, backup_id=backup_id) + req.context['result'] = obj + + def on_delete(self, req, resp, backup_id): + # DELETE /v1/backups/{backup_id} Deletes the specified backup + user_id = req.get_header('X-User-ID') + self.db.delete_backup( + user_id=user_id, backup_id=backup_id) + req.context['result'] = {'backup_id': backup_id} + resp.status = falcon.HTTP_204 diff --git a/freezer_api/api/v1/homedoc.py b/freezer_api/api/v1/homedoc.py new file mode 100644 index 00000000..42fb493c --- /dev/null +++ b/freezer_api/api/v1/homedoc.py @@ -0,0 +1,52 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== + +http://tools.ietf.org/html/draft-nottingham-json-home-03 +""" + +import json + +HOME_DOC = { + 'resources': { + 'rel/backups': { + 'href-template': '/v1/backups/{backup_id}', + 'href-vars': { + 'backup_id': 'param/backup_id' + }, + 'hints': { + 'allow': ['GET'], + 'formats': { + 'application/json': {}, + }, + }, + }, + } +} + + +class Resource(object): + + def __init__(self): + document = json.dumps(HOME_DOC, ensure_ascii=False, indent=4) + self.document_utf8 = document.encode('utf-8') + + def on_get(self, req, resp): + resp.data = self.document_utf8 + resp.content_type = 'application/json-home' diff --git a/freezer_api/api/versions.py b/freezer_api/api/versions.py new file mode 100644 index 00000000..67978338 --- /dev/null +++ b/freezer_api/api/versions.py @@ -0,0 +1,43 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== +""" + +import json +import falcon + +from freezer_api.api import v1 + + +VERSIONS = { + 'versions': [ + v1.VERSION + ] +} + + +class Resource(object): + + def __init__(self): + self.versions = json.dumps(VERSIONS, ensure_ascii=False) + + def on_get(self, req, resp): + resp.data = self.versions + + resp.status = falcon.HTTP_300 diff --git a/freezer_api/cmd/__init__.py b/freezer_api/cmd/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/freezer_api/cmd/api.py b/freezer_api/cmd/api.py new file mode 100644 index 00000000..19d6ea1c --- /dev/null +++ b/freezer_api/cmd/api.py @@ -0,0 +1,93 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== +""" + +import logging +import os +import sys +from wsgiref import simple_server +import falcon +from keystonemiddleware import auth_token +from oslo.config import cfg + +possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]), + os.pardir, os.pardir, os.pardir)) +if os.path.exists(os.path.join(possible_topdir, 'freezer_api', '__init__.py')): + sys.path.insert(0, possible_topdir) + +from freezer_api.common import config, log, exceptions +from freezer_api.api import v1 +from freezer_api.api import versions +from freezer_api.api.common import middleware +from freezer_api.storage import driver + + +def get_application(db): + app = falcon.API(middleware=[middleware.JSONTranslator()]) + + for exception_class in exceptions.exception_handlers_catalog: + app.add_error_handler(exception_class, exception_class.handle) + + endpoint_catalog = [ + ('/v1', v1.public_endpoints(db)), + ('/', [('', versions.Resource())]) + ] + for version_path, endpoints in endpoint_catalog: + for route, resource in endpoints: + app.add_route(version_path + route, resource) + + if 'keystone_authtoken' in config.CONF: + app = auth_token.AuthProtocol(app, {}) + else: + logging.warning("keystone authentication disabled") + return app + +config_file = '/etc/freezer-api.conf' +config_files_list = [config_file] if os.path.isfile(config_file) else [] +config.parse_args(args=[], default_config_files=config_files_list) +log.setup() +logging.info("Freezer API starting") +logging.info("Freezer config file(s) used: {0}".format( + ', '.join(cfg.CONF.config_file))) +try: + db = driver.get_db() + application = get_application(db) +except Exception as err: + message = 'Unable to start server: {0}'.format(err) + print message + logging.fatal(message) + sys.exit(1) + + +def main(): + ip, port = '127.0.0.1', 9090 + httpd = simple_server.make_server(ip, port, application) + message = 'Server listening on {0}:{1}'.format(ip, port) + print message + logging.info(message) + try: + httpd.serve_forever() + except KeyboardInterrupt: + print "\nThanks, Bye" + sys.exit(0) + + +if __name__ == '__main__': + main() diff --git a/freezer_api/common/__init__.py b/freezer_api/common/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/freezer_api/common/config.py b/freezer_api/common/config.py new file mode 100644 index 00000000..53595b6c --- /dev/null +++ b/freezer_api/common/config.py @@ -0,0 +1,43 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== +""" + +from oslo.config import cfg + + +common_cli_opts = [ + cfg.BoolOpt('verbose', + short='v', + default=False, + help='Print more verbose output.'), + cfg.BoolOpt('debug', + short='d', + default=False, + help='Print debugging output.'), +] + +CONF = cfg.CONF +CONF.register_cli_opts(common_cli_opts) + + +def parse_args(args=[], usage=None, default_config_files=[]): + CONF(args=args, + project='freezer', + default_config_files=default_config_files) diff --git a/freezer_api/common/exceptions.py b/freezer_api/common/exceptions.py new file mode 100644 index 00000000..29b0697b --- /dev/null +++ b/freezer_api/common/exceptions.py @@ -0,0 +1,83 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== + +""" + +import falcon +import logging + + +class FreezerAPIException(Exception): + """ + Base Freezer API Exception + """ + json_message = ({'error': 'Unknown exception occurred'}) + + def __init__(self, message=None, resp_body={}): + if message: + self.message = message + self.resp_body = resp_body + logging.error(message) + Exception.__init__(self, message) + + @staticmethod + def handle(ex, req, resp, params): + resp.status = falcon.HTTP_500 + req.context['result'] = {'error': 'internal server error'} + + +class ObjectNotFound(FreezerAPIException): + @staticmethod + def handle(ex, req, resp, params): + resp.status = falcon.HTTP_404 + ex.resp_body.update({'found': False}) + req.context['result'] = ex.resp_body + + +class BadDataFormat(FreezerAPIException): + @staticmethod + def handle(ex, req, resp, params): + resp.status = falcon.HTTP_400 + ex.resp_body.update({'error': 'bad data format'}) + req.context['result'] = ex.resp_body + + +class DocumentExists(FreezerAPIException): + @staticmethod + def handle(ex, req, resp, params): + resp.status = falcon.HTTP_409 + ex.resp_body.update({'error': 'document already exists'}) + req.context['result'] = ex.resp_body + + +class StorageEngineError(FreezerAPIException): + @staticmethod + def handle(ex, req, resp, params): + resp.status = falcon.HTTP_500 + ex.resp_body.update({'error': 'storage engine'}) + req.context['result'] = ex.resp_body + + +exception_handlers_catalog = [ + ObjectNotFound, + BadDataFormat, + DocumentExists, + StorageEngineError +] diff --git a/freezer_api/common/log.py b/freezer_api/common/log.py new file mode 100644 index 00000000..70a70992 --- /dev/null +++ b/freezer_api/common/log.py @@ -0,0 +1,66 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== +""" + + +from oslo.config import cfg +import logging + + +logging_cli_opts = [ + cfg.StrOpt('log-file', + metavar='PATH', + help='(Optional) Name of log file to output to. ' + 'If no default is set, logging will go to stdout.'), + cfg.BoolOpt('use-syslog', + help='Use syslog for logging.'), + cfg.StrOpt('syslog-log-facility', + help='syslog facility to receive log lines') +] + +logging_opts = [ + cfg.StrOpt('logging_file', + metavar='PATH', + default='freezer-api.log', + help='(Optional) Name of log file to output to. ' + 'If no default is set, logging will go to stdout.'), + cfg.BoolOpt('logging_use_syslog', + default=False, + help='Use syslog for logging.'), + cfg.StrOpt('logging_syslog_log_facility', + default='LOG_USER', + help='syslog facility to receive log lines') +] + + +CONF = cfg.CONF +CONF.register_opts(logging_opts) +CONF.register_cli_opts(logging_cli_opts) + + +def setup(): + try: + log_file = CONF['log-file'] # cli provided + except: + log_file = CONF['logging_file'] # .conf file + logging.basicConfig( + filename=log_file, + level=logging.INFO, + format='%(asctime)s %(name)s %(levelname)s %(message)s') diff --git a/freezer_api/common/utils.py b/freezer_api/common/utils.py new file mode 100644 index 00000000..05db6e42 --- /dev/null +++ b/freezer_api/common/utils.py @@ -0,0 +1,68 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== +""" + + +class BackupMetadataDoc: + """ + Wraps a backup_metadata dict and adds some utility methods, + and fields + """ + def __init__(self, user_id='', user_name='', data={}): + self.user_id = user_id + self.user_name = user_name + self.data = data + + def is_valid(self): + try: + assert (self.backup_id is not '') + assert (self.user_id is not '') + except: + return False + return True + + def serialize(self): + return {'backup_id': self.backup_id, + 'user_id': self.user_id, + 'user_name': self.user_name, + 'backup_metadata': self.data} + + @staticmethod + def un_serialize(d): + return BackupMetadataDoc( + user_id=d['user_id'], + user_name=d['user_name'], + data=d['backup_metadata']) + + @property + def backup_set_id(self): + return '{0}_{1}_{2}'.format( + self.data['container'], + self.data['host_name'], + self.data['backup_name'] + ) + + @property + def backup_id(self): + return '{0}_{1}_{2}'.format( + self.backup_set_id, + self.data['timestamp'], + self.data['level'] + ) diff --git a/freezer_api/storage/__init__.py b/freezer_api/storage/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/freezer_api/storage/driver.py b/freezer_api/storage/driver.py new file mode 100644 index 00000000..fc0f21cb --- /dev/null +++ b/freezer_api/storage/driver.py @@ -0,0 +1,57 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== +""" + +from oslo.config import cfg +import logging + +from freezer_api.storage import simpledict, elastic + + +opt_group = cfg.OptGroup(name='storage', + title='Freezer Storage Engine') + +storage_opts = [ + cfg.StrOpt('db', + default='simpledict', + help='specify the storage db to use: simpledoct (default),' + ' elasticsearch'), + cfg.StrOpt('endpoint', + default='http://localhost:9200', + help='specify the storage endpoint') +] + +CONF = cfg.CONF +CONF.register_group(opt_group) +CONF.register_opts(storage_opts, opt_group) + + +def get_db(): + db_engine = CONF.storage.db + if db_engine == 'simpledict': + logging.info('Storage backend: simple dictionary') + db = simpledict.SimpleDictStorageEngine() + elif db_engine == 'elasticsearch': + endpoint = CONF.storage.endpoint + logging.info('Storage backend: Elasticsearch at {0}'.format(endpoint)) + db = elastic.ElasticSearchEngine(endpoint) + else: + raise Exception('Database Engine {0} not supported'.format(db_engine)) + return db diff --git a/freezer_api/storage/elastic.py b/freezer_api/storage/elastic.py new file mode 100644 index 00000000..d15cc5ba --- /dev/null +++ b/freezer_api/storage/elastic.py @@ -0,0 +1,110 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== +""" + +import elasticsearch +import logging +from freezer_api.common.utils import BackupMetadataDoc +from freezer_api.common import exceptions + + +class ElasticSearchEngine(object): + + def __init__(self, hosts): + # logging.getLogger('elasticsearch').addHandler(logging.NullHandler()) + self.es = elasticsearch.Elasticsearch(hosts) + logging.info('Using Elasticsearch host {0}'.format(hosts)) + self.index = "freezer" + + def _get_backup(self, user_id, backup_id=None): + # raises only on severe engine errors + if backup_id: + query = '+user_id:{0} +backup_id:{1}'.format(user_id, backup_id) + else: + query = '+user_id:{0}'.format(user_id) + try: + res = self.es.search(index=self.index, doc_type='backups', + q=query) + except Exception as e: + raise exceptions.StorageEngineError( + message='search operation failed', + resp_body={'engine exception': '{0}'.format(e)}) + hit_list = res['hits']['hits'] + return [x['_source'] for x in hit_list] + + def _index(self, doc): + # raises only on severe engine errors + try: + res = self.es.index(index=self.index, doc_type='backups', + body=doc) + except Exception as e: + raise exceptions.StorageEngineError( + message='index operation failed', + resp_body={'engine exception': '{0}'.format(e)}) + return res['created'] + + def _delete_backup(self, user_id, backup_id): + query = '+user_id:{0} +backup_id:{1}'.format(user_id, backup_id) + try: + self.es.delete_by_query(index=self.index, + doc_type='backups', + q=query) + except Exception as e: + raise exceptions.StorageEngineError( + message='search operation failed', + resp_body={'engine exception': '{0}'.format(e)}) + + def get_backup(self, user_id, backup_id): + # raises is data not found, so reply will be HTTP_404 + backup_metadata = self._get_backup(user_id, backup_id) + if not backup_metadata: + raise exceptions.ObjectNotFound( + message='Requested backup data not found: {0}'. + format(backup_id), + resp_body={'backup_id': backup_id}) + return backup_metadata + + def get_backup_list(self, user_id): + # TODO: elasticsearch reindex for paging + return self._get_backup(user_id) + + def add_backup(self, user_id, user_name, data): + # raises if data is malformed (HTTP_400) or already present (HTTP_409) + backup_metadata_doc = BackupMetadataDoc(user_id, user_name, data) + if not backup_metadata_doc.is_valid(): + raise exceptions.BadDataFormat(message='Bad Data Format') + backup_id = backup_metadata_doc.backup_id + existing_data = self._get_backup(user_id, backup_id) + if existing_data: + raise exceptions.DocumentExists( + message='Backup data already existing ({0})'.format(backup_id), + resp_body={'backup_id': backup_id}) + if not self._index(backup_metadata_doc.serialize()): + # should never happen + raise exceptions.StorageEngineError( + message='index operation failed', + resp_body={'backup_id': backup_id}) + logging.info('Backup metadata indexed, backup_id: {0}'. + format(backup_id)) + return backup_id + + def delete_backup(self, user_id, backup_id): + self._delete_backup(user_id, backup_id) + return backup_id diff --git a/freezer_api/storage/simpledict.py b/freezer_api/storage/simpledict.py new file mode 100644 index 00000000..0fbd769f --- /dev/null +++ b/freezer_api/storage/simpledict.py @@ -0,0 +1,69 @@ +""" +Copyright 2014 Hewlett-Packard + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). +======================================================================== +""" + +import logging +from freezer_api.common.utils import BackupMetadataDoc +from freezer_api.common import exceptions + + +class SimpleDictStorageEngine(object): + + def __init__(self): + self._map = {} + + def get_backup(self, user_id, backup_id): + try: + backup_data = self._map[(user_id, backup_id)] + except: + raise exceptions.ObjectNotFound( + message='Requested backup data not found: {0}'. + format(backup_id), + resp_body={'backup_id': backup_id}) + return backup_data + + def get_backup_list(self, user_id): + backup_list = [] + for (key, backup_data) in self._map.iteritems(): + if key[0] == user_id: + backup_list.append(backup_data) + return backup_list + + def add_backup(self, user_id, user_name, data): + backup_metadata_doc = BackupMetadataDoc(user_id, user_name, data) + if not backup_metadata_doc.is_valid(): + raise exceptions.BadDataFormat(message='Bad Data Format') + backup_id = backup_metadata_doc.backup_id + if (user_id, backup_id) in self._map: + raise exceptions.DocumentExists( + message='Backup data already existing ({0})'.format(backup_id), + resp_body={'backup_id': backup_id}) + self._map[(user_id, backup_id)] = backup_metadata_doc.serialize() + logging.info('Adding backup data with backup_id {0}'.format(backup_id)) + return backup_id + + def delete_backup(self, user_id, backup_id): + try: + self._map.pop((user_id, backup_id)) + except KeyError: + raise exceptions.ObjectNotFound( + message='Object to remove not found: {0}'.format(backup_id), + resp_body={'backup_id': backup_id}) + return backup_id diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 00000000..d8fef976 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,50 @@ +[metadata] +name = freezer_api + +version = 2015.1 + +summary = OpenStack Backup and Restore Service +description-file = + README.rst + +author = Fausto Marzi, Fabrizio Fresco, Fabrizio Vanni', +author_email = fausto.marzi@hp.com, fabrizio.vanni@hp.com, fabrizio.fresco@hp.com + +home-page = https://github.com/stackforge/freezer +classifier = + Environment :: OpenStack + Programming Language :: Python + Development Status :: 5 - Production/Stable + Natural Language :: English + Intended Audience :: Developers + Intended Audience :: Financial and Insurance Industry + Intended Audience :: Information Technology + Intended Audience :: System Administrators + Intended Audience :: Telecommunications Industry + License :: OSI Approved :: Apache Software License + Operating System :: MacOS + Operating System :: POSIX :: BSD :: FreeBSD + Operating System :: POSIX :: BSD :: NetBSD + Operating System :: POSIX :: BSD :: OpenBSD + Operating System :: POSIX :: Linux + Operating System :: Unix + Topic :: System :: Archiving :: Backup + Topic :: System :: Archiving :: Compression + Topic :: System :: Archiving + +[files] +packages = + freezer_api +data_files = + /etc = etc/* + +[entry_points] +console_scripts = + freezer-api = freezer_api.cmd.api:main + +[pytests] +where=tests +verbosity=2 + +[pbr] +warnerrors = True diff --git a/setup.py b/setup.py new file mode 100644 index 00000000..aa2d8a01 --- /dev/null +++ b/setup.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python + +from setuptools import setup + +setup( + setup_requires=['pbr'], + pbr=True, +) diff --git a/specs/Freezer API spec.odt b/specs/Freezer API spec.odt new file mode 100644 index 0000000000000000000000000000000000000000..a249cec9418e624ef3b0720b93498510cdef0c66 GIT binary patch literal 104350 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ⅇAhVX#T;q|F_`z|IOL?zlG=j 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%0DdDwp-AOw84 zKB5)mh#e9RKRjMA5DYuKHi#JFun(A!NKsuzJkEP$isdi?t~-j4~hW6508zA9obt@1dQ~R zaiCoycC;*UnI7&76bU2cqx~rB;fAtzvUb}KnOE)otVuC~lwF~N!FT}nW6k$040RV9 e3^7)d!sho}3zVD3epDgWhlEiJ2q