Skip to content

Fix issues reported by Errorprone static analysis tool - #12419

Open
Pearl1594 wants to merge 35 commits into
4.20from
ghi11438-errorprone-fixes
Open

Fix issues reported by Errorprone static analysis tool#12419
Pearl1594 wants to merge 35 commits into
4.20from
ghi11438-errorprone-fixes

Conversation

@Pearl1594

@Pearl1594Pearl1594 commented Jan 13, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds error prone to the build. All issues identified by it have been addressed.

Issue were identified at compile time : mvn clean compile

temporarily added the following change in pom.xml

diff --git a/pom.xml b/pom.xml
index 6985108302d..fc31667b963 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,6 +80,7 @@
<cs.surefire-plugin.version>2.22.2</cs.surefire-plugin.version>
<cs.clover-maven-plugin.version>4.4.1</cs.clover-maven-plugin.version>
<cs.exec-maven-plugin.version>3.2.0</cs.exec-maven-plugin.version>
+ <cs.errorprone.version>2.24.1</cs.errorprone.version>
<!-- Logging versions -->
<cs.log4j.version>2.19.0</cs.log4j.version>
@@ -1094,15 +1095,25 @@
<configuration>
<source>${cs.jdk.version}</source>
<target>${cs.jdk.version}</target>
- <fork>true</fork>
- <meminitial>128m</meminitial>
- <maxmem>512m</maxmem>
+ <encoding>UTF-8</encoding>
<compilerArgs>
<arg>-XDignore.symbol.file=true</arg>
<arg>--add-opens=java.base/java.lang=ALL-UNNAMED</arg>
<arg>--add-exports=java.base/sun.security.x509=ALL-UNNAMED</arg>
<arg>--add-exports=java.base/sun.security.provider=ALL-UNNAMED</arg>
+ <arg>-XDcompilePolicy=simple</arg>
+ <arg>-Xplugin:ErrorProne</arg>
</compilerArgs>
+ <annotationProcessorPaths>
+ <path>
+ <groupId>com.google.errorprone</groupId>
+ <artifactId>error_prone_core</artifactId>
+ <version>${cs.errorprone.version}</version>
+ </path>
+ </annotationProcessorPaths>
+ <fork>true</fork>
+ <meminitial>128m</meminitial>
+ <maxmem>512m</maxmem>
</configuration>
</plugin>

