def _run(self, application, socket): """Start a WSGI server in a new green thread.""" logger = logging.getLogger('eventlet.wsgi') eventlet.wsgi.server(socket, application, custom_pool=self.tg.pool, log=logging.WritableLogger(logger))
def notify(_context, message): """Notifies the recipient of the desired event given the model. Log notifications using openstack's default logging system""" priority = message.get('priority', CONF.default_notification_level) priority = priority.lower() logger = logging.getLogger( 'trove.openstack.common.notification.%s' % message['event_type']) getattr(logger, priority)(jsonutils.dumps(message))
from trove.common import pagination from trove.common import utils from trove.common import wsgi from trove.extensions.mysql.common import populate_validated_databases from trove.extensions.mysql.common import populate_users from trove.instance import models, views from trove.datastore import models as datastore_models from trove.backup.models import Backup as backup_model from trove.backup import views as backup_views from trove.openstack.common import log as logging from trove.openstack.common.gettextutils import _ import trove.common.apischema as apischema CONF = cfg.CONF LOG = logging.getLogger(__name__) class InstanceController(wsgi.Controller): """Controller for instance functionality""" schemas = apischema.instance.copy() if not CONF.trove_volume_support: # see instance.models.create for further validation around this LOG.info("Removing volume attributes from schema") schemas['create']['properties']['instance']['required'].pop() @classmethod def get_action_schema(cls, body, action_schema): action_type = body.keys()[0] action_schema = action_schema.get(action_type, {})
from sqlalchemy import ForeignKey from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy import utils as db_utils from trove.openstack.common import log as logging logger = logging.getLogger('trove.db.sqlalchemy.migrate_repo.schema') meta = MetaData() configurations = Table( 'configurations', meta, Column('id', String(36), primary_key=True, nullable=False), Column('name', String(64), nullable=False), Column('description', String(256)), Column('tenant_id', String(36), nullable=False), Column('datastore_version_id', String(36), nullable=False), Column('deleted', Boolean(), nullable=False, default=False), Column('deleted_at', DateTime()), )
from trove.openstack.common import wsgi as openstack_wsgi from trove.openstack.common import log as logging from trove.common import cfg CONTEXT_KEY = 'trove.context' Router = openstack_wsgi.Router Debug = openstack_wsgi.Debug Middleware = openstack_wsgi.Middleware JSONDictSerializer = openstack_wsgi.JSONDictSerializer XMLDictSerializer = openstack_wsgi.XMLDictSerializer XMLDeserializer = openstack_wsgi.XMLDeserializer RequestDeserializer = openstack_wsgi.RequestDeserializer eventlet.patcher.monkey_patch(all=False, socket=True) LOG = logging.getLogger('trove.common.wsgi') CONF = cfg.CONF XMLNS = 'http://docs.openstack.org/database/api/v1.0' CUSTOM_PLURALS_METADATA = {'databases': '', 'users': ''} CUSTOM_SERIALIZER_METADATA = { 'instance': { 'status': '', 'hostname': '', 'id': '', 'name': '', 'created': '', 'updated': '', 'host': '', 'server_id': '',
from trove.openstack.common import log as logging import os from migrate.versioning import api as versioning_api # See LP bug #719834. sqlalchemy-migrate changed location of # exceptions.py after 0.6.0. try: from migrate.versioning import exceptions as versioning_exceptions except ImportError: from migrate import exceptions as versioning_exceptions from trove.common import exception logger = logging.getLogger('trove.db.sqlalchemy.migration') def db_version(options, repo_path=None): """Return the database's current migration number. :param options: options dict :retval version number """ repo_path = get_migrate_repo_path(repo_path) sql_connection = options['sql_connection'] try: return versioning_api.db_version(sql_connection, repo_path) except versioning_exceptions.DatabaseNotControlledError: msg = ("database '%(sql_connection)s' is not under migration control"
""" from trove.openstack.common import log as logging import exceptions try: import json except ImportError: import simplejson as json from novaclient.client import HTTPClient from novaclient.v1_1.client import Client LOG = logging.getLogger('rsdns.client.dns_client') class DNSaasClient(HTTPClient): def __init__(self, accountId, user, apikey, auth_url, management_base_url): tenant = "dbaas" super(DNSaasClient, self).__init__(user, apikey, tenant, auth_url) self.accountId = accountId self.management_base_url = management_base_url self.api_key = apikey self.disable_ssl_certificate_validation = True self.service = "cloudDNS" def authenticate(self): """Set the management url and auth token"""
from trove.openstack.common import wsgi as openstack_wsgi from trove.openstack.common import log as logging from trove.common import cfg CONTEXT_KEY = "trove.context" Router = openstack_wsgi.Router Debug = openstack_wsgi.Debug Middleware = openstack_wsgi.Middleware JSONDictSerializer = openstack_wsgi.JSONDictSerializer XMLDictSerializer = openstack_wsgi.XMLDictSerializer XMLDeserializer = openstack_wsgi.XMLDeserializer RequestDeserializer = openstack_wsgi.RequestDeserializer eventlet.patcher.monkey_patch(all=False, socket=True) LOG = logging.getLogger("trove.common.wsgi") CONF = cfg.CONF XMLNS = "http://docs.openstack.org/database/api/v1.0" CUSTOM_PLURALS_METADATA = {"databases": "", "users": ""} CUSTOM_SERIALIZER_METADATA = { "instance": { "status": "", "hostname": "", "id": "", "name": "", "created": "", "updated": "", "host": "", "server_id": "",
# vim: tabstop=4 shiftwidth=4 softtabstop=4 # Copyright 2010-2011 OpenStack Foundation # All Rights Reserved. # # 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. """Common code to help in faking the models.""" from novaclient import exceptions as nova_exceptions from trove.common import cfg from trove.openstack.common import log as logging CONF = cfg.CONF LOG = logging.getLogger(__name__) def authorize(context): if not context.is_admin: raise nova_exceptions.Forbidden(403, "Forbidden")
# under the License. from trove.openstack.common import log as logging import os from migrate.versioning import api as versioning_api # See LP bug #719834. sqlalchemy-migrate changed location of # exceptions.py after 0.6.0. try: from migrate.versioning import exceptions as versioning_exceptions except ImportError: from migrate import exceptions as versioning_exceptions from trove.common import exception logger = logging.getLogger('trove.db.sqlalchemy.migration') def db_version(options, repo_path=None): """Return the database's current migration number. :param options: options dict :retval version number """ repo_path = get_migrate_repo_path(repo_path) sql_connection = options['sql_connection'] try: return versioning_api.db_version(sql_connection, repo_path) except versioning_exceptions.DatabaseNotControlledError: msg = ("database '%(sql_connection)s' is not under migration control" %
is different here. """ from trove.openstack.common import log as logging import exceptions try: import json except ImportError: import simplejson as json from novaclient.client import HTTPClient from novaclient.v1_1.client import Client LOG = logging.getLogger('rsdns.client.dns_client') class DNSaasClient(HTTPClient): def __init__(self, accountId, user, apikey, auth_url, management_base_url): tenant = "dbaas" super(DNSaasClient, self).__init__(user, apikey, tenant, auth_url) self.accountId = accountId self.management_base_url = management_base_url self.api_key = apikey self.disable_ssl_certificate_validation = True self.service = "cloudDNS" def authenticate(self): """Set the management url and auth token""" req_body = {