This is an automated email from the ASF dual-hosted git repository.

weizhou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new a566af35f5c Review comment on pull request #12436
a566af35f5c is described below

commit a566af35f5c8c34f6694a60dcd76f195d7caa6d4
Author: Wei Zhou <[email protected]>
AuthorDate: Thu Jan 15 19:14:51 2026 +0100

    Review comment on pull request #12436
---
 pull/12436 | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/pull/12436 b/pull/12436
new file mode 100644
index 00000000000..ca31e875a3e
--- /dev/null
+++ b/pull/12436
@@ -0,0 +1,35 @@
+Thanks for the changes — overall these look reasonable, but I have a few 
comments and suggestions:
+
+1) Bug in DeployVnfAppliance.vue
+- The new check uses .filter(...) in a boolean context:
+  (this.vnfNicNetworks[deviceId].service.filter(svc => svc.name === 
'SecurityGroupProvider'))
+- In JavaScript, an array (including an empty array) is truthy, so this 
condition will always evaluate to true even when there are no matching 
services. This is likely a functional bug.
+- Suggested fix: use .some or check length:
+  this.vnfNicNetworks[deviceId].service && 
this.vnfNicNetworks[deviceId].service.some(svc => svc.name === 
'SecurityGroupProvider')
+  or
+  Array.isArray(this.vnfNicNetworks[deviceId].service) && 
this.vnfNicNetworks[deviceId].service.filter(...).length > 0
+
+2) Expanded details in network.js and VnfAppliancesTab.vue — performance and 
consistency
+- You expanded the API "details" from 'servoff,tmpl,nics' to 
'group,nics,secgrp,tmpl,servoff,diskoff,iso,volume,affgrp,backoff'. That will 
return many more fields and could affect performance (more data transferred / 
processed). Please confirm all newly requested details are required for the UI 
use-cases in these views.
+- Also note an inconsistency in parameter casing:
+  - ui/src/config/section/network.js uses isvnf: true (lowercase 'v')
+  - ui/src/views/network/VnfAppliancesTab.vue uses isVnf: true (camelCase)
+  Verify which exact param the backend expects (case-sensitive). Recommend 
standardizing to the correct form across files.
+
+3) Logic change in DeployVnfAppliance.vue — intent clarification
+- Previously the code checked zone.securitygroupsenabled for Shared networks. 
The new code checks whether the network has the SecurityGroupProvider service. 
Please confirm this is the intended semantic change (i.e., switching from a 
zone-level setting to checking per-network provider capability). If both checks 
are relevant, combine them appropriately.
+
+4) Localization text change
+- The new label "Configure network rules for VNF's management interfaces" is 
fine and shorter. Minor nit: consider removing the possessive and using 
"Configure network rules for VNF management interfaces" to match other labels' 
style, but this is optional.
+
+5) Safety / defensive coding
+- In places where you access this.vnfNicNetworks[deviceId].service, add 
defensive checks (Array.isArray(...)) before calling array methods to avoid 
runtime errors if service is undefined.
+
+6) Testing suggestions
+- Please test deploy flows in zones/networks:
+  - Shared network with SecurityGroupProvider present
+  - Shared network without SecurityGroupProvider
+  - Isolated networks and VPC cases
+  - Confirm that expanding "details" doesn't degrade list performance in views 
that call the API frequently.
+
+If you'd like, I can re-run these checks or suggest a patch for the .some 
change. Thanks!
\ No newline at end of file

Reply via email to