The project built successfully:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Apache CloudStack 4.20.3.0-SNAPSHOT:
[INFO] [INFO] Apache CloudStack Developer Tools - Checkstyle Configuration SUCCESS [ 0.750 s]
[INFO] Apache CloudStack .................................. SUCCESS [ 1.070 s]
[INFO] Apache CloudStack Framework - Managed Context ...... SUCCESS [ 7.169 s]
[INFO] Apache CloudStack Framework ........................ SUCCESS [ 0.049 s]
[INFO] Apache CloudStack Framework - Certificate Authority SUCCESS [ 2.142 s]
[INFO] Apache CloudStack Utils ............................ SUCCESS [01:18 min]
[INFO] Apache CloudStack Framework - Database ............. SUCCESS [ 40.067 s]
[INFO] Apache CloudStack Framework - Configuration ........ SUCCESS [01:22 min]
[INFO] Apache CloudStack Framework - Direct Download to Primary Storage SUCCESS [ 3.188 s]
[INFO] Apache CloudStack API .............................. SUCCESS [ 55.936 s]
[INFO] Apache CloudStack Framework - REST ................. SUCCESS [ 6.750 s]
[INFO] Apache CloudStack Framework - IPC .................. SUCCESS [ 13.312 s]
[INFO] Apache CloudStack Cloud Engine ..................... SUCCESS [ 0.239 s]
[INFO] Apache CloudStack Cloud Engine API ................. SUCCESS [ 15.063 s]
[INFO] Apache CloudStack Cloud Engine Schema Component .... SUCCESS [01:23 min]
[INFO] Apache CloudStack Framework - Security ............. SUCCESS [ 9.202 s]
[INFO] Apache CloudStack Core ............................. SUCCESS [ 58.367 s]
[INFO] Apache CloudStack Agents ........................... SUCCESS [ 32.017 s]
[INFO] Apache CloudStack Framework - Clustering ........... SUCCESS [ 17.557 s]
[INFO] Apache CloudStack Framework - Event Notification ... SUCCESS [ 16.567 s]
[INFO] Apache CloudStack Framework - Jobs ................. SUCCESS [ 34.621 s]
[INFO] Apache CloudStack Cloud Engine Internal Components API SUCCESS [ 17.115 s]
[INFO] Apache CloudStack Agent Management Servers Load Balancer SUCCESS [ 3.912 s]
[INFO] Apache CloudStack Framework - Storage Config Drive Component SUCCESS [ 19.178 s]
[INFO] Apache CloudStack Server ........................... SUCCESS [05:06 min]
[INFO] Apache CloudStack Framework - Quota ................ SUCCESS [ 46.915 s]
[INFO] Apache CloudStack Usage Server ..................... SUCCESS [ 30.000 s]
[INFO] Apache CloudStack Cloud Services ................... SUCCESS [ 0.045 s]
[INFO] Apache CloudStack Secondary Storage ................ SUCCESS [ 0.125 s]
[INFO] Apache CloudStack Secondary Storage Service ........ SUCCESS [ 22.895 s]
[INFO] Apache CloudStack Engine Storage Component ......... SUCCESS [ 26.470 s]
[INFO] Apache CloudStack Engine Storage Object Component .. SUCCESS [ 12.976 s]
[INFO] Apache CloudStack Plugin POM ....................... SUCCESS [ 0.925 s]
[INFO] Apache CloudStack Plugin - Safe Shutdown ........... SUCCESS [ 10.803 s]
[INFO] Apache CloudStack Cloud Engine Orchestration Component SUCCESS [ 45.128 s]
[INFO] Apache CloudStack Cloud Engine Service ............. SUCCESS [ 2.950 s]
[INFO] Apache CloudStack Engine Storage Cache Component ... SUCCESS [ 4.135 s]
[INFO] Apache CloudStack Engine Storage Image Component ... SUCCESS [ 17.659 s]
[INFO] Apache CloudStack Engine Storage Volume Component .. SUCCESS [ 31.929 s]
[INFO] Apache CloudStack Engine Storage Data Motion Component SUCCESS [ 23.308 s]
[INFO] Apache CloudStack Plugin - Storage Volume Dell-EMC ScaleIO/PowerFlex Provider SUCCESS [01:04 min]
[INFO] Apache CloudStack Engine Storage Snapshot Component SUCCESS [ 47.263 s]
[INFO] Apache CloudStack Engine Userdata Component ........ SUCCESS [ 9.514 s]
[INFO] Apache CloudStack Engine Cloud-Init Userdata Component SUCCESS [ 8.003 s]
[INFO] Apache CloudStack Plugin - ACL Dynamic Role Based .. SUCCESS [ 12.921 s]
[INFO] Apache CloudStack Plugin - ACL Static Role Based ... SUCCESS [ 5.157 s]
[INFO] Apache CloudStack Plugin - ACL Project Role Based .. SUCCESS [ 12.896 s]
[INFO] Apache CloudStack Plugin - Explicit Dedication Processor SUCCESS [ 5.627 s]
[INFO] Apache CloudStack Plugin - Host Affinity Processor . SUCCESS [ 15.212 s]
[INFO] Apache CloudStack Plugin - Host Anti-Affinity Processor SUCCESS [ 5.302 s]
[INFO] Apache CloudStack Plugin - Non-Strict Host Affinity Processor SUCCESS [ 15.006 s]
[INFO] Apache CloudStack Plugin - Non-Strict Host Anti-Affinity Processor SUCCESS [ 12.395 s]
[INFO] Apache CloudStack Plugin - SNMP Alerts ............. SUCCESS [ 11.666 s]
[INFO] Apache CloudStack Plugin - Syslog Alerts ........... SUCCESS [ 11.413 s]
[INFO] Apache CloudStack Plugin - API Discovery ........... SUCCESS [ 17.063 s]
[INFO] Apache CloudStack Plugin - API Rate Limit .......... SUCCESS [ 18.001 s]
[INFO] Apache CloudStack Plugin - Storage Volume default provider SUCCESS [ 17.468 s]
[INFO] Apache CloudStack Plugin - Storage Volume SolidFire Provider SUCCESS [ 13.662 s]
[INFO] Apache CloudStack Plugin - API SolidFire Integration Testing SUCCESS [ 6.984 s]
[INFO] Apache CloudStack Plugin - Dummy Backup and Recovery Plugin SUCCESS [ 5.681 s]
[INFO] Apache CloudStack Plugin - Open vSwitch ............ SUCCESS [ 6.382 s]
[INFO] Apache CloudStack Plugin - Hypervisor KVM .......... SUCCESS [01:12 min]
[INFO] Apache CloudStack Plugin - EMC Networker Backup and Recovery Plugin SUCCESS [ 20.875 s]
[INFO] Apache CloudStack Plugin - KVM NAS Backup and Recovery Plugin SUCCESS [ 4.959 s]
[INFO] Apache CloudStack Plugin - Inbuilt Root Certificate Authority SUCCESS [ 20.771 s]
[INFO] Apache CloudStack Plugin - Quota Service ........... SUCCESS [ 19.080 s]
[INFO] Apache CloudStack Plugin - Dedicated Resources ..... SUCCESS [ 22.674 s]
[INFO] Apache CloudStack Plugin - Implicit Dedication Planner SUCCESS [ 22.578 s]
[INFO] Apache CloudStack Plugin - User Concentrated Pod Deployment Planner SUCCESS [ 6.055 s]
[INFO] Apache CloudStack Plugin - User Dispersing Deployment Planner SUCCESS [ 4.938 s]
[INFO] Apache CloudStack Plugin - Cluster DRS Algorithm - Balanced SUCCESS [ 11.444 s]
[INFO] Apache CloudStack Plugin - Cluster DRS Algorithm - Condensed SUCCESS [ 14.544 s]
[INFO] Apache CloudStack Plugin - In Memory Event Bus ..... SUCCESS [ 13.886 s]
[INFO] Apache CloudStack Plugin - Kafka Event Bus ......... SUCCESS [ 4.760 s]
[INFO] Apache CloudStack Plugin - RabbitMQ Event Bus ...... SUCCESS [ 7.864 s]
[INFO] Apache CloudStack Plugin - Webhook Event Bus ....... SUCCESS [ 26.649 s]
[INFO] Apache CloudStack Plugin - Skip Heurestics Planner . SUCCESS [ 5.432 s]
[INFO] Apache CloudStack Plugin - Host Allocator Random ... SUCCESS [ 16.506 s]
[INFO] Apache CloudStack Plugin - Hypervisor Baremetal .... SUCCESS [ 14.070 s]
[INFO] Apache CloudStack Plugin - Hypervisor Hyper-V ...... SUCCESS [ 17.793 s]
[INFO] Apache CloudStack Plugin - Hypervisor OracleVM3 .... SUCCESS [ 21.193 s]
[INFO] Apache CloudStack Plugin - Hypervisor OracleVM ..... SUCCESS [ 9.164 s]
[INFO] Apache CloudStack Plugin - Hypervisor UCS .......... SUCCESS [ 5.962 s]
[INFO] Apache CloudStack Plugin - Hypervisor XenServer .... SUCCESS [ 43.368 s]
[INFO] Apache CloudStack Plugin - Cloudian Connector ...... SUCCESS [ 28.295 s]
[INFO] Apache CloudStack Plugin - Prometheus Exporter ..... SUCCESS [ 10.946 s]
[INFO] Apache CloudStack Plugin - Kubernetes Service ...... SUCCESS [ 39.741 s]
[INFO] Apache CloudStack Plugin - Metrics ................. SUCCESS [ 25.428 s]
[INFO] Apache CloudStack Plugin - BigSwitch Virtual Network Segment SUCCESS [ 31.003 s]
[INFO] Apache CloudStack Plugin - Dns Notifier Example .... SUCCESS [ 5.413 s]
[INFO] Apache CloudStack Plugin - Network Elastic Load Balancer SUCCESS [ 24.215 s]
[INFO] Apache CloudStack Plugin - GloboDNS ................ SUCCESS [ 27.144 s]
[INFO] Apache CloudStack Plugin - Network Internal Load Balancer SUCCESS [ 27.353 s]
[INFO] Apache CloudStack Plugin - Network Netscaler ....... SUCCESS [ 10.478 s]
[INFO] Apache CloudStack Plugin - Network Nicira NVP ...... SUCCESS [ 30.007 s]
[INFO] Apache CloudStack Plugin - Network Opendaylight .... SUCCESS [ 15.272 s]
[INFO] Apache CloudStack Plugin - Palo Alto ............... SUCCESS [ 17.967 s]
[INFO] Apache CloudStack Plugin - Stratosphere SSP ........ SUCCESS [ 15.322 s]
[INFO] Apache CloudStack Plugin - Network Brocade VCS ..... SUCCESS [ 24.364 s]
[INFO] Apache CloudStack Plugin - Network VXLAN ........... SUCCESS [ 16.824 s]
[INFO] Apache CloudStack Plugin - Power Management Driver ipmitool SUCCESS [ 10.607 s]
[INFO] Apache CloudStack Plugin - Power Management Driver nested-cloudstack SUCCESS [ 9.715 s]
[INFO] Apache CloudStack Plugin - Power Management Driver Redfish SUCCESS [ 4.233 s]
[INFO] Apache CloudStack Plugin - StorageVm shared filesystem provider SUCCESS [ 17.010 s]
[INFO] Apache CloudStack Plugin - Storage Image default provider SUCCESS [ 6.080 s]
[INFO] Apache CloudStack Plugin - Storage Image S3 provider SUCCESS [ 4.862 s]
[INFO] Apache CloudStack Plugin - Storage Image sample provider SUCCESS [ 4.744 s]
[INFO] Apache CloudStack Plugin - Storage Image Swift provider SUCCESS [ 4.863 s]
[INFO] Apache CloudStack Plugin - Storage Volume CloudByte Provider SUCCESS [ 9.453 s]
[INFO] Apache CloudStack Plugin - Storage Volume Datera Provider SUCCESS [ 9.526 s]
[INFO] Apache CloudStack Plugin - Storage Volume Nexenta Provider SUCCESS [ 10.267 s]
[INFO] Apache CloudStack Plugin - Storage Volume sample provider SUCCESS [ 3.384 s]
[INFO] Apache CloudStack Plugin - Storage Volume Linstor provider SUCCESS [ 19.708 s]
[INFO] Apache CloudStack Plugin - Storage Volume StorPool provider SUCCESS [ 37.694 s]
[INFO] Apache CloudStack Plugin - Storage Volume Adaptive Base Provider SUCCESS [ 9.327 s]
[INFO] Apache CloudStack Plugin - Storage Volume - Pure Flash Array SUCCESS [ 7.305 s]
[INFO] Apache CloudStack Plugin - Storage Volume - HPE Primera SUCCESS [ 9.449 s]
[INFO] Apache CloudStack Plugin - MinIO object storage provider SUCCESS [ 15.614 s]
[INFO] Apache CloudStack Plugin - Ceph RGW object storage provider SUCCESS [ 14.914 s]
[INFO] Apache CloudStack Plugin - Simulator object storage provider SUCCESS [ 11.638 s]
[INFO] Apache CloudStack Plugin - Storage Allocator Random SUCCESS [ 4.166 s]
[INFO] Apache CloudStack Plugin - User Authenticator LDAP . SUCCESS [ 41.483 s]
[INFO] Apache CloudStack Plugin - User Authenticator MD5 .. SUCCESS [ 13.775 s]
[INFO] Apache CloudStack Plugin - User Authenticator OAuth2 SUCCESS [ 25.426 s]
[INFO] Apache CloudStack Plugin - User Authenticator PBKDF2-SHA-256 SUCCESS [ 12.521 s]
[INFO] Apache CloudStack Plugin - User Authenticator Plain Text SUCCESS [ 5.190 s]
[INFO] Apache CloudStack Plugin - User Authenticator SAML2 SUCCESS [ 45.961 s]
[INFO] Apache CloudStack Plugin - User Authenticator SHA256 Salted SUCCESS [ 10.469 s]
[INFO] Apache CloudStack Plugin - User Two Factor Authenticator TOTP SUCCESS [ 3.784 s]
[INFO] Apache CloudStack Plugin - User Two Factor Authenticator Static Pin SUCCESS [ 6.261 s]
[INFO] Apache CloudStack VMware Base ...................... SUCCESS [ 44.670 s]
[INFO] Apache CloudStack Plugin - Hypervisor VMware ....... SUCCESS [ 56.216 s]
[INFO] Apache CloudStack Plugin - API VMware SIOC ......... SUCCESS [ 5.233 s]
[INFO] Apache CloudStack Plugin - Veeam Backup and Recovery Plugin SUCCESS [ 27.919 s]
[INFO] Apache CloudStack Plugin - Cisco VNMC .............. SUCCESS [ 19.802 s]
[INFO] Apache CloudStack Plugin - NSX Network ............. SUCCESS [ 27.366 s]
[INFO] Apache CloudStack Framework - Spring Life Cycle .... SUCCESS [ 3.095 s]
[INFO] Apache CloudStack Plugin - Network Juniper Contrail SUCCESS [ 40.283 s]
[INFO] Apache CloudStack Plugin - Tungsten-Fabric Network . SUCCESS [01:07 min]
[INFO] Apache CloudStack Plugin - MySQL HA Strategy ....... SUCCESS [ 4.555 s]
[INFO] Apache CloudStack Framework - Spring Module ........ SUCCESS [ 28.517 s]
[INFO] Apache CloudStack Secondary Storage Controller ..... SUCCESS [ 19.936 s]
[INFO] Apache CloudStack Console Proxy .................... SUCCESS [ 0.134 s]
[INFO] Apache CloudStack Console Proxy - RDP Client ....... SUCCESS [ 34.906 s]
[INFO] Apache CloudStack Console Proxy - Server ........... SUCCESS [ 19.431 s]
[INFO] Apache CloudStack System VM ........................ SUCCESS [ 17.007 s]
[INFO] Apache CloudStack Client UI ........................ SUCCESS [ 56.302 s]
[INFO] Apache CloudStack Framework - QuickCloud ........... SUCCESS [ 0.743 s]
[INFO] Apache CloudStack Test ............................. SUCCESS [ 0.771 s]
[INFO] Apache CloudStack Developer Mode ................... SUCCESS [ 0.600 s]
[INFO] Apache CloudStack Developer Tools .................. SUCCESS [ 0.050 s]
[INFO] Apache CloudStack apidocs .......................... SUCCESS [ 24.704 s]
[INFO] Apache CloudStack marvin ........................... SUCCESS [ 4.592 s]
[INFO] Apache CloudStack DevCloud4 ........................ SUCCESS [ 0.983 s]
[INFO] Apache CloudStack DevCloud-KVM ..................... SUCCESS [ 0.545 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 31:54 min (Wall Clock)
[INFO] Finished at: 2026-01-14T11:21:02-05:00
[INFO] ------------------------------------------------------------------------

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

How did you try to break this feature and the system with this change?

@codecov

codecovBot commented Jan 13, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 21.27660% with 74 lines in your changes missing coverage. Please review.
✅ Project coverage is 16.27%. Comparing base (56dc119) to head (276916a).
⚠️ Report is 55 commits behind head on 4.20.

Files with missing linesPatch %Lines
...pervisor/kvm/storage/MultipathSCSIAdapterBase.java0.00%6 Missing ⚠️
...k/storage/datastore/util/NexentaStorAppliance.java0.00%6 Missing ⚠️
...gion/gslb/GlobalLoadBalancingRulesServiceImpl.java14.28%4 Missing and 2 partials ⚠️
...rver/src/main/java/com/cloud/api/doc/Argument.java0.00%5 Missing ⚠️
...ain/java/com/cloud/agent/manager/AgentAttache.java20.00%3 Missing and 1 partial ⚠️
...ava/com/cloud/upgrade/dao/Upgrade41500to41510.java0.00%4 Missing ⚠️
...ache/cloudstack/network/RoutedIpv4ManagerImpl.java0.00%4 Missing ⚠️
...oud/hypervisor/vmware/mo/HypervisorHostHelper.java0.00%4 Missing ⚠️
...va/com/cloud/agent/manager/DirectAgentAttache.java0.00%3 Missing ⚠️
...c/main/java/com/cloud/utils/db/GenericDaoBase.java0.00%2 Missing ⚠️
... and 27 more
Additional details and impacted files
@@ Coverage Diff @@## 4.20 #12419 +/- ##
============================================
+ Coverage 16.25% 16.27% +0.01% - Complexity 13425 13439 +14 
============================================
Files 5662 5662 Lines 500167 500132 -35 Branches 60740 60738 -2 ============================================
+ Hits 81318 81391 +73 + Misses 409763 409639 -124 - Partials 9086 9102 +16 
FlagCoverage Δ
uitests4.15% <ø> (ø)
unittests17.12% <21.27%> (+0.01%)⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR integrates Google Error Prone into the build system to perform compile-time static analysis. Error Prone has identified and the PR fixes multiple categories of issues including:

  • Bugs where methods were called but results were ignored
  • Incorrect primitive comparisons that should use .equals()
  • Malformed logging statements with wrong placeholders
  • Dead code and redundant operations
  • Missing hashCode() implementations when equals() is overridden

Changes:

  • Added Error Prone (version 2.24.1) to the Maven compiler plugin configuration
  • Fixed 35+ Error Prone violations across multiple modules including server, engine, plugins, and core components
  • Applied @SuppressWarnings("BanJNDI") annotations to LDAP-related code where JNDI usage is intentional

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 5 comments.

Show a summary per file
FileDescription
pom.xmlAdded Error Prone plugin configuration to Maven compiler
ByteBuffer.javaFixed missing assignment of Arrays.copyOf result
ServerNtlmsspChallenge.javaFixed array concatenation in error message
GlobalLoadBalancingRulesServiceImpl.javaChanged == to .equals() for Long comparison
RoutedIpv4ManagerImpl.javaFixed missing format placeholders in error messages
UserVmManagerImpl.javaFixed config key retrieval and enum comparison
VolumeApiServiceImpl.javaRemoved unnecessary String.format wrapper
ManagementServerImpl.javaChanged == to .equals() for Long comparison
IpAddressManagerImpl.javaFixed missing throw keyword for exception
HighAvailabilityManagerImpl.javaFixed logging format with correct placeholders
ConfigurationManagerImpl.javaChanged == to .equals() for Boolean comparison
TemplateJoinDaoImpl.javaUsed saturated cast to prevent overflow
Argument.javaImproved Comparable implementation with proper typing
ApiXmlDocWriter.javaFixed class type checking logic
OpenLdapUserManagerImpl.javaFixed logging and added JNDI suppression
ADLdapUserManagerImpl.javaAdded JNDI suppression annotation
StorPoolDataMotionStrategy.javaRemoved unnecessary String.format wrapper
StorPoolPrimaryDataStoreDriver.javaChanged == to .equals() for Long comparison
NexentaStorAppliance.javaAdded missing hashCode() implementations
RedfishWrapper.javaFixed incorrect format placeholder count
XenServerGuru.javaFixed typo and simplified Pair construction
MultipathSCSIAdapterBase.javaConverted logging to use placeholders
KVMStorageProcessor.javaFixed missing throw keywords
LibvirtComputingResource.javaFixed logging format placeholders
HypervInvestigator.javaSimplified boolean return expression
RootCAProvider.javaRemoved duplicate method call
OnwireClassRegistry.javaFixed self-assignment bug
DefaultEndPointSelector.javaModernized iterator removal pattern
ScaleIOVMSnapshotStrategy.javaChanged == to .equals() for Long comparison
Upgrade41500to41510.javaReplaced anonymous HashMap with Map.of()
DatabaseAccessObject.javaFixed logging format mismatch
SystemVmTemplateRegistration.javaReplaced anonymous HashMap with Map.of()
NetworkOfferingVO.javaFixed incorrect hardcoded enum value
NetworkOrchestrator.javaRemoved duplicate condition check
VirtualMachineManagerImpl.javaFixed missing format placeholder
DirectAgentAttache.javaAdded missing hashCode() implementation
AgentAttache.javaAdded missing hashCode() implementation
DirectDownloadCommand.javaRemoved dead assignment
RequestWrapper.javaFixed incorrect .getClass() call
HAProxyConfigurator.javaRemoved unnecessary toString() call
AbstractConfigItemFacade.javaFixed incorrect .getClass() usage
UpdateBackupOfferingCmd.javaFixed incomplete error message
MockVmMgr.javaFixed modulo operation for bounded random

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

}

