diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-08-08 01:27:39 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-08-08 01:27:39 +0000 |
| commit | 5d1793321503ce630ff1de05db32d17915bc9d29 (patch) | |
| tree | 48365c9b3215fc85e4359a25dd5965f215f7c142 /openstack | |
| parent | 5998bca22bcd03b1c4f990b7cf83babc07694e6f (diff) | |
| parent | 3f2f70e0785e11434f6f863ce8eacc1b0ef1782d (diff) | |
| download | oslo-5d1793321503ce630ff1de05db32d17915bc9d29.tar.gz oslo-5d1793321503ce630ff1de05db32d17915bc9d29.tar.xz oslo-5d1793321503ce630ff1de05db32d17915bc9d29.zip | |
Merge "Helper function to sanitize db url credentials"
Diffstat (limited to 'openstack')
| -rw-r--r-- | openstack/common/db/sqlalchemy/session.py | 6 | ||||
| -rw-r--r-- | openstack/common/db/sqlalchemy/utils.py | 11 |
2 files changed, 13 insertions, 4 deletions
diff --git a/openstack/common/db/sqlalchemy/session.py b/openstack/common/db/sqlalchemy/session.py index e83009c..236136e 100644 --- a/openstack/common/db/sqlalchemy/session.py +++ b/openstack/common/db/sqlalchemy/session.py @@ -279,13 +279,11 @@ database_opts = [ deprecated_opts=[cfg.DeprecatedOpt('sql_connection', group='DEFAULT'), cfg.DeprecatedOpt('sql_connection', - group='DATABASE')], - secret=True), + group='DATABASE')]), cfg.StrOpt('slave_connection', default='', help='The SQLAlchemy connection string used to connect to the ' - 'slave database', - secret=True), + 'slave database'), cfg.IntOpt('idle_timeout', default=3600, deprecated_opts=[cfg.DeprecatedOpt('sql_idle_timeout', diff --git a/openstack/common/db/sqlalchemy/utils.py b/openstack/common/db/sqlalchemy/utils.py index caf5569..64edec2 100644 --- a/openstack/common/db/sqlalchemy/utils.py +++ b/openstack/common/db/sqlalchemy/utils.py @@ -18,6 +18,8 @@ # License for the specific language governing permissions and limitations # under the License. +import re + from migrate.changeset import UniqueConstraint import sqlalchemy from sqlalchemy import Boolean @@ -45,6 +47,15 @@ from openstack.common import timeutils LOG = logging.getLogger(__name__) +_DBURL_REGEX = re.compile(r"[^:]+://([^:]+):([^@]+)@.+") + + +def sanitize_db_url(url): + match = _DBURL_REGEX.match(url) + if match: + return '%s****:****%s' % (url[:match.start(1)], url[match.end(2):]) + return url + class InvalidSortKey(Exception): message = _("Sort key supplied was not valid.") |
