Skip to content

Commit bc3d05a

Browse files
committed
feat(backend): redis-cluster 支持存储访问入口 #7712
1 parent 38b09d3 commit bc3d05a

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

dbm-ui/backend/db_meta/api/cluster/nosqlcomm/detail_cluster.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from django.utils.translation import gettext as _
1414

1515
from backend.db_meta.api.cluster.base.graph import Graphic, Group, LineLabel
16+
from backend.db_meta.enums import ClusterEntryRole, InstanceInnerRole
1617
from backend.db_meta.models import Cluster, StorageInstanceTuple
1718

1819
logger = logging.getLogger("root")
@@ -33,7 +34,7 @@ def scan_cluster(cluster: Cluster) -> Graphic:
3334
).filter(receiver__cluster=cluster, ejector__cluster=cluster):
3435
ejector_instance = tr.ejector
3536
receiver_instance = tr.receiver
36-
ejector_instance_node, ejector_instance_grp = graph.add_node(ejector_instance)
37+
ejector_instance_node, ejector_instance_group = graph.add_node(ejector_instance)
3738
receiver_instance_node, receiver_instance_group = graph.add_node(receiver_instance)
3839
graph.add_line(source=ejector_instance_node, target=receiver_instance_node, label=LineLabel.Rep)
3940

@@ -42,13 +43,26 @@ def scan_cluster(cluster: Cluster) -> Graphic:
4243
proxy_instance_group = None
4344
for proxy_instance in cluster.proxyinstance_set.all():
4445
dummy_proxy_instance_node, proxy_instance_group = graph.add_node(proxy_instance, proxy_instance_group)
45-
backend_instance = proxy_instance.storageinstance.first()
46-
backend_instance_grp = graph.get_or_create_group(*Group.generate_group_info(backend_instance))
47-
graph.add_line(source=proxy_instance_group, target=backend_instance_grp, label=LineLabel.Access)
46+
master_backend_instance = proxy_instance.storageinstance.first()
47+
master_backend_instance_grp = graph.get_or_create_group(*Group.generate_group_info(master_backend_instance))
48+
graph.add_line(source=proxy_instance_group, target=master_backend_instance_grp, label=LineLabel.Access)
4849

4950
master_bind_entry_group = Group(node_id="master_bind_entry_group", group_name=_("访问入口(主)"))
50-
for be in proxy_instance.bind_entry.all():
51-
dummy_be_node, master_bind_entry_group = graph.add_node(be, to_group=master_bind_entry_group)
51+
for bind_entry in proxy_instance.bind_entry.filter(role=ClusterEntryRole.MASTER_ENTRY.value):
52+
dummy_be_node, master_bind_entry_group = graph.add_node(bind_entry, to_group=master_bind_entry_group)
5253
graph.add_line(source=master_bind_entry_group, target=proxy_instance_group, label=LineLabel.Bind)
5354

55+
# 存储层访问入口
56+
nodes_bind_entry_group = Group(node_id="nodes_bind_entry_group", group_name=_("存储层访问入口"))
57+
for bind_entry in master_backend_instance.bind_entry.filter(role=ClusterEntryRole.NODE_ENTRY.value):
58+
dummy_be_node, nodes_bind_entry_group = graph.add_node(bind_entry, to_group=nodes_bind_entry_group)
59+
graph.add_line(source=nodes_bind_entry_group, target=master_backend_instance_grp, label=LineLabel.Bind)
60+
61+
# slave 存储访问入口
62+
slave_instance = cluster.storageinstance_set.filter(instance_inner_role=InstanceInnerRole.SLAVE.value).first()
63+
slave_instance_group = graph.get_or_create_group(*Group.generate_group_info(slave_instance))
64+
for bind_entry in master_backend_instance.bind_entry.filter(role=ClusterEntryRole.NODE_ENTRY.value):
65+
dummy_be_node, nodes_bind_entry_group = graph.add_node(bind_entry, to_group=nodes_bind_entry_group)
66+
graph.add_line(source=proxy_instance_group, target=slave_instance_group, label=LineLabel.Bind)
67+
5468
return graph

0 commit comments

Comments
 (0)