@Override
@SuppressWarnings("BanJNDI")

CopilotAIJan 13, 2026

Copy link

Choose a reason for hiding this comment

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

The @SuppressWarnings(\"BanJNDI\") annotation is being used to suppress Error Prone warnings about JNDI usage. While JNDI usage in LDAP operations is legitimate, ensure that all JNDI contexts are properly secured and validated to prevent LDAP injection attacks. Review the input validation in these methods (getUsersInGroup, getUserForDn, searchUser, searchUsers) to ensure user-controlled data is properly sanitized before being used in LDAP queries.

Copilot uses AI. Check for mistakes.
private static final String MICROSOFT_AD_MEMBERS_FILTER = "memberOf";

@Override
@SuppressWarnings("BanJNDI")

CopilotAIJan 13, 2026

Copy link

Choose a reason for hiding this comment

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

The @SuppressWarnings(\"BanJNDI\") annotation suppresses JNDI-related warnings. Ensure that the groupName parameter and any other user-controlled inputs are properly validated and sanitized before being used in LDAP queries to prevent LDAP injection vulnerabilities.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

we should probably take this one serious. are we blocking jndi somehow?

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✖️ el8 ✖️ el9 ✖️ debian ✖️ suse15. SL-JID 16354

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-15435)
Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8
Total time taken: 55853 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr12419-t15435-kvm-ol8.zip
Smoke tests completed. 139 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

TestResultTime (s)Test File
test_08_arping_in_ssvmFailure5.21test_diagnostics.py
test_01_snapshot_to_volumeError1.17test_snapshots.py

@DaanHoogland

Copy link
Copy Markdown
Contributor

It seems the snapshot error is consistent, we need to revisit that.

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan test keepEnv

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-15443)
Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8
Total time taken: 53013 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr12419-t15443-kvm-ol8.zip
Smoke tests completed. 140 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

