#    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.
"""
The MatchMaker classes should accept a Topic or Fanout exchange key and
return keys for direct exchanges, per (approximate) AMQP parlance.
"""

from oslo.config import cfg

from worker.openstack.common import importutils
from worker.openstack.common import log as logging
from worker.openstack.common.rpc import matchmaker as mm_common

redis = importutils.try_import('redis')


matchmaker_redis_opts = [
    cfg.StrOpt('host',
               default='127.0.0.1',
               help='Host to locate redis'),
    cfg.IntOpt('port',
               default=6379,
               help='Use this port to connect to redis host.'),
    cfg.StrOpt('password',
               default=None,
               help='Password for Redis server. (optional)'),
]

CONF = cfg.CONF
Beispiel #2
0
import time
import uuid

import eventlet
import greenlet
from oslo.config import cfg

from worker.openstack.common import excutils
from worker.openstack.common.gettextutils import _  # noqa
from worker.openstack.common import importutils
from worker.openstack.common import jsonutils
from worker.openstack.common import log as logging
from worker.openstack.common.rpc import amqp as rpc_amqp
from worker.openstack.common.rpc import common as rpc_common

qpid_codec = importutils.try_import("qpid.codec010")
qpid_messaging = importutils.try_import("qpid.messaging")
qpid_exceptions = importutils.try_import("qpid.messaging.exceptions")

LOG = logging.getLogger(__name__)

qpid_opts = [
    cfg.StrOpt("qpid_hostname", default="localhost", help="Qpid broker hostname"),
    cfg.IntOpt("qpid_port", default=5672, help="Qpid broker port"),
    cfg.ListOpt("qpid_hosts", default=["$qpid_hostname:$qpid_port"], help="Qpid HA cluster host:port pairs"),
    cfg.StrOpt("qpid_username", default="", help="Username for qpid connection"),
    cfg.StrOpt("qpid_password", default="", help="Password for qpid connection", secret=True),
    cfg.StrOpt("qpid_sasl_mechanisms", default="", help="Space separated list of SASL mechanisms to use for auth"),
    cfg.IntOpt("qpid_heartbeat", default=60, help="Seconds between connection keepalive heartbeats"),
    cfg.StrOpt("qpid_protocol", default="tcp", help="Transport to use, either 'tcp' or 'ssl'"),
    cfg.BoolOpt("qpid_tcp_nodelay", default=True, help="Disable Nagle algorithm"),
Beispiel #3
0
import socket
import sys
import types
import uuid

import eventlet
import greenlet
from oslo.config import cfg

from worker.openstack.common import excutils
from worker.openstack.common.gettextutils import _  # noqa
from worker.openstack.common import importutils
from worker.openstack.common import jsonutils
from worker.openstack.common.rpc import common as rpc_common

zmq = importutils.try_import('eventlet.green.zmq')

# for convenience, are not modified.
pformat = pprint.pformat
Timeout = eventlet.timeout.Timeout
LOG = rpc_common.LOG
RemoteError = rpc_common.RemoteError
RPCException = rpc_common.RPCException

zmq_opts = [
    cfg.StrOpt('rpc_zmq_bind_address', default='*',
               help='ZeroMQ bind address. Should be a wildcard (*), '
                    'an ethernet interface, or IP. '
                    'The "host" option should point or resolve to this '
                    'address.'),
Beispiel #4
0
import sys
import time

import eventlet
from eventlet import event
import logging as std_logging
from oslo.config import cfg

from worker.openstack.common import eventlet_backdoor
from worker.openstack.common.gettextutils import _  # noqa
from worker.openstack.common import importutils
from worker.openstack.common import log as logging
from worker.openstack.common import threadgroup


rpc = importutils.try_import('worker.openstack.common.rpc')
CONF = cfg.CONF
LOG = logging.getLogger(__name__)


def _sighup_supported():
    return hasattr(signal, 'SIGHUP')


def _is_sighup(signo):
    return _sighup_supported() and signo == signal.SIGHUP


def _signo_to_signame(signo):
    signals = {signal.SIGTERM: 'SIGTERM',
               signal.SIGINT: 'SIGINT'}
Beispiel #5
0
import inspect
import itertools
import json
try:
    import xmlrpclib
except ImportError:
    # NOTE(jd): xmlrpclib is not shipped with Python 3
    xmlrpclib = None

import six

from worker.openstack.common import gettextutils
from worker.openstack.common import importutils
from worker.openstack.common import timeutils

netaddr = importutils.try_import("netaddr")

_nasty_type_tests = [inspect.ismodule, inspect.isclass, inspect.ismethod,
                     inspect.isfunction, inspect.isgeneratorfunction,
                     inspect.isgenerator, inspect.istraceback, inspect.isframe,
                     inspect.iscode, inspect.isbuiltin, inspect.isroutine,
                     inspect.isabstract]

_simple_types = (six.string_types + six.integer_types
                 + (type(None), bool, float))


def to_primitive(value, convert_instances=False, convert_datetime=True,
                 level=0, max_depth=3):
    """Convert a complex object into primitives.