Set port for mysql connection in Shared-DB
Change-Id: I2e7e95a4ee7d25b520af823085bd8c577e232e30
This commit is contained in:
parent
21da52526c
commit
89d60a48df
@ -458,6 +458,13 @@ class DatabaseRelationAdapter(OpenStackRelationAdapter):
|
||||
"""
|
||||
return self.relation.db_host()
|
||||
|
||||
@property
|
||||
def port(self):
|
||||
"""
|
||||
Port that should be used to access a database.
|
||||
"""
|
||||
return self.relation.db_port()
|
||||
|
||||
@property
|
||||
def type(self):
|
||||
return 'mysql'
|
||||
@ -475,19 +482,21 @@ class DatabaseRelationAdapter(OpenStackRelationAdapter):
|
||||
ch_utils.OPENSTACK_RELEASES.index('stein')):
|
||||
driver = 'mysql+pymysql'
|
||||
if prefix:
|
||||
uri = '{}://{}:{}@{}/{}'.format(
|
||||
uri = '{}://{}:{}@{}:{}/{}'.format(
|
||||
driver,
|
||||
self.relation.username(prefix=prefix),
|
||||
self.relation.password(prefix=prefix),
|
||||
self.host,
|
||||
self.port,
|
||||
self.relation.database(prefix=prefix),
|
||||
)
|
||||
else:
|
||||
uri = '{}://{}:{}@{}/{}'.format(
|
||||
uri = '{}://{}:{}@{}:{}/{}'.format(
|
||||
driver,
|
||||
self.username,
|
||||
self.password,
|
||||
self.host,
|
||||
self.port,
|
||||
self.database,
|
||||
)
|
||||
try:
|
||||
|
@ -373,6 +373,9 @@ class FakeDatabaseRelation():
|
||||
def db_host(self):
|
||||
return 'host1'
|
||||
|
||||
def db_port(self):
|
||||
return 3306
|
||||
|
||||
def username(self, prefix=''):
|
||||
return 'username1{}'.format(prefix)
|
||||
|
||||
@ -399,16 +402,17 @@ class TestDatabaseRelationAdapter(unittest.TestCase):
|
||||
fake = FakeDatabaseRelation()
|
||||
db = adapters.DatabaseRelationAdapter(fake)
|
||||
self.assertEqual(db.host, 'host1')
|
||||
self.assertEqual(db.port, 3306)
|
||||
self.assertEqual(db.type, 'mysql')
|
||||
self.assertEqual(db.password, 'password1')
|
||||
self.assertEqual(db.username, 'username1')
|
||||
self.assertEqual(db.database, 'database1')
|
||||
self.assertEqual(
|
||||
db.uri,
|
||||
'mysql://username1:password1@host1/database1')
|
||||
'mysql://username1:password1@host1:3306/database1')
|
||||
self.assertEqual(
|
||||
db.get_uri('x'),
|
||||
'mysql://username1x:password1x@host1/database1x')
|
||||
'mysql://username1x:password1x@host1:3306/database1x')
|
||||
self.assertEqual(
|
||||
db.get_password('x'),
|
||||
'password1x')
|
||||
@ -416,7 +420,7 @@ class TestDatabaseRelationAdapter(unittest.TestCase):
|
||||
db = SSLDatabaseRelationAdapter(fake)
|
||||
self.assertEqual(
|
||||
db.uri,
|
||||
'mysql://username1:password1@host1/database1'
|
||||
'mysql://username1:password1@host1:3306/database1'
|
||||
'?ssl_ca=my-ca'
|
||||
'&ssl_cert=my-cert&ssl_key=my-key')
|
||||
with mock.patch.object(adapters.ch_utils,
|
||||
@ -426,10 +430,10 @@ class TestDatabaseRelationAdapter(unittest.TestCase):
|
||||
db = adapters.DatabaseRelationAdapter(fake)
|
||||
self.assertEqual(
|
||||
db.uri,
|
||||
'mysql+pymysql://username1:password1@host1/database1')
|
||||
'mysql+pymysql://username1:password1@host1:3306/database1')
|
||||
self.assertEqual(
|
||||
db.get_uri('x'),
|
||||
'mysql+pymysql://username1x:password1x@host1/database1x')
|
||||
'mysql+pymysql://username1x:password1x@host1:3306/database1x')
|
||||
self.assertEqual(
|
||||
db.get_password('x'),
|
||||
'password1x')
|
||||
@ -437,7 +441,7 @@ class TestDatabaseRelationAdapter(unittest.TestCase):
|
||||
db = SSLDatabaseRelationAdapter(fake)
|
||||
self.assertEqual(
|
||||
db.uri,
|
||||
'mysql+pymysql://username1:password1@host1/database1'
|
||||
'mysql+pymysql://username1:password1@host1:3306/database1'
|
||||
'?ssl_ca=my-ca'
|
||||
'&ssl_cert=my-cert&ssl_key=my-key')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user