TestResultTime (s)Test File
test_01_snapshot_to_volumeError1.16test_snapshots.py

@DaanHoogland

Copy link
Copy Markdown
Contributor

@Pearl1594 , the snapshot error seems persistent. needs looking at.

@DaanHooglandDaanHoogland modified the milestones: 4.20.3, 4.20.4Feb 16, 2026
@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 17076

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan test matrix

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a [SL] Trillian-Jenkins matrix job (EL8 mgmt + EL8 KVM, Ubuntu22 mgmt + Ubuntu22 KVM, EL8 mgmt + VMware 7.0u3, EL9 mgmt + XCP-ng 8.2 ) has been kicked to run smoke tests

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
16.6% Coverage on New Code (required ≥ 40%)

See analysis details on SonarQube Cloud

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-15596)
Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8
Total time taken: 51479 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr12419-t15596-kvm-ol8.zip
Smoke tests completed. 140 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

TestResultTime (s)Test File
test_01_snapshot_to_volumeError1.11test_snapshots.py

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-15599)
Environment: xcpng82 (x2), zone: Advanced Networking with Mgmt server ol9
Total time taken: 56871 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr12419-t15599-xcpng82.zip
Smoke tests completed. 105 look OK, 36 have errors, 0 did not run
Only failed and skipped tests results shown below:

