import itertools import time import uuid import eventlet import greenlet from oslo.config import cfg from nscs.crdservice.openstack.common.gettextutils import _ from nscs.crdservice.openstack.common import importutils from nscs.crdservice.openstack.common import jsonutils from nscs.crdservice.openstack.common import log as logging from nscs.crdservice.openstack.common.rpc import amqp as rpc_amqp from nscs.crdservice.openstack.common.rpc import common as rpc_common 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.StrOpt('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',
# 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 nscs.crdservice.openstack.common import importutils from nscs.crdservice.openstack.common import log as logging from nscs.crdservice.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 signal import sys import time import eventlet import logging as std_logging from oslo.config import cfg from nscs.crdservice.openstack.common import eventlet_backdoor from nscs.crdservice.openstack.common.gettextutils import _ from nscs.crdservice.openstack.common import importutils from nscs.crdservice.openstack.common import log as logging from nscs.crdservice.openstack.common import threadgroup rpc = importutils.try_import("crdservice.openstack.common.rpc") CONF = cfg.CONF LOG = logging.getLogger(__name__) class Launcher(object): """Launch one or more services and wait for them to complete.""" def __init__(self): """Initialize the service launcher. :returns: None """ self._services = threadgroup.ThreadGroup() eventlet_backdoor.initialize_if_enabled()