def publish_message(self): if not self._controllers: self.fail('There are no online controllers') remote = self.get_ssh_connection_to_controller(self._controllers[0]) for key in self.amqp_hosts_name.keys(): ip, port = self.amqp_hosts_name[key] queues = [q for q in self.queues if ip in q] if not len(queues) > 0: self.fail("Can't publish message, queue created on host '{0}' " "doesn't exist!".format(ip)) test_queue = queues[0] id = data_utils.generate_uuid() cmd = ("python -c 'import kombu;" " c = kombu.Connection(\"amqp://{1}:{2}@{0}:{3}//\");" " c.connect(); ch = c.channel(); producer = " "kombu.Producer(channel=ch, routing_key=\"{4}\"); " "producer.publish(\"{5}\")'".format(ip, self.userid, self.password, port, test_queue, id)) try: LOG.debug('Try to publish message {0}'.format(id)) remote.exec_command(cmd) except Exception: LOG.exception("Failed to publish message!") self.fail("Failed to publish message!") self.messages.append({'queue': test_queue, 'id': id})
def publish_message(self): if not self._controllers: self.fail('There are no online controllers') remote = self.get_ssh_connection_to_controller(self._controllers[0]) for key in self.amqp_hosts_name.keys(): ip, port = self.amqp_hosts_name[key] queues = [q for q in self.queues if ip in q] if not len(queues) > 0: self.fail("Can't publish message, queue created on host '{0}' " "doesn't exist!".format(ip)) test_queue = queues[0] id = data_utils.generate_uuid() cmd = ("python -c 'import kombu;" " c = kombu.Connection(\"amqp://{1}:{2}@{0}:{3}//\");" " c.connect(); ch = c.channel(); producer = " "kombu.Producer(channel=ch, routing_key=\"{4}\"); " "producer.publish(\"{5}\")'".format( ip, self.userid, self.password, port, test_queue, id)) try: LOG.debug('Try to publish message {0}'.format(id)) remote.exec_command(cmd) except Exception: LOG.exception("Failed to publish message!") self.fail("Failed to publish message!") self.messages.append({'queue': test_queue, 'id': id})
def publish_message(self): for channel, host, queue in self.data: self.ids.append(data_utils.generate_uuid()) try: LOG.debug('Try to publish message {0}'.format(queue.name)) producer = kombu.Producer( channel=channel, routing_key=queue.name) for msg_id in self.ids: producer.publish(msg_id) except Exception: LOG.debug(traceback.format_exc()) self.fail("failed to publish message")
def create_queue(self): for channel, host in self.connections: test_queue = data_utils.rand_name() + data_utils.generate_uuid() queue = kombu.Queue( 'test-rabbit-{0}-{1}'.format(test_queue, host), channel=channel, durable=False, queue_arguments={'x-expires': 15 * 60 * 1000}) try: LOG.debug("Declaring queue {0} on host {1}".format( queue.name, host)) queue.declare() self.data.append((channel, host, queue)) self.queues.append(queue) except Exception: LOG.debug(traceback.format_exc()) self.fail("Failed to declare queue on host {0}".format(host))
def create_queue(self): if not self._controllers: self.fail('There are no online controllers') remote = self.get_ssh_connection_to_controller(self._controllers[0]) for key in self.amqp_hosts_name.keys(): ip, port = self.amqp_hosts_name[key] test_queue = 'test-rabbit-{0}-{1}'.format( data_utils.rand_name() + data_utils.generate_uuid(), ip) cmd = ("python -c 'import kombu;" " c = kombu.Connection(\"amqp://{1}:{2}@{0}:{3}//\");" " c.connect(); ch = c.channel(); q = kombu.Qu" "eue(\"{4}\", channel=ch, durable=False, queue_arguments={{" "\"x-expires\": 15 * 60 * 1000}}); q.declare()'".format( ip, self.userid, self.password, port, test_queue)) try: LOG.debug("Declaring queue {0} on host {1}".format( test_queue, ip)) self.queues.append(test_queue) remote.exec_command(cmd) except Exception: LOG.exception("Failed to declare queue on host") self.fail("Failed to declare queue on host {0}".format(ip))
def create_queue(self): if not self._controllers: self.fail('There are no online controllers') remote = self.get_ssh_connection_to_controller(self._controllers[0]) for ip, port in self.amqp_hosts: test_queue = 'test-rabbit-{0}-{1}'.format( data_utils.rand_name() + data_utils.generate_uuid(), ip ) cmd = ("python -c 'import kombu;" " c = kombu.Connection(\"amqp://{1}:{2}@{0}:{3}//\");" " c.connect(); ch = c.channel(); q = kombu.Qu" "eue(\"{4}\", channel=ch, durable=False, queue_arguments={{" "\"x-expires\": 15 * 60 * 1000}}); q.declare()'".format( ip, self.userid, self.password, port, test_queue)) try: LOG.debug("Declaring queue {0} on host {1}".format( test_queue, ip)) self.queues.append(test_queue) remote.exec_command(cmd) except Exception: LOG.debug(traceback.format_exc()) self.fail("Failed to declare queue on host {0}".format(ip))