Skip to content

tao.yang/zstack-ZSV-3564@@2#2

Closed
MatheMatrix wants to merge 1 commit intosync/feature-zsv_4.1.0_ui_performance_newfrom
tao.yang/zstack-ZSV-3564@@2
Closed

tao.yang/zstack-ZSV-3564@@2#2
MatheMatrix wants to merge 1 commit intosync/feature-zsv_4.1.0_ui_performance_newfrom
tao.yang/zstack-ZSV-3564@@2

Conversation

@MatheMatrix
Copy link
Owner

@MatheMatrix MatheMatrix commented Dec 6, 2023

sync/feature-zsv_4.1.0_ui_performance_new

Summary by CodeRabbit

  • 新功能

    • 在应用程序中增加了搜索功能,用户现在可以通过顶部的搜索栏快速找到所需内容。
  • 功能优化

    • 对网络层的实现逻辑进行了调整,以支持更多类型的网络提供商。
  • 错误修复

    • 修复了在特定条件下网络验证可能失败的问题。
  • 界面改进

    • 对搜索栏的样式进行了优化,以提升用户体验。

Resolves: ZSV-3564

Change-Id: I64796f6a707778747a6272656573786975717967
@coderabbitai
Copy link

coderabbitai bot commented Dec 6, 2023

Walkthrough

代码变更主要涉及Java类的方法签名修改、逻辑流程调整以及数据结构重构。特别是,L2NetworkManager接口和相关实现类中的getRealizationExtension方法经过重载,参数组合更加多样化。此外,移除了多个类中的getSupportedVSwitchType方法,反映了对虚拟交换类型处理逻辑的调整。

Changes

文件路径 变更摘要
header/.../L2NetworkRealizationExtensionPoint.java 移除方法getL2ProviderType的分号
network/.../L2NetworkApiInterceptor.java 添加新的条件块处理msg.getL2ProviderType()为空的情况
network/.../L2NetworkManager.java getRealizationExtension方法新增重载版本,参数组合更丰富
network/.../L2NetworkManagerImpl.java 数据结构重构,方法签名变更
network/.../L2NoVlanNetwork.java 导入语句变更,方法逻辑微调
plugin/kvm/.../AbstractKVMConnectExtensionForL2Network.java 逻辑和功能变更,包括新的导入语句和数据库查询调整
plugin/kvm/.../KVMConstant.java 添加新的L2提供者类型常量
plugin/kvm/.../KVMRealizeL2NoVlanNetworkBackend.java 移除getSupportedVSwitchType方法,格式调整
plugin/kvm/.../KVMRealizeL2VlanNetworkBackend.java 导入语句和方法逻辑变更
plugin/sdnController/.../HardwareVxlanNetwork.java 移除realizeNetwork方法中的VSwitchType声明和使用
plugin/sdnController/.../KVMRealizeHardwareVxlanNetworkBackend.java 导入语句变更,移除getSupportedVSwitchType方法
plugin/sdnController/.../KVMRealizeHardwareVxlanPoolNetworkBackend.java 移除getSupportedVSwitchType方法,getL2NetworkTypeVmNicOn方法逻辑变更
plugin/vxlan/.../VxlanNetwork.java realizeNetwork方法逻辑变更,移除VSwitchType相关逻辑
plugin/vxlan/.../KVMRealizeL2VxlanNetworkBackend.java 导入语句变更,移除getSupportedVSwitchType方法
plugin/vxlan/.../KVMRealizeL2VxlanNetworkPoolBackend.java 导入语句和变量声明变更,移除getSupportedVSwitchType方法
plugin/vxlan/.../VxlanNetworkPool.java realizeNetwork方法逻辑变更
simulator/.../L2NoVlanNetworkRealizer.java 导入语句变更,移除getSupportedVSwitchType方法
simulator/.../L2VlanNetworkRealizer.java 移除getSupportedVSwitchType方法

Poem

🐰🌟

代码流转新篇章,
方法签名舞轻扬。
结构重塑逻辑强,
兔子庆祝跳跃忙。
🎉🌿


Tips