TestResultTime (s)Test File
test_01_add_primary_storage_disabled_hostError300.42test_primary_storage.py
test_01_primary_storage_iscsiError303.37test_primary_storage.py
test_01_primary_storage_nfsError0.29test_primary_storage.py
ContextSuite context=TestStorageTags>:setupError0.49test_primary_storage.py
ContextSuite context=TestPrivateGwACL>:setupError0.00test_privategw_acl.py
test_09_project_suspendError1.10test_projects.py
test_10_project_activationError1.09test_projects.py
ContextSuite context=TestPurgeExpungedVms>:setupError0.00test_purge_expunged_vms.py
test_another_user_can_allocate_ip_after_quarantined_has_ended_networkError6.50test_quarantined_ips.py
test_another_user_can_allocate_ip_after_quarantined_has_ended_vpcError0.36test_quarantined_ips.py
test_only_owner_can_allocate_ip_in_quarantine_networkError0.32test_quarantined_ips.py
test_only_owner_can_allocate_ip_in_quarantine_vpcError0.36test_quarantined_ips.py
test_deploy_vm_with_registered_userdataError7.25test_register_userdata.py
test_deploy_vm_with_registered_userdata_with_override_policy_allowError7.60test_register_userdata.py
test_deploy_vm_with_registered_userdata_with_override_policy_appendError7.67test_register_userdata.py
test_deploy_vm_with_registered_userdata_with_override_policy_denyError7.51test_register_userdata.py
test_deploy_vm_with_registered_userdata_with_paramsError7.23test_register_userdata.py
test_link_and_unlink_userdata_to_templateError7.47test_register_userdata.py
test_user_userdata_crudError7.50test_register_userdata.py
ContextSuite context=TestResetVmOnReboot>:setupError0.00test_reset_vm_on_reboot.py
ContextSuite context=TestVMSchedule>:setupError0.00test_vm_schedule.py
ContextSuite context=TestRAMCPUResourceAccounting>:setupError0.00test_resource_accounting.py
ContextSuite context=TestResourceNames>:setupError0.00test_resource_names.py
ContextSuite context=TestRestoreVM>:setupError0.00test_restore_vm.py
test_change_service_offering_for_vm_with_snapshotsError1.37test_vm_snapshots.py
ContextSuite context=TestVmSnapshot>:setupError14.34test_vm_snapshots.py
ContextSuite context=TestRouterDHCPHosts>:setupError0.00test_router_dhcphosts.py
ContextSuite context=TestRouterDHCPOpts>:setupError0.00test_router_dhcphosts.py
ContextSuite context=TestRouterDns>:setupError0.00test_router_dns.py
ContextSuite context=TestRouterDnsService>:setupError0.00test_router_dnsservice.py
ContextSuite context=TestRouterIpTablesPolicies>:setupError0.00test_routers_iptables_default_policy.py
ContextSuite context=TestVPCIpTablesPolicies>:setupError0.00test_routers_iptables_default_policy.py
test_01_isolate_network_FW_PF_default_routes_egress_trueError0.20test_routers_network_ops.py
test_02_isolate_network_FW_PF_default_routes_egress_falseError0.19test_routers_network_ops.py
ContextSuite context=TestRedundantIsolateNetworks>:setupError1.36test_routers_network_ops.py
ContextSuite context=TestRouterServices>:setupError0.00test_routers.py
test_01_verify_ipv6_vpcError6.45test_vpc_ipv6.py
ContextSuite context=TestScaleVm>:setupError0.00test_scale_vm.py
ContextSuite context=TestServiceOfferings>:setupError0.28test_service_offerings.py
ContextSuite context=TestSetSourceNatIp>:setupError0.00test_set_sourcenat.py
ContextSuite context=TestCreateVolume>:setupError0.00test_volumes.py
ContextSuite context=TestVolumes>:setupError5.68test_volumes.py
ContextSuite context=TestSnapshotRootDisk>:setupError0.00test_snapshots.py
ContextSuite context=TestSnapshotStandaloneBackup>:setupError0.00test_snapshots.py
test_01_list_sec_storage_vmFailure0.04test_ssvm.py
test_02_list_cpvm_vmFailure0.04test_ssvm.py
test_03_ssvm_internalsFailure0.04test_ssvm.py
test_04_cpvm_internalsFailure0.04test_ssvm.py
test_05_stop_ssvmFailure0.04test_ssvm.py
test_06_stop_cpvmFailure0.04test_ssvm.py
test_07_reboot_ssvmFailure0.03test_ssvm.py
test_08_reboot_cpvmFailure0.04test_ssvm.py
test_09_reboot_ssvm_forcedFailure0.04test_ssvm.py
test_10_reboot_cpvm_forcedFailure0.04test_ssvm.py
test_11_destroy_ssvmFailure0.04test_ssvm.py
test_12_destroy_cpvmError2.16test_ssvm.py
test_01_import_storage_policiesError0.00test_storage_policy.py
test_02_create_template_with_checksum_sha1Error65.57test_templates.py
test_03_create_template_with_checksum_sha256Error65.57test_templates.py
test_04_create_template_with_checksum_md5Error65.57test_templates.py
test_05_create_template_with_no_checksumError65.62test_templates.py
ContextSuite context=TestTemplates>:setupError11.34test_templates.py
ContextSuite context=TestISOUsage>:setupError0.00test_usage.py
ContextSuite context=TestLBRuleUsage>:setupError0.00test_usage.py
ContextSuite context=TestNatRuleUsage>:setupError0.00test_usage.py
ContextSuite context=TestPublicIPUsage>:setupError0.00test_usage.py
ContextSuite context=TestSnapshotUsage>:setupError0.00test_usage.py
ContextSuite context=TestVmUsage>:setupError0.00test_usage.py
ContextSuite context=TestVolumeUsage>:setupError0.00test_usage.py
ContextSuite context=TestVpnUsage>:setupError0.00test_usage.py
test_01_register_vnf_templateError0.06test_vnf_templates.py
test_02_list_vnf_templateError0.06test_vnf_templates.py
test_03_edit_vnf_templateError0.07test_vnf_templates.py
test_04_deploy_vnf_applianceError0.06test_vnf_templates.py
test_05_delete_vnf_templateError0.05test_vnf_templates.py
ContextSuite context=TestVmAutoScaling>:setupError0.00test_vm_autoscaling.py
test_01_deploy_vm_on_specific_hostError0.09test_vm_deployment_planner.py
test_02_deploy_vm_on_specific_clusterError1.35test_vm_deployment_planner.py
test_03_deploy_vm_on_specific_podError1.29test_vm_deployment_planner.py
test_04_deploy_vm_on_host_override_pod_and_clusterError0.13test_vm_deployment_planner.py
test_05_deploy_vm_on_cluster_override_podError1.30test_vm_deployment_planner.py
ContextSuite context=TestDeployVM>:setupError0.00test_vm_life_cycle.py
ContextSuite context=TestVMLifeCycle>:setupError5.83test_vm_life_cycle.py
ContextSuite context=TestMigrateVMStrictTags>:setupError0.00test_vm_strict_host_tags.py
ContextSuite context=TestRestoreVMStrictTags>:setupError0.00test_vm_strict_host_tags.py
ContextSuite context=TestScaleVMStrictTags>:setupError0.00test_vm_strict_host_tags.py
ContextSuite context=TestVMDeploymentPlannerStrictTags>:setupError0.00test_vm_strict_host_tags.py
ContextSuite context=TestVPCRedundancy>:setupError0.00test_vpc_redundant.py
ContextSuite context=TestVPCNics>:setupError0.00test_vpc_router_nics.py
ContextSuite context=TestRVPCSite2SiteVpn>:setupError0.00test_vpc_vpn.py
ContextSuite context=TestVPCSite2SiteVPNMultipleOptions>:setupError0.00test_vpc_vpn.py
ContextSuite context=TestVpcRemoteAccessVpn>:setupError0.00test_vpc_vpn.py
ContextSuite context=TestVpcSite2SiteVpn>:setupError0.00test_vpc_vpn.py

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-15598)
Environment: vmware-70u3 (x2), zone: Advanced Networking with Mgmt server ol8
Total time taken: 61724 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr12419-t15598-vmware-70u3.zip
Smoke tests completed. 140 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

TestResultTime (s)Test File
test_deploy_more_vms_than_limit_allowsError125.32test_deploy_vms_in_parallel.py

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✖️ debian ✔️ suse15. SL-JID 17092

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 17093

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan test

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian test result (tid-15605)
Environment: kvm-ol8 (x2), zone: Advanced Networking with Mgmt server ol8
Total time taken: 50269 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr12419-t15605-kvm-ol8.zip
Smoke tests completed. 141 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

TestResultTime (s)Test File

@DaanHoogland

Copy link
Copy Markdown
Contributor

@weizhouapache@winterhazel can we get this merged? It is non-functional and will help us prevent bugs in the future. cc @sureshanaparti@vishesh92
bcc @Pearl1594 ;)

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@Pearl1594@DaanHoogland@blueorangutan@vishesh92