Copilot commented on code in PR #14467:
URL: https://github.com/apache/cloudstack/pull/14467#discussion_r4361104043


##########
engine/api/src/main/java/org/apache/cloudstack/engine/orchestration/service/NetworkOrchestrationService.java:
##########
@@ -138,6 +138,23 @@ public interface NetworkOrchestrationService {
     ConfigKey<Integer> VmNetworkThrottlingRate = new 
ConfigKey<Integer>("Network", Integer.class, "vm.network.throttling.rate", 
"200",
             "Default data transfer rate in megabits per second allowed in User 
vm's default network.", true, ConfigKey.Scope.Zone);
 
+    ConfigKey<String> NetworkLBHaproxyStatsVisibility = new 
ConfigKey<>("Network", String.class,
+            "network.loadbalancer.haproxy.stats.visibility", "global",
+            "Load Balancer(haproxy) stats visibility, the value can be one of 
the following six parameters : 
global,guest-network,link-local,disabled,all,default",
+            true, ConfigKey.Kind.Select, 
"global,guest-network,link-local,disabled,all,default");
+
+    ConfigKey<String> NetworkLBHaproxyStatsUri = new ConfigKey<>("Network", 
String.class,
+            "network.loadbalancer.haproxy.stats.uri", "/admin?stats",
+            "Load Balancer(haproxy) uri.", true);
+
+    ConfigKey<String> NetworkLBHaproxyStatsAuth = new ConfigKey<>("Secure", 
String.class,
+            "network.loadbalancer.haproxy.stats.auth", "admin1:AdMiN123",
+            "Load Balancer(haproxy) authentication string in the format 
username:password", true);

Review Comment:
   This introduces a hard-coded default credential (\"admin1:AdMiN123\") for 
HAProxy stats auth. Even if marked as `Secure`, shipping a known default 
password is unsafe; consider using a null/empty default that disables auth 
until explicitly configured, or generating a random secret at first startup and 
persisting it (similar to other one-time generated secrets).



##########
plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/manager/BaremetalManager.java:
##########
@@ -21,11 +21,30 @@
 import com.cloud.utils.component.Manager;
 import com.cloud.utils.component.PluggableService;
 import org.apache.cloudstack.api.BaremetalProvisionDoneNotificationCmd;
+import org.apache.cloudstack.framework.config.ConfigKey;
 
 public interface BaremetalManager extends Manager, PluggableService {
     public static final String EchoSecurityGroupAgent = 
"EchoSecurityGroupAgent";
     public static final String ExternalBaremetalSystemUrl = 
"ExternalBaremetalSystemUrl";
     public static final String DO_PXE = "doPxe";
 
+    ConfigKey<String> BaremetalInternalStorageServer = new 
ConfigKey<>("Advanced", String.class, "baremetal.internal.storage.server.ip", 
null,
+            "the ip address of server that stores kickstart file, kernel, 
initrd, ISO for advanced networking baremetal provisioning", true);
+
+    ConfigKey<Integer> BaremetalProvisionDoneNotificationTimeout = new 
ConfigKey<>("Advanced", Integer.class, 
"baremetal.provision.done.notification.timeout", "1800",
+            "the max time to wait before treating a baremetal provision as 
failure if no provision done notification is not received, in secs", true);
+
+    ConfigKey<String> ExternalBaremetalResourceClassName = new 
ConfigKey<>("Advanced", String.class, "external.baremetal.resource.classname", 
null,
+            "class name for handling external baremetal resource", true);
+
+    ConfigKey<Boolean> EnableBaremetalSecurityGroupAgentEcho = new 
ConfigKey<>("Advanced", Boolean.class, 
"enable.baremetal.securitygroup.agent.echo", "false",
+            "After starting provision process, periodcially echo security 
agent installed in the template. Treat provisioning as success only if echo 
successfully", true);

Review Comment:
   Correct typo in config description: \"periodcially\" → \"periodically\".



##########
engine/components-api/src/main/java/com/cloud/storage/StorageManager.java:
##########
@@ -172,6 +175,22 @@ public interface StorageManager extends StorageService {
 
     ConfigKey<Integer> MaxDataMigrationWaitTime = new ConfigKey<>("Advanced", 
Integer.class, "max.data.migration.wait.time", "15",
             "Maximum wait time (in minutes) for a data migration task before 
spawning a new SSVM", false, ConfigKey.Scope.Global);
+
+    ConfigKey<Integer> VmDiskThrottlingIopsReadRate = new 
ConfigKey<>("Advanced", Integer.class, "vm.disk.throttling.iops_read_rate", "0",
+            "Default disk I/O read rate in requests per second allowed in User 
vm's disk.", true);
+
+    ConfigKey<Integer> VmDiskThrottlingIopsWriteRate = new 
ConfigKey<>("Advanced", Integer.class, "vm.disk.throttling.iops_write_rate", 
"0",
+            "Default disk I/O writerate in requests per second allowed in User 
vm's disk.", true);
+
+    ConfigKey<Long> VmDiskThrottlingBytesReadRate = new 
ConfigKey<>("Advanced", Long.class, "vm.disk.throttling.bytes_read_rate", "0",
+            "Default disk I/O read rate in bytes per second allowed in User 
vm's disk.", true);
+
+    ConfigKey<Long> VmDiskThrottlingBytesWriteRate = new 
ConfigKey<>("Advanced", Long.class, "vm.disk.throttling.bytes_write_rate", "0",
+            "Default disk I/O writerate in bytes per second allowed in User 
vm's disk.", true);

Review Comment:
   Config description has a typo/wording issue: \"writerate\" should be \"write 
rate\".



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to