From 1a8adfbceb59817a12288b0751d6e5067c8c274d Mon Sep 17 00:00:00 2001
From: Mark McLoughlin <markmc@redhat.com>
Date: Sun, 16 Jun 2013 15:56:49 +0100
Subject: [PATCH] Fix parse_urls() buglets

When you expect split() to return 2 values, make sure to tell it to only
do a single split.
---
 oslo/messaging/_urls.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/oslo/messaging/_urls.py b/oslo/messaging/_urls.py
index 7b8f6ee77..6a979ec91 100644
--- a/oslo/messaging/_urls.py
+++ b/oslo/messaging/_urls.py
@@ -91,8 +91,9 @@ def parse_url(url, default_exchange=None):
             continue
 
         if "@" in host:
-            creds, host = host.split("@")
-            username, password = creds.split(":")
+            username, host = host.split("@", 1)
+            if ":" in username:
+                username, password = username.split(":", 1)
 
         hosts.append({
             "host": host,