Chat with CodeRabbit Bot (@coderabbitai)

  • If you reply to a review comment from CodeRabbit, the bot will automatically respond.
  • To engage with CodeRabbit bot directly around the specific lines of code in the PR, mention @coderabbitai in your review comment
  • Note: Review comments are made on code diffs or files, not on the PR overview.
  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Note: For conversation with the bot, please use the review comments on code diffs or files.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 5

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between e3dc5a3 and 8ed722f.
Files selected for processing (18)
  • header/src/main/java/org/zstack/header/network/l2/L2NetworkRealizationExtensionPoint.java (1 hunks)
  • network/src/main/java/org/zstack/network/l2/L2NetworkApiInterceptor.java (1 hunks)
  • network/src/main/java/org/zstack/network/l2/L2NetworkManager.java (1 hunks)
  • network/src/main/java/org/zstack/network/l2/L2NetworkManagerImpl.java (3 hunks)
  • network/src/main/java/org/zstack/network/l2/L2NoVlanNetwork.java (14 hunks)
  • plugin/kvm/src/main/java/org/zstack/kvm/AbstractKVMConnectExtensionForL2Network.java (6 hunks)
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMConstant.java (1 hunks)
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2NoVlanNetworkBackend.java (4 hunks)
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2VlanNetworkBackend.java (3 hunks)
  • plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetwork.java (1 hunks)
  • plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanNetworkBackend.java (5 hunks)
  • plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanPoolNetworkBackend.java (1 hunks)
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetwork.java (1 hunks)
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkBackend.java (5 hunks)
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkPoolBackend.java (5 hunks)
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPool.java (1 hunks)
  • simulator/simulatorImpl/src/main/java/org/zstack/simulator/L2NoVlanNetworkRealizer.java (2 hunks)
  • simulator/simulatorImpl/src/main/java/org/zstack/simulator/L2VlanNetworkRealizer.java (2 hunks)
Additional comments: 45
header/src/main/java/org/zstack/header/network/l2/L2NetworkRealizationExtensionPoint.java (1)
  • 19-21: 代码更改正确,移除了方法声明中不必要的分号,这是一个良好的代码风格实践。
network/src/main/java/org/zstack/network/l2/L2NetworkApiInterceptor.java (1)
  • 81-84: 在 validate 方法中添加了一个新的条件块,以处理 msg.getL2ProviderType() 为 null 且 l2.getvSwitchType() 不等于 L2NetworkConstant.VSWITCH_TYPE_LINUX_BRIDGE 的情况。这个改动符合 PR 的目标,并且逻辑上没有明显的问题。请确保这个逻辑更改不会影响其他依赖于 validate 方法的代码部分。
network/src/main/java/org/zstack/network/l2/L2NetworkManager.java (1)
  • 6-15: 请验证所有实现L2NetworkManager接口的类是否已经更新,以匹配新的getRealizationExtension方法签名。

Verification result:

在代码库中已确认L2NetworkManager接口的getRealizationExtension方法签名已更新,并且实现该接口的L2NetworkManagerImpl类也已更新以匹配新的方法签名。没有发现使用旧方法签名的代码。

network/src/main/java/org/zstack/network/l2/L2NetworkManagerImpl.java (3)
  • 54-61: 代码更改与之前的总结一致,数据结构和方法签名的重构似乎是为了改进性能和可维护性。请确保这些更改与整个代码库中的其他部分兼容,并且已经进行了相应的更新。

  • 498-540: 方法签名的更改与之前的总结一致,这些更改可能会影响依赖这些方法的代码。请确保所有相关的调用都已更新以适应这些更改。

  • 564-585: populateExtensions 方法的更新与之前的总结一致,这些更改涉及到如何填充新的数据结构。请确保这些更改不会影响系统的其他部分,并且已经进行了全面的测试。

