mirror of
https://github.com/ceph/ceph
synced 2025-03-11 02:39:05 +00:00
mgr/cephadm: test: Move test_monitoring_ports to TestMonitoring
Signed-off-by: Sebastian Wagner <sewagner@redhat.com>
This commit is contained in:
parent
f4c1544633
commit
c1c1e961f6
@ -4,8 +4,6 @@ from contextlib import contextmanager
|
||||
|
||||
import pytest
|
||||
|
||||
import yaml
|
||||
|
||||
from ceph.deployment.drive_group import DriveGroupSpec, DeviceSelection
|
||||
from cephadm.serve import CephadmServe
|
||||
from cephadm.services.osd import OSD, OSDRemovalQueue, OsdIdClaims
|
||||
@ -370,38 +368,6 @@ class TestCephadm(object):
|
||||
+ '"keyring": "", "files": {"config": "[mon.test]\\npublic network = 127.0.0.0/8\\n"}}',
|
||||
image='')
|
||||
|
||||
@mock.patch("cephadm.serve.CephadmServe._run_cephadm")
|
||||
def test_monitoring_ports(self, _run_cephadm, cephadm_module: CephadmOrchestrator):
|
||||
_run_cephadm.return_value = ('{}', '', 0)
|
||||
|
||||
with with_host(cephadm_module, 'test'):
|
||||
|
||||
yaml_str = """service_type: alertmanager
|
||||
service_name: alertmanager
|
||||
placement:
|
||||
count: 1
|
||||
spec:
|
||||
port: 4200
|
||||
"""
|
||||
yaml_file = yaml.safe_load(yaml_str)
|
||||
spec = ServiceSpec.from_json(yaml_file)
|
||||
|
||||
with mock.patch("cephadm.services.monitoring.AlertmanagerService.generate_config", return_value=({}, [])):
|
||||
with with_service(cephadm_module, spec):
|
||||
|
||||
CephadmServe(cephadm_module)._check_daemons()
|
||||
|
||||
_run_cephadm.assert_called_with(
|
||||
'test', 'alertmanager.test', 'deploy', [
|
||||
'--name', 'alertmanager.test',
|
||||
'--meta-json', '{"service_name": "alertmanager", "ports": [4200, 9094], "ip": null, "deployed_by": [], "rank": null, "rank_generation": null}',
|
||||
'--config-json', '-',
|
||||
'--tcp-ports', '4200 9094',
|
||||
'--reconfig'
|
||||
],
|
||||
stdin='{}',
|
||||
image='')
|
||||
|
||||
@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
|
||||
def test_daemon_check_post(self, cephadm_module: CephadmOrchestrator):
|
||||
with with_host(cephadm_module, 'test'):
|
||||
@ -899,8 +865,10 @@ spec:
|
||||
assert not r
|
||||
assert cephadm_module.health_checks.get('CEPHADM_DAEMON_PLACE_FAIL') is not None
|
||||
assert cephadm_module.health_checks['CEPHADM_DAEMON_PLACE_FAIL']['count'] == 1
|
||||
assert 'Failed to place 1 daemon(s)' in cephadm_module.health_checks['CEPHADM_DAEMON_PLACE_FAIL']['summary']
|
||||
assert 'Failed while placing mgr.a on test: fail' in cephadm_module.health_checks['CEPHADM_DAEMON_PLACE_FAIL']['detail']
|
||||
assert 'Failed to place 1 daemon(s)' in cephadm_module.health_checks[
|
||||
'CEPHADM_DAEMON_PLACE_FAIL']['summary']
|
||||
assert 'Failed while placing mgr.a on test: fail' in cephadm_module.health_checks[
|
||||
'CEPHADM_DAEMON_PLACE_FAIL']['detail']
|
||||
|
||||
@mock.patch("cephadm.serve.CephadmServe._run_cephadm")
|
||||
def test_apply_spec_fail_health_warning(self, _run_cephadm, cephadm_module: CephadmOrchestrator):
|
||||
@ -913,7 +881,8 @@ spec:
|
||||
assert cephadm_module.apply_spec_fails
|
||||
assert cephadm_module.health_checks.get('CEPHADM_APPLY_SPEC_FAIL') is not None
|
||||
assert cephadm_module.health_checks['CEPHADM_APPLY_SPEC_FAIL']['count'] == 1
|
||||
assert 'Failed to apply 1 service(s)' in cephadm_module.health_checks['CEPHADM_APPLY_SPEC_FAIL']['summary']
|
||||
assert 'Failed to apply 1 service(s)' in cephadm_module.health_checks[
|
||||
'CEPHADM_APPLY_SPEC_FAIL']['summary']
|
||||
|
||||
@mock.patch("cephadm.module.CephadmOrchestrator.get_foreign_ceph_option")
|
||||
@mock.patch("cephadm.serve.CephadmServe._run_cephadm")
|
||||
@ -922,11 +891,14 @@ spec:
|
||||
with with_host(cephadm_module, 'test'):
|
||||
ps = PlacementSpec(hosts=['test:0.0.0.0=a'], count=1)
|
||||
get_foreign_ceph_option.side_effect = KeyError
|
||||
CephadmServe(cephadm_module)._apply_service_config(ServiceSpec('mgr', placement=ps, config={'test': 'foo'}))
|
||||
CephadmServe(cephadm_module)._apply_service_config(
|
||||
ServiceSpec('mgr', placement=ps, config={'test': 'foo'}))
|
||||
assert cephadm_module.health_checks.get('CEPHADM_INVALID_CONFIG_OPTION') is not None
|
||||
assert cephadm_module.health_checks['CEPHADM_INVALID_CONFIG_OPTION']['count'] == 1
|
||||
assert 'Ignoring 1 invalid config option(s)' in cephadm_module.health_checks['CEPHADM_INVALID_CONFIG_OPTION']['summary']
|
||||
assert 'Ignoring invalid mgr config option test' in cephadm_module.health_checks['CEPHADM_INVALID_CONFIG_OPTION']['detail']
|
||||
assert 'Ignoring 1 invalid config option(s)' in cephadm_module.health_checks[
|
||||
'CEPHADM_INVALID_CONFIG_OPTION']['summary']
|
||||
assert 'Ignoring invalid mgr config option test' in cephadm_module.health_checks[
|
||||
'CEPHADM_INVALID_CONFIG_OPTION']['detail']
|
||||
|
||||
@mock.patch("cephadm.serve.CephadmServe._run_cephadm", _run_cephadm('{}'))
|
||||
@mock.patch("cephadm.services.nfs.NFSService.run_grace_tool", mock.MagicMock())
|
||||
|
@ -1,10 +1,12 @@
|
||||
from textwrap import dedent
|
||||
import json
|
||||
import yaml
|
||||
|
||||
import pytest
|
||||
|
||||
from unittest.mock import MagicMock, call, patch
|
||||
|
||||
from cephadm.serve import CephadmServe
|
||||
from cephadm.services.cephadmservice import MonService, MgrService, MdsService, RgwService, \
|
||||
RbdMirrorService, CrashService, CephadmDaemonDeploySpec
|
||||
from cephadm.services.iscsi import IscsiService
|
||||
@ -13,14 +15,13 @@ from cephadm.services.osd import OSDService
|
||||
from cephadm.services.monitoring import GrafanaService, AlertmanagerService, PrometheusService, \
|
||||
NodeExporterService
|
||||
from cephadm.module import CephadmOrchestrator
|
||||
from ceph.deployment.service_spec import IscsiServiceSpec, MonitoringSpec, AlertManagerSpec
|
||||
from ceph.deployment.service_spec import IscsiServiceSpec, MonitoringSpec, AlertManagerSpec, ServiceSpec
|
||||
from cephadm.tests.fixtures import with_host, with_service
|
||||
|
||||
from orchestrator import OrchestratorError
|
||||
from orchestrator._interface import DaemonDescription
|
||||
|
||||
|
||||
|
||||
class FakeInventory:
|
||||
def get_addr(self, name: str) -> str:
|
||||
return '1.2.3.4'
|
||||
@ -386,3 +387,35 @@ class TestMonitoring:
|
||||
'--config-json', '-', '--tcp-ports', '3000'],
|
||||
stdin=json.dumps({"files": files}),
|
||||
image='')
|
||||
|
||||
@patch("cephadm.serve.CephadmServe._run_cephadm")
|
||||
def test_monitoring_ports(self, _run_cephadm, cephadm_module: CephadmOrchestrator):
|
||||
_run_cephadm.return_value = ('{}', '', 0)
|
||||
|
||||
with with_host(cephadm_module, 'test'):
|
||||
|
||||
yaml_str = """service_type: alertmanager
|
||||
service_name: alertmanager
|
||||
placement:
|
||||
count: 1
|
||||
spec:
|
||||
port: 4200
|
||||
"""
|
||||
yaml_file = yaml.safe_load(yaml_str)
|
||||
spec = ServiceSpec.from_json(yaml_file)
|
||||
|
||||
with patch("cephadm.services.monitoring.AlertmanagerService.generate_config", return_value=({}, [])):
|
||||
with with_service(cephadm_module, spec):
|
||||
|
||||
CephadmServe(cephadm_module)._check_daemons()
|
||||
|
||||
_run_cephadm.assert_called_with(
|
||||
'test', 'alertmanager.test', 'deploy', [
|
||||
'--name', 'alertmanager.test',
|
||||
'--meta-json', '{"service_name": "alertmanager", "ports": [4200, 9094], "ip": null, "deployed_by": [], "rank": null, "rank_generation": null}',
|
||||
'--config-json', '-',
|
||||
'--tcp-ports', '4200 9094',
|
||||
'--reconfig'
|
||||
],
|
||||
stdin='{}',
|
||||
image='')
|
||||
|
Loading…
Reference in New Issue
Block a user