diff --git a/CHANGES.md b/CHANGES.md index 7be4d0c..b87be8f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,8 @@ # Change Log +# 1.1.2 +- Added virtual_host connection parameter to `queues_sensor` + # 1.1.1 - Updated pip dependency to pika `1.3.x` to support python >= 3.7 diff --git a/README.md b/README.md index 2bef8d3..bda58c1 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ and edit as required. * ``host`` - RabbitMQ host to connect to. * ``username`` - Username to connect to RabbitMQ (optional). * ``password`` - Password to connect to RabbitMQ (optional). +* ``virtual_host`` - RabbitMQ virtual host to use. * ``queues`` - List of queues to check for messages. See an example below. * ``quorum_queues`` - List of queues defined in `queues` that should be handled as `type: quorum` * ``deserialization_method`` - Which method to use to de-serialize the diff --git a/config.schema.yaml b/config.schema.yaml index c2f4e6c..88c6832 100644 --- a/config.schema.yaml +++ b/config.schema.yaml @@ -16,6 +16,11 @@ sensor_config: description: "Optional password for RabbitMQ" type: "string" secret: true + virtual_host: + type: "string" + description: "RabbitMQ virtual host to use" + required: true + default: "/" rabbitmq_queue_sensor: description: "Queue settings" type: "object" diff --git a/pack.yaml b/pack.yaml index 8882577..0471083 100644 --- a/pack.yaml +++ b/pack.yaml @@ -9,7 +9,7 @@ keywords: - aqmp - stomp - message broker -version: 1.1.1 +version: 1.1.2 python_versions: - "3" author: StackStorm, Inc. diff --git a/sensors/queues_sensor.py b/sensors/queues_sensor.py index 95e8955..7270be2 100644 --- a/sensors/queues_sensor.py +++ b/sensors/queues_sensor.py @@ -30,6 +30,7 @@ def __init__(self, sensor_service, config=None): self.host = self._config["sensor_config"]["host"] self.username = self._config["sensor_config"]["username"] self.password = self._config["sensor_config"]["password"] + self.virtual_host = self._config["sensor_config"]["virtual_host"] queue_sensor_config = self._config["sensor_config"]["rabbitmq_queue_sensor"] self.queues = queue_sensor_config["queues"] @@ -73,10 +74,13 @@ def setup(self): username=self.username, password=self.password ) connection_params = pika.ConnectionParameters( - host=self.host, credentials=credentials + host=self.host, credentials=credentials, virtual_host=self.virtual_host ) else: - connection_params = pika.ConnectionParameters(host=self.host) + connection_params = pika.ConnectionParameters( + host=self.host, + virtual_host=self.virtual_host + ) self.conn = pika.BlockingConnection(connection_params) self.channel = self.conn.channel()