network/src/main/java/org/zstack/network/l2/L2NoVlanNetwork.java (15)
  • 10-26: 在导入语句中,原有的通配符导入(例如 org.zstack.core.db.*)被替换为了具体类的导入。这是一个改进,因为它可以减少命名空间的污染,并且使得依赖关系更加明确。

  • 42-50: 添加了来自 org.zstack.core.Platform 的静态导入,这可能是为了简化错误处理代码的编写。

  • 113-117: 处理 L2NetworkDetachFromClusterMsg 消息的方法被移动到了一个新的位置。这种类型的更改通常是为了改善代码的组织结构,但需要确保没有逻辑上的变化。

  • 285-287: 在处理 DetachL2NetworkFromClusterMsg 消息时,代码逻辑似乎没有变化。这个方法的移动可能是为了代码清晰度或组织结构的考虑。

  • 290-297: 在处理 PrepareL2NetworkOnHostMsg 消息时,代码逻辑似乎没有变化。这个方法的移动可能是为了代码清晰度或组织结构的考虑。

  • 308-329: 在处理 CheckL2NetworkOnHostMsg 消息时,代码逻辑似乎没有变化。这个方法的移动可能是为了代码清晰度或组织结构的考虑。

  • 419-425: realizeNetwork 方法被添加到了 L2NoVlanNetwork 类中。这个方法使用了 L2NetworkManager 来获取 L2NetworkRealizationExtensionPoint 并调用其 realize 方法。这可能是为了实现网络的实现逻辑。

  • 498-504: 在 prepareL2NetworkOnHosts 方法中,使用了 While 类来异步处理主机列表,并在所有主机上准备 L2 网络。这种模式有助于提高性能,因为它允许并行处理。

  • 685-695: 在 attachL2NetworkToCluster 方法中,使用了 SQLBatch 来执行数据库操作。这是一个性能优化,因为它可以减少数据库操作的次数。

  • 699-707: 在 attachL2NetworkToCluster 方法中,检查是否已经有一个具有相同物理接口的 L2 网络连接到了集群。如果有,则抛出异常。这是一个正确性检查,确保不会有冲突的网络配置。

  • 718-726: 在 attachL2NetworkToCluster 方法中,检查是否已经有一个具有相同 VLAN 和物理接口的 L2 VLAN 网络连接到了集群。如果有,则抛出异常。这是一个正确性检查,确保不会有冲突的网络配置。

  • 751-762: 在 attachL2NetworkToCluster 方法中,准备主机上的 L2 网络,并在成功后将网络引用关系持久化到数据库。这是一个正确性和性能的改进,因为它确保了网络配置的一致性,并且使用了批处理来减少数据库操作。

  • 793-800: 在 deleteL2Bridge 方法中,如果没有集群 UUID 列表提供,则会获取当前 L2 网络附加的所有集群 UUID。如果没有附加的集群,则不需要执行删除操作。这是一个性能优化,因为它避免了不必要的操作。

  • 814-821: 在 deleteL2Bridge 方法中,根据提供者类型和集群 UUID 分组主机,并为每个主机准备删除操作。这是一个性能优化,因为它允许并行处理。

  • 838-844: 在 deleteL2Bridge 方法中,使用 While 类来异步处理主机列表,并在所有主机上删除 L2 网络。如果有错误发生,会记录错误但不会中断操作。这是一个性能优化,因为它允许并行处理,并且错误处理策略确保了操作的鲁棒性。

plugin/kvm/src/main/java/org/zstack/kvm/AbstractKVMConnectExtensionForL2Network.java (2)
  • 80-93: 请确认l2ProviderMap的使用不会导致事务外的延迟加载问题。如果l2ProviderMap在事务性方法外部使用,可能需要考虑将其填充逻辑移动到非事务性上下文中。

  • 80-80: 摘要中未提及在prepareNetwork方法中添加的HostVO检索和使用。这是一个重要的变化,应该在摘要中记录。

plugin/kvm/src/main/java/org/zstack/kvm/KVMConstant.java (1)
  • 139-141: 在KVMConstant接口中添加了新的常量字符串L2_PROVIDER_TYPE_OVS_DPDKL2_PROVIDER_TYPE_MACVLAN,并对L2_PROVIDER_TYPE_LINUX_BRIDGE常量进行了修改。这些更改可能会影响与网络配置或虚拟化相关的逻辑。
plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2VlanNetworkBackend.java (3)
  • 135-141: 第135-141行的错误处理逻辑看起来是正确的,如果CheckVlanBridgeResponse不成功,会适当地调用completion.fail

  • 175-177: 在第175-177行,getL2NetworkTypeVmNicOn方法现在返回getSupportedL2NetworkType的结果。请确认这个变更不会影响依赖于原始行为的代码。


Verification result:

