Merge "Disable REST API to avoid clash"
This commit is contained in:
commit
a2852782f0
|
@ -381,6 +381,10 @@ class MySQLRouterCharm(charms_openstack.charm.OpenStackCharm):
|
|||
"--conf-use-sockets",
|
||||
"--conf-bind-address", self.shared_db_address,
|
||||
"--conf-base-port", str(self.mysqlrouter_port)]
|
||||
# Avoid multiple routers trying to bind to the same api port
|
||||
# Bug #1911907
|
||||
if ch_core.host.cmp_pkgrevno('mysql-router', '8.0.22') >= 0:
|
||||
cmd.append("--disable-rest")
|
||||
try:
|
||||
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
|
||||
ch_core.hookenv.log(output, "DEBUG")
|
||||
|
|
|
@ -74,6 +74,7 @@ class TestMySQLRouterCharm(test_utils.PatchHelper):
|
|||
self.patch_object(mysql_router.ch_core.host, "user_exists")
|
||||
self.patch_object(mysql_router.ch_core.host, "group_exists")
|
||||
self.patch_object(mysql_router.ch_core.host, "mkdir")
|
||||
self.patch_object(mysql_router.ch_core.host, "cmp_pkgrevno")
|
||||
|
||||
self.stdout = mock.MagicMock()
|
||||
self.subprocess.STDOUT = self.stdout
|
||||
|
@ -379,18 +380,37 @@ class TestMySQLRouterCharm(test_utils.PatchHelper):
|
|||
mrc.options.system_user = _user
|
||||
mrc.options.base_port = _port
|
||||
|
||||
# Successful
|
||||
# Successful < 8.0.22
|
||||
self.cmp_pkgrevno.return_value = -1
|
||||
mrc.bootstrap_mysqlrouter()
|
||||
self.subprocess.check_output.assert_called_once_with(
|
||||
[mrc.mysqlrouter_bin, "--user", _user, "--bootstrap",
|
||||
"{}:{}@{}".format(mrc.db_router_user, _pass, _addr),
|
||||
"--directory", mrc.mysqlrouter_working_dir, "--conf-use-sockets",
|
||||
"--directory", mrc.mysqlrouter_working_dir,
|
||||
"--conf-use-sockets",
|
||||
"--conf-bind-address", mrc.shared_db_address,
|
||||
"--conf-base-port", _port],
|
||||
stderr=self.stdout)
|
||||
self.set_flag.assert_called_once_with(
|
||||
mysql_router.MYSQL_ROUTER_BOOTSTRAPPED)
|
||||
|
||||
# Successful >= 8.0.22
|
||||
self.subprocess.reset_mock()
|
||||
self.set_flag.reset_mock()
|
||||
self.cmp_pkgrevno.return_value = 1
|
||||
mrc.bootstrap_mysqlrouter()
|
||||
self.subprocess.check_output.assert_called_once_with(
|
||||
[mrc.mysqlrouter_bin, "--user", _user, "--bootstrap",
|
||||
"{}:{}@{}".format(mrc.db_router_user, _pass, _addr),
|
||||
"--directory", mrc.mysqlrouter_working_dir,
|
||||
"--conf-use-sockets",
|
||||
"--conf-bind-address", mrc.shared_db_address,
|
||||
"--conf-base-port", _port,
|
||||
"--disable-rest"],
|
||||
stderr=self.stdout)
|
||||
self.set_flag.assert_called_once_with(
|
||||
mysql_router.MYSQL_ROUTER_BOOTSTRAPPED)
|
||||
|
||||
# Fail
|
||||
self.subprocess.reset_mock()
|
||||
self.set_flag.reset_mock()
|
||||
|
|
Loading…
Reference in New Issue