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 solum.openstack.common import gettextutils from solum.openstack.common import importutils from solum.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.
import socket import sys import types import uuid import eventlet import greenlet from oslo.config import cfg from solum.openstack.common import excutils from solum.openstack.common.gettextutils import _ # noqa from solum.openstack.common import importutils from solum.openstack.common import jsonutils from solum.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.'),
import sys import time import eventlet from eventlet import event import logging as std_logging from oslo.config import cfg from solum.openstack.common import eventlet_backdoor from solum.openstack.common.gettextutils import _ # noqa from solum.openstack.common import importutils from solum.openstack.common import log as logging from solum.openstack.common import threadgroup rpc = importutils.try_import('solum.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'}
# 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 solum.openstack.common import importutils from solum.openstack.common import log as logging from solum.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 opt_group = cfg.OptGroup(name="matchmaker_redis", title="Options for Redis-based MatchMaker") CONF.register_group(opt_group) CONF.register_opts(matchmaker_redis_opts, opt_group) LOG = logging.getLogger(__name__)
import time import uuid import eventlet import greenlet from oslo.config import cfg from solum.openstack.common import excutils from solum.openstack.common.gettextutils import _ # noqa from solum.openstack.common import importutils from solum.openstack.common import jsonutils from solum.openstack.common import log as logging from solum.openstack.common.rpc import amqp as rpc_amqp from solum.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'),
# 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 solum.openstack.common import importutils from solum.openstack.common import log as logging from solum.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 opt_group = cfg.OptGroup(name='matchmaker_redis', title='Options for Redis-based MatchMaker') CONF.register_group(opt_group)