KVMRealizeL2VlanNetworkBackend.java文件的175-177行,getL2NetworkTypeVmNicOn方法已更新,现在返回getSupportedL2NetworkType的结果。请确认此更改不会影响依赖于原始行为的代码。以下位置调用了getL2NetworkTypeVmNicOn方法,可能需要检查:

  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkPoolBackend.java
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkBackend.java
  • plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfCompleteNicInformationExtensionPointImpl.java
  • plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanPoolNetworkBackend.java
  • plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanNetworkBackend.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2NoVlanNetworkBackend.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMHostFactory.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMCompleteNicInformationExtensionPoint.java
  • 180-189: 在第180-189行,completeNicInformation方法现在直接使用NicTO类,而不是使用完全限定的类名。这是一个改进,因为它使代码更简洁。
plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/HardwareVxlanNetwork.java (1)
  • 60-66: 代码更改正确地反映了PR目标和生成的摘要中提到的realizeNetwork方法的修改,移除了VSwitchType vSwitchType的声明和使用。请确保这一变化不会影响依赖于VSwitchType的其他代码部分。
plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanNetworkBackend.java (3)
  • 11-19: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [11-33]

KVMRealizeHardwareVxlanNetworkBackend.java 文件中,新增了多个导入语句,这些变化与 PR 目标和 AI 生成的摘要一致。请确保新增的依赖项在项目中是必要的,并且没有导致任何不必要的依赖性膨胀。

  • 143-149: 在 check 方法中,对 CheckVlanBridgeResponse 的处理逻辑进行了修改,这与 AI 生成的摘要中提到的逻辑调整一致。请确保这些更改不会影响其他依赖此方法的代码部分。

  • 187-203: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [179-203]

completeNicInformation 方法的实现已经被修改,包括缩进和注释的添加。这些更改有助于提高代码的可读性和可维护性。请确保这些注释准确地描述了代码的功能,并且与项目的文档标准一致。

plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanPoolNetworkBackend.java (1)
  • 91-97: 请确认移除 getSupportedVSwitchType 方法和修改 getL2NetworkTypeVmNicOn 方法的返回值是否已在整个代码库中得到了正确的处理,以避免潜在的兼容性问题。

Verification result:

请确认移除 getSupportedVSwitchType 方法和修改 getL2NetworkTypeVmNicOn 方法的返回值是否已在整个代码库中得到了正确的处理,以避免潜在的兼容性问题。

plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetwork/VxlanNetwork.java (1)
  • 220-226: 在realizeNetwork方法中,移除了与VSwitchType相关的代码,这可能会影响到依赖于VSwitchType的其他代码部分。请确认这一更改已经在整个代码库中得到了正确的处理,并且不会导致任何功能上的回归。

Verification result:

在代码库中对VSwitchType的引用仍然存在,这表明移除VxlanNetwork.javarealizeNetwork方法对VSwitchType的引用可能会影响到其他依赖此类型的代码部分。请确保所有相关的代码都已经更新以适应这一变化,以防止任何潜在的功能回归。

plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkBackend.java (3)
  • 62-63: makeBridgeName方法中的字符串格式化现在包含了一个空格,这个更改在摘要中没有提到。如果这个空格是故意添加的,需要确保所有相关的调用都已经更新以匹配这个新格式。

  • 108-113: 在realize方法中,查询逻辑被修改以包含空格,这个更改在摘要中没有提到。请确认这个格式更改是否符合代码库的其他部分的风格标准。

  • 354-355: 确认移除getSupportedVSwitchType方法是预期的更改,并且所有依赖此方法的代码都已经更新或移除。

plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkPoolBackend.java (4)
  • 16-25: 新增了对L2NetworkConstantL2NetworkInventoryL2NetworkRealizationExtensionPointL2NetworkType的导入,这有助于提高代码的清晰度和可维护性。

  • 35-39: 新增了对ArrayListHashMapListMap的具体变量声明,替代了之前使用的通配符导入,这是一个改进,因为它提高了代码的可读性和避免了命名空间污染。

  • 206-217: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [206-237]

NoRollbackFlowrun方法中,修改了vxlanNetworkVOSdstports的检索逻辑。需要确认这些更改是否符合预期的业务逻辑,并且是否高效。

  • 311-316: getSupportedHypervisorType方法现在返回硬编码的HypervisorType.valueOf("KVM")。请验证这是否是预期的行为,因为这可能会限制代码的灵活性,使其只能在KVM上使用。
