From 960338ff65ca8f4ab52e8e1b64a644915321ee24 Mon Sep 17 00:00:00 2001 From: Nakshathru Date: Fri, 26 Feb 2021 15:41:54 +0530 Subject: [PATCH 1/7] Added authentication support for AQMP broker url --- rasa/core/brokers/pika.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rasa/core/brokers/pika.py b/rasa/core/brokers/pika.py index a2aa64188a81..572a07dd9954 100644 --- a/rasa/core/brokers/pika.py +++ b/rasa/core/brokers/pika.py @@ -6,6 +6,7 @@ from asyncio import AbstractEventLoop from collections import deque from typing import Deque, Dict, Optional, Text, Union, Any, List, Tuple +from urllib.parse import urlparse import aio_pika @@ -161,7 +162,9 @@ async def _connect(self) -> aio_pika.RobustConnection: # The `url` parameter will take precedence over parameters like `login` or # `password`. if self.host.startswith("amqp"): - url = self.host + + host_ob = urlparse(self.host) + url = f'{host_ob.scheme}://{self.username}:{self.password}@{host_ob.netloc}:{self.port}' ssl_options = _create_rabbitmq_ssl_options(self.host) logger.info("Connecting to RabbitMQ ...") From 595d1e841297f640553f16a35b4415a2eae6c253 Mon Sep 17 00:00:00 2001 From: Nakshathru Date: Fri, 26 Feb 2021 15:46:30 +0530 Subject: [PATCH 2/7] Updated changelog --- CHANGELOG.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.mdx b/CHANGELOG.mdx index 21078762334d..03e56b4f382a 100644 --- a/CHANGELOG.mdx +++ b/CHANGELOG.mdx @@ -3432,3 +3432,4 @@ Regression: changes from `1.2.12` were missing from `1.4.0`, readded them * utterance templates defined in actions are checked for existence upon training a new agent, and a warning is thrown before training if one is missing +* added authentication support for rabbitmq url which was missing before From 57746810c89ce774be41731807c36bb8831aee37 Mon Sep 17 00:00:00 2001 From: Nakshathru Date: Fri, 26 Feb 2021 15:55:52 +0530 Subject: [PATCH 3/7] Fixing lint errors --- rasa/core/brokers/pika.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rasa/core/brokers/pika.py b/rasa/core/brokers/pika.py index 572a07dd9954..c040d05ac868 100644 --- a/rasa/core/brokers/pika.py +++ b/rasa/core/brokers/pika.py @@ -164,7 +164,7 @@ async def _connect(self) -> aio_pika.RobustConnection: if self.host.startswith("amqp"): host_ob = urlparse(self.host) - url = f'{host_ob.scheme}://{self.username}:{self.password}@{host_ob.netloc}:{self.port}' + url = f"{host_ob.scheme}://{self.username}:{self.password}@{host_ob.netloc}:{self.port}" ssl_options = _create_rabbitmq_ssl_options(self.host) logger.info("Connecting to RabbitMQ ...") From 896d682ca2bd9e8f93322763c59a8bce1d53e15c Mon Sep 17 00:00:00 2001 From: Nakshathru Date: Thu, 5 Aug 2021 23:22:32 +0530 Subject: [PATCH 4/7] Renamed parsed url to meaningful one. Updated changelog --- CHANGELOG.mdx | 1 - changelog/8057.improvement.md | 2 ++ rasa/core/brokers/pika.py | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 changelog/8057.improvement.md diff --git a/CHANGELOG.mdx b/CHANGELOG.mdx index 4cd32f411fd0..af82c92571a2 100644 --- a/CHANGELOG.mdx +++ b/CHANGELOG.mdx @@ -3924,4 +3924,3 @@ Regression: changes from `1.2.12` were missing from `1.4.0`, readded them * utterance templates defined in actions are checked for existence upon training a new agent, and a warning is thrown before training if one is missing -* added authentication support for rabbitmq url which was missing before diff --git a/changelog/8057.improvement.md b/changelog/8057.improvement.md new file mode 100644 index 000000000000..9a634ab82615 --- /dev/null +++ b/changelog/8057.improvement.md @@ -0,0 +1,2 @@ +Added authentication support for connecting to external rabbitMQ server. +Currently user has to pass a username and password hardcoded url inorder to connect to external rabbitMQ. diff --git a/rasa/core/brokers/pika.py b/rasa/core/brokers/pika.py index d161d1f07f65..889cf28b364d 100644 --- a/rasa/core/brokers/pika.py +++ b/rasa/core/brokers/pika.py @@ -170,8 +170,8 @@ async def _connect(self) -> aio_pika.RobustConnection: # `password`. if self.host.startswith("amqp"): - host_ob = urlparse(self.host) - url = f"{host_ob.scheme}://{self.username}:{self.password}@{host_ob.netloc}:{self.port}" + parsed_host = urlparse(self.host) + url = f"{parsed_host.scheme}://{self.username}:{self.password}@{parsed_host.netloc}:{self.port}" ssl_options = _create_rabbitmq_ssl_options(self.host) logger.info("Connecting to RabbitMQ ...") From d40b11a57808a8db20f9d12c04d293861b98af61 Mon Sep 17 00:00:00 2001 From: Nakshathru Ajay Date: Wed, 18 Aug 2021 23:32:01 +0530 Subject: [PATCH 5/7] Update changelog/8057.improvement.md Co-authored-by: Alexander Pantiukhov --- changelog/8057.improvement.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog/8057.improvement.md b/changelog/8057.improvement.md index 9a634ab82615..bd589075836d 100644 --- a/changelog/8057.improvement.md +++ b/changelog/8057.improvement.md @@ -1,2 +1,2 @@ -Added authentication support for connecting to external rabbitMQ server. +Added authentication support for connecting to external RabbitMQ servers. Currently user has to pass a username and password hardcoded url inorder to connect to external rabbitMQ. From 0551eddc65e7d7f98f68da304ca5e3655718eb54 Mon Sep 17 00:00:00 2001 From: Nakshathru Ajay Date: Wed, 18 Aug 2021 23:32:14 +0530 Subject: [PATCH 6/7] Update changelog/8057.improvement.md Co-authored-by: Alexander Pantiukhov --- changelog/8057.improvement.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog/8057.improvement.md b/changelog/8057.improvement.md index bd589075836d..2ce09d5b43c0 100644 --- a/changelog/8057.improvement.md +++ b/changelog/8057.improvement.md @@ -1,2 +1,2 @@ Added authentication support for connecting to external RabbitMQ servers. -Currently user has to pass a username and password hardcoded url inorder to connect to external rabbitMQ. +Currently user has to hardcode a username and a password in a URL in order to connect to an external RabbitMQ server. From 0b6365909b463fd6b2172bd44d100c4e840156be Mon Sep 17 00:00:00 2001 From: Nakshathru Date: Sun, 19 Sep 2021 02:01:29 +0530 Subject: [PATCH 7/7] Fixed lint error => exceed max length --- rasa/core/brokers/pika.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rasa/core/brokers/pika.py b/rasa/core/brokers/pika.py index 889cf28b364d..df99afba4cfe 100644 --- a/rasa/core/brokers/pika.py +++ b/rasa/core/brokers/pika.py @@ -171,7 +171,8 @@ async def _connect(self) -> aio_pika.RobustConnection: if self.host.startswith("amqp"): parsed_host = urlparse(self.host) - url = f"{parsed_host.scheme}://{self.username}:{self.password}@{parsed_host.netloc}:{self.port}" + amqp_user = f"{self.username}:{self.password}" + url = f"{parsed_host.scheme}://{amqp_user}@{parsed_host.netloc}:{self.port}" ssl_options = _create_rabbitmq_ssl_options(self.host) logger.info("Connecting to RabbitMQ ...")