Address missing core.dcos_url when mesos_master_url is provided (#640)
This commit is contained in:
@@ -9,7 +9,10 @@ from mock import MagicMock, patch
|
||||
from .common import assert_mock
|
||||
|
||||
|
||||
def test_log_master_unavailable():
|
||||
@patch('dcos.util.get_config')
|
||||
def test_log_master_unavailable(config_mock):
|
||||
config_mock.return_value = {'core.dcos_url': 'foo'}
|
||||
|
||||
""" Test master's state.json being unavailable """
|
||||
client = mesos.DCOSClient()
|
||||
client.get_master_state = _mock_exception()
|
||||
|
||||
@@ -30,14 +30,11 @@ class DCOSClient(object):
|
||||
|
||||
def __init__(self):
|
||||
config = util.get_config()
|
||||
self._dcos_url = None
|
||||
self._mesos_master_url = None
|
||||
|
||||
mesos_master_url = config.get('core.mesos_master_url')
|
||||
if mesos_master_url is None:
|
||||
self._dcos_url = util.get_config_vals(['core.dcos_url'], config)[0]
|
||||
else:
|
||||
self._mesos_master_url = mesos_master_url
|
||||
self._dcos_url = config.get("core.dcos_url")
|
||||
if self._dcos_url is None:
|
||||
raise util.missing_config_exception(['core.dcos_url'])
|
||||
self._mesos_master_url = config.get('core.mesos_master_url')
|
||||
|
||||
self._timeout = config.get('core.timeout')
|
||||
|
||||
@@ -49,10 +46,8 @@ class DCOSClient(object):
|
||||
:returns: DCOS URL
|
||||
:rtype: str
|
||||
"""
|
||||
if self._dcos_url:
|
||||
return urllib.parse.urljoin(self._dcos_url, path)
|
||||
else:
|
||||
raise util.missing_config_exception('core.dcos_url')
|
||||
|
||||
return urllib.parse.urljoin(self._dcos_url, path)
|
||||
|
||||
def master_url(self, path):
|
||||
""" Create a master URL
|
||||
@@ -83,11 +78,11 @@ class DCOSClient(object):
|
||||
|
||||
"""
|
||||
|
||||
if self._dcos_url:
|
||||
if self._mesos_master_url:
|
||||
return urllib.parse.urljoin(private_url, path)
|
||||
else:
|
||||
return urllib.parse.urljoin(self._dcos_url,
|
||||
'slave/{}/{}'.format(slave_id, path))
|
||||
else:
|
||||
return urllib.parse.urljoin(private_url, path)
|
||||
|
||||
def get_master_state(self):
|
||||
"""Get the Mesos master state json object
|
||||
|
||||
Reference in New Issue
Block a user