simulator/simulatorImpl/src/main/java/org/zstack/simulator/L2NoVlanNetworkRealizer.java (3)
  • 2-11: 确认新的导入语句是否与项目中的其他部分保持一致,并且没有导致任何潜在的命名冲突。

Verification result:

在此次提交中,L2NoVlanNetworkRealizer 类的 getSupportedVSwitchType 方法已被移除,且 realize 方法中添加了一个 debug 日志语句。同时,导入语句也有所更改,移除了通配符导入并添加了具体的类导入。通过执行相关命令,我们确认了以下几点:

  • org.zstack.header.network.l2.L2NetworkConstant 的导入在多个文件中使用,没有发现潜在的命名冲突。
  • org.zstack.header.network.l2.L2NetworkInventory 的导入在多个测试和插件文件中使用,同样没有发现潜在的命名冲突。
  • org.zstack.header.network.l2.L2NetworkType 的导入在少数几个文件中使用,也没有发现潜在的命名冲突。

基于以上信息,可以确认此次代码更改没有引入命名冲突,并且相关的导入语句与项目中的其他部分保持一致。

  • 16-18: 添加的日志语句看起来是合适的,用于在网络实现成功时提供调试信息。

  • 34-34: 确认移除 getSupportedVSwitchType 方法后,是否有其他代码依赖于这个方法,以及是否有必要在其他地方进行相应的更改。


Verification result:

在代码库中未找到对 getSupportedVSwitchType 方法的其他调用。因此,移除该方法似乎不会影响其他代码部分。

simulator/simulatorImpl/src/main/java/org/zstack/simulator/L2VlanNetworkRealizer.java (2)
  • 14-20: 代码看起来是正确的,realize方法已经根据PR目标和摘要中的描述进行了修改,移除了getSupportedVSwitchType方法的引用。

  • 37-42: getSupportedHypervisorType方法返回的是模拟器特定的HypervisorType,这与模拟器的预期行为一致。

Comment on lines 1092 to 1097
protected void realizeNetwork(String hostUuid, String htype, Completion completion) {
final HypervisorType hvType = HypervisorType.valueOf(htype);
final L2NetworkType l2Type = L2NetworkType.valueOf(self.getType());
final VSwitchType vSwitchType = VSwitchType.valueOf(self.getvSwitchType());

L2NetworkRealizationExtensionPoint ext = l2Mgr.getRealizationExtension(l2Type, vSwitchType, hvType);
L2NetworkRealizationExtensionPoint ext = l2Mgr.getRealizationExtension(l2Type, hvType);
ext.realize(getSelfInventory(), hostUuid, completion);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 NOTE
Codebase verification is a beta feature.

在代码库中发现多个位置仍然引用了已删除的vSwitchType。这可能会导致编译错误或运行时异常。以下是一些受影响的文件和行号的示例:

  • testlib/src/main/java/org/zstack/testlib/L2VlanNetworkSpec.groovy
  • sdk/src/main/java/org/zstack/sdk/L2NetworkInventory.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2VlanNetworkBackend.java
  • network/src/main/java/org/zstack/network/l2/L2NetworkManagerImpl.java
  • header/src/main/java/org/zstack/header/network/l2/L2NetworkVO.java

请确保所有引用vSwitchType的地方都已更新或移除,以避免潜在的问题。

Original review comment

确保realizeNetwork方法的更改与PR目标和AI生成的摘要一致,且不会影响现有功能。此外,检查是否有其他地方在代码库中引用了已删除的vSwitchType,以确保不会出现编译错误或运行时异常。

Comment on lines 26 to 32
import org.zstack.header.vm.VmInstanceSpec;
import org.zstack.header.vm.VmNicInventory;
import org.zstack.kvm.*;
import org.zstack.network.l2.vxlan.vtep.CreateVtepMsg;
import org.zstack.network.l2.vxlan.vtep.VtepVO;
import org.zstack.network.l2.vxlan.vtep.VtepVO_;
import org.zstack.network.l2.vxlan.vtep.*;
import org.zstack.network.l2.vxlan.vxlanNetwork.L2VxlanNetworkInventory;
import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkConstant;
import org.zstack.network.l2.vxlan.vxlanNetwork.VxlanNetworkVO;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

在导入语句中,使用了通配符导入org.zstack.network.l2.vxlan.vtep.*,这可能会导致未使用的类被导入,建议仅导入需要的类以保持代码的清晰和减少潜在的命名冲突。

@@ -143,7 +158,8 @@ public void done(ErrorCodeList errorCodeList) {
public void run(FlowTrigger trigger, Map data) {
List<L2NetworkInventory> novlanNetworks = l2Networks.stream().filter(l2 -> l2.getType().equals(L2NetworkConstant.L2_NO_VLAN_NETWORK_TYPE)).collect(Collectors.toList());
new While<>(novlanNetworks).step((l2, c) -> {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

考虑是否需要将While循环的并发级别(目前硬编码为10)设置为可配置的,或者根据系统要求提供合理的解释。

Comment on lines 171 to 177
return HypervisorType.valueOf(KVMConstant.KVM_HYPERVISOR_TYPE);
}

@Override
public L2NetworkType getL2NetworkTypeVmNicOn() {
return getSupportedL2NetworkType();
}

@Override
public VSwitchType getSupportedVSwitchType() {
return VSwitchType.valueOf(L2NetworkConstant.VSWITCH_TYPE_LINUX_BRIDGE);
public L2NetworkType getL2NetworkTypeVmNicOn() {
return getSupportedL2NetworkType();
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 NOTE
Codebase verification is a beta feature.

getL2NetworkTypeVmNicOn 方法已更新,现在返回 getSupportedL2NetworkType。以下文件中的相应方法调用需要检查以确保兼容性:

  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkPoolBackend.java
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/KVMRealizeL2VxlanNetworkBackend.java
  • plugin/sugonSdnController/src/main/java/org/zstack/sugonSdnController/network/TfCompleteNicInformationExtensionPointImpl.java
  • plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanPoolNetworkBackend.java
  • plugin/sdnController/src/main/java/org/zstack/sdnController/hardwareVxlan/KVMRealizeHardwareVxlanNetworkBackend.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMHostFactory.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2VlanNetworkBackend.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMRealizeL2NoVlanNetworkBackend.java
Original review comment

getL2NetworkTypeVmNicOn 方法已被修改,现在返回 getSupportedL2NetworkType。这是一个重要的更改,可能会影响依赖此方法的代码。请验证这一更改是否与整个项目的其他部分兼容。

Comment on lines 14 to +17
import org.zstack.header.network.l2.*;
import org.zstack.header.network.l3.L3NetworkInventory;
import org.zstack.header.vm.VmNicInventory;
import org.zstack.kvm.KVMAgentCommands.CheckVlanBridgeResponse;
import org.zstack.kvm.KVMAgentCommands.CreateVlanBridgeCmd;
import org.zstack.kvm.KVMAgentCommands.CreateVlanBridgeResponse;
import org.zstack.kvm.KVMAgentCommands.DeleteVlanBridgeCmd;
import org.zstack.kvm.KVMAgentCommands.DeleteVlanBridgeResponse;
import org.zstack.kvm.KVMAgentCommands.NicTO;
import org.zstack.kvm.KVMAgentCommands.*;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

在第14-17行,将特定的类导入改为了通配符导入。这种做法虽然可以简化代码,但也可能导致命名空间污染。建议仅在确信不会引起冲突的情况下使用通配符导入。

@MatheMatrix MatheMatrix closed this Dec 6, 2023
@MatheMatrix MatheMatrix deleted the tao.yang/zstack-ZSV-3564@@2 branch December 6, 2023 14:54
@MatheMatrix MatheMatrix restored the tao.yang/zstack-ZSV-3564@@2 branch December 6, 2023 14:56
MatheMatrix pushed a commit that referenced this pull request Mar 7, 2024
commit #2 add data struct definition

DBImpact

Resolves: ZSTAC-63265

Change-Id: I636f726d6762746a6675626c6966707973777068
MatheMatrix pushed a commit that referenced this pull request Mar 7, 2024
commit #2 add data struct definition

DBImpact

Resolves: ZSTAC-63265

Change-Id: I636f726d6762746a6675626c6966707973777068
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant