Merge pull request #51120 from mgfritch/cephadm-haproxy-offline-host

cephadm: reschedule haproxy from an offline host

Reviewed-by: Adam King <adking@redhat.com>
This commit is contained in:
Adam King 2023-04-25 11:21:28 -04:00 committed by GitHub
commit 76b2e83b4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 4 deletions

View File

@ -1577,12 +1577,40 @@ class RescheduleFromOfflineTest(NamedTuple):
[[]],
[[]],
),
RescheduleFromOfflineTest(
'ingress',
PlacementSpec(count=1),
'host1 host2'.split(),
[],
['host2'],
[
DaemonDescription('haproxy', 'b', 'host2'),
DaemonDescription('keepalived', 'b', 'host2'),
],
[['host1']],
[[]],
),
])
def test_remove_from_offline(service_type, placement, hosts, maintenance_hosts, offline_hosts, daemons, expected_add, expected_remove):
spec = ServiceSpec(service_type=service_type,
service_id='test',
placement=placement)
if service_type == 'ingress':
spec = \
IngressSpec(
service_type='ingress',
service_id='nfs-ha.foo',
frontend_port=443,
monitor_port=8888,
virtual_ip='10.0.0.20/8',
backend_service='nfs-ha.foo',
placement=placement,
)
else:
spec = \
ServiceSpec(
service_type=service_type,
service_id='test',
placement=placement,
)
host_specs = [HostSpec(h) for h in hosts]
for h in host_specs:

View File

@ -26,7 +26,7 @@ CEPH_TYPES = ['mgr', 'mon', 'crash', 'osd', 'mds', 'rgw',
GATEWAY_TYPES = ['iscsi', 'nfs']
MONITORING_STACK_TYPES = ['node-exporter', 'prometheus',
'alertmanager', 'grafana', 'loki', 'promtail']
RESCHEDULE_FROM_OFFLINE_HOSTS_TYPES = ['nfs']
RESCHEDULE_FROM_OFFLINE_HOSTS_TYPES = ['haproxy', 'nfs']
CEPH_UPGRADE_ORDER = CEPH_TYPES + GATEWAY_TYPES + MONITORING_STACK_TYPES