Virtual router is failed to start because firmware is EFI.

ISSUE TYPE

Bug Report

COMPONENT NAME

VR

CLOUDSTACK VERSION

4.19

CONFIGURATION

Advanced Networking, multiple templates with UEFI settings
OS / ENVIRONMENT

RHEL 9.3
VMware 8.0c (<IP_ADDRESS>)
SUMMARY

If I start a first instance on new guest network, then VR is created before instance itself, as expected.
But when I create such an instance from Template which is setup for UEFI (no matter if legacy or secure), than VR VM is created with firmware EFI and it obviously cannot boot with such a setting. If I shutdown VR, change firmware to BIOS (recommended) and start again, it boots normally.
Also when I create first instance with Template without UEFI, everything is working as expected
Tried with multiple domains/users/templates/networks.....looks like UEFI setting in template is the problem.
STEPS TO REPRODUCE

Create Template with UEFI setting (no matter if Legacy or Secure). Create instance from this template on new network, so new VR must be created

EXPECTED RESULTS

VR VM is created with firmware BIOS (under VM Settings -> VM Options -> Boot Options) and boot up normally

ACTUAL RESULTS

VR VM is created with firmware EFI (under VM Settings -> VM Options -> Boot Options) and it stuck on booting process.

@rastopato I replayed your scenario in a lab environment and the expected result is achieved. The difference is that I use alma9 and vmware7. I can give it another shot with vmware <IP_ADDRESS> .  Is there more data you can provide?

vmware 8 also worked as expected

@rastopato , I am not sure where to look, you can of course look at the cloudstack log, but also there might be a clue in vmware.
I tried with a windows 2019 template so maybe it is specific to the template. I do not really believe that as the VR is started before the VM, but who knows....?

Hi,
from Vmware prospective, it looks like normal Vm.. no problem there.
Now, when i’m able to simulate it, i can’t get rid of it :(
in ACS log, it looks like it is sending starting parameters with boot type: uefi for VR:
"bootType":"UEFI","bootMode":"LEGACY”,
Bigger portion of logs attached. Router name is r-50-VM
Best Regards,
Rastislav.
On 5 Apr 2024, at 14:51, dahn @.***> wrote:
@rastopatohttps://github.com/rastopato , I am not sure where to look, you can of course look at the cloudstack log, but also there might be a clue in vmware.
I tried with a windows 2019 template so maybe it is specific to the template. I do not really believe that as the VR is started before the VM, but who knows....?
—
Reply to this email directly, view it on GitHubhttps://github.com/apache/cloudstack/issues/8734#issuecomment-2039725526, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVER55RICUMNZFPM37XPCL3Y32M3LAVCNFSM6AAAAABEB3LATCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZZG4ZDKNJSGY.
You are receiving this because you were mentioned.Message ID: @.***>
2024-04-05 14:55:11,889 DEBUG [c.c.a.m.AgentManagerImpl] (AgentManager-Handler-8:null) (logid:) SeqA 13-101965: Sending Seq 13-101965:  { Ans: , MgmtId:<PHONE_NUMBER>, via: 13, Ver: v1, Flags: 100010, [{"com.cloud.agent.api.AgentControlAnswer":{"result":"true","wait":"0","bypassHostMaintenance":"false"}}] }
2024-04-05 14:55:12,574 DEBUG [o.a.c.h.HAManagerImpl] (BackgroundTaskPollManager-1:ctx-afe8c46c) (logid:380b075b) HA health check task is running...
2024-04-05 14:55:13,025 INFO  [c.c.s.r.VmwareStorageProcessor] (DirectAgent-490:ctx-06299ea7 2mesxi15.eg.hpe, job-491/job-492, cmd: CopyCommand) (logid:713d6086) Move volume out of volume-wrapper VM ROOT-50_2
2024-04-05 14:55:13,321 INFO  [c.c.h.v.m.DatastoreMO] (DirectAgent-490:ctx-06299ea7 2mesxi15.eg.hpe, job-491/job-492, cmd: CopyCommand) (logid:713d6086) Folder fcd exists on datastore
2024-04-05 14:55:13,364 INFO  [c.c.h.v.m.DatastoreMO] (DirectAgent-490:ctx-06299ea7 2mesxi15.eg.hpe, job-491/job-492, cmd: CopyCommand) (logid:713d6086) Folder fcd exists on datastore
2024-04-05 14:55:13,381 INFO  [c.c.h.v.m.DatastoreMO] (DirectAgent-490:ctx-06299ea7 2mesxi15.eg.hpe, job-491/job-492, cmd: CopyCommand) (logid:713d6086) Search file ROOT-50_2.vmdk on [Gen8-Two-3par7200-ds01] ROOT-50
2024-04-05 14:55:13,412 INFO  [c.c.h.v.m.DatastoreMO] (DirectAgent-490:ctx-06299ea7 2mesxi15.eg.hpe, job-491/job-492, cmd: CopyCommand) (logid:713d6086) File [Gen8-Two-3par7200-ds01] ROOT-50/ROOT-50_2.vmdk exists on datastore
2024-04-05 14:55:13,522 INFO  [c.c.h.v.m.DatastoreMO] (DirectAgent-490:ctx-06299ea7 2mesxi15.eg.hpe, job-491/job-492, cmd: CopyCommand) (logid:713d6086) Search file ROOT-50_2-flat.vmdk on [Gen8-Two-3par7200-ds01] ROOT-50
2024-04-05 14:55:13,587 INFO  [c.c.h.v.m.DatastoreMO] (DirectAgent-490:ctx-06299ea7 2mesxi15.eg.hpe, job-491/job-492, cmd: CopyCommand) (logid:713d6086) File [Gen8-Two-3par7200-ds01] ROOT-50/ROOT-50_2-flat.vmdk exists on datastore
2024-04-05 14:55:13,669 INFO  [c.c.s.r.VmwareStorageProcessor] (DirectAgent-490:ctx-06299ea7 2mesxi15.eg.hpe, job-491/job-492, cmd: CopyCommand) (logid:713d6086) detach disks from volume-wrapper VM and destroyROOT-50
2024-04-05 14:55:14,376 INFO  [c.c.h.v.m.DatastoreMO] (DirectAgent-490:ctx-06299ea7 2mesxi15.eg.hpe, job-491/job-492, cmd: CopyCommand) (logid:713d6086) Folder ROOT-50 does not exist on datastore
2024-04-05 14:55:14,438 DEBUG [c.c.a.m.DirectAgentAttache] (DirectAgent-490:ctx-06299ea7) (logid:713d6086) Seq 12-3211629484268625602: Response Received:
2024-04-05 14:55:14,439 DEBUG [c.c.a.t.Request] (DirectAgent-490:ctx-06299ea7) (logid:713d6086) Seq 12-3211629484268625602: Processing:  { Ans: , MgmtId:<PHONE_NUMBER>, via: 12(2mesxi15.eg.hpe), Ver: v1, Flags: 110, [{"org.apache.cloudstack.storage.command.CopyCmdAnswer":{"newData":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"size":"(4.88 GB)<PHONE_NUMBER>","path":"ROOT-50_2","accountId":"0","id":"0","directDownload":"false","deployAsIs":"false"}},"result":"true","wait":"0","bypassHostMaintenance":"false"}}] }
2024-04-05 14:55:14,439 DEBUG [c.c.a.t.Request] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Seq 12-3211629484268625602: Received:  { Ans: , MgmtId:<PHONE_NUMBER>, via: 12(2mesxi15.eg.hpe), Ver: v1, Flags: 110, { CopyCmdAnswer } }
2024-04-05 14:55:14,440 DEBUG [c.c.a.m.AgentAttache] (DirectAgent-490:ctx-06299ea7) (logid:713d6086) Seq 12-3211629484268625602: No more commands found
2024-04-05 14:55:14,449 DEBUG [o.a.c.s.v.VolumeObject] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Updated {"name":"ROOT-50","uuid":""} from {"encryptFormat":null,"format":"OVA","path":null,"poolId":9,"size":5242880000} to {"encryptFormat":null,"format":"OVA","path":"ROOT-50_2","poolId":9,"size":5242880000}
2024-04-05 14:55:14,580 INFO  [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Guest IP : *************
2024-04-05 14:55:14,593 INFO  [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Check if we need to add management server explicit route to DomR. pod cidr: /24, pod gateway: , management host: **************
2024-04-05 14:55:14,593 INFO  [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Add management server explicit route to DomR.
2024-04-05 14:55:14,609 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) The setting [router.logrotate.frequency] with value [:00:00] for the zone with UUID [], will be used to configure the logrotate service frequency on the virtual router.
2024-04-05 14:55:14,609 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Boot Args for VM instance {"id":50,"instanceName":"r-50-VM","type":"DomainRouter","uuid":""}:  template=domP name=r-50-VM authorized_key=c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCZ1FDdlVZUzFRd29jS3dpdUlHMXlxZXVVdE9NN0I2V2lxNTMzUHBlVjVRYkFEQ0VNaEd4TjhUdnliWmRrMHNuckU2WGlaM2ZuVUhGNVBid3RhRENUTmQ4azRSRmdPc2U4aTVmOVBRSFBsN1Rka3U3UnNXVWFzbXg4NGFyYkFmWFc4UThESWlTMTY5eWVENzVXS2gxaU45SWMyLysraHRUelIwVkRnbHc5UGNNaUJUQmFUNzgza0tZT1VvOStPcTluZHdIZ09FczliYWZXQ053TVdFcEdYcjlpVEcydlovR3VhZEVkZkJjRFpsNFFSQk5zSUxzTENTMXduYXB0TFk5T3p6S05jVUFxcUFxR3Zwdkc5ajhkdStZVVYzOU0wckZGRWNVa0svZmVkSERNd3dyS1FWeGM1Y1FJZnVlMjZQcVBkV1BEUzFFdlFqVHhrdjcwSnpFL3JkMHN2ZXI0ZkFDSzNFeGdqSmlwSlVFcWZrWUVqVFNTVGU5K3Q0bVVjYk1ldTZpL3Q1cWdPMWZJbUdqUTE2QmlFaW41TVRYYmJNcXhTeVRCQVFwdk0xZmlzU1FNK3JSditlRjE1bnc4RS84VWhJZjhTeHRHbzlWMFo3WEdPRW95c3U4NUNsVjBmcnFYTmVZSkFnVmFmcWR5YzdyN1RVWUI4a3NNTGI1ZFJtMGwrUlU9IGNsb3VkQGFjc3BvcnRhbC5lZy5ocGUK eth0ip= eth0mask=************* gateway=************ privateMtu=1500 domain=cs1cloud.internal cidrsize=24 dhcprange=************ eth1ip=************* eth1mask=************* mgmtcidr=/20 localgw= type=dhcpsrvr disable_rp_filter=true dns1=****** exposedns=true baremetalnotificationsecuritykey=uOVjsK-HA2rXkLAWvZLPPMqUxH5vZzpSEs2G-q57WxWCyidRJ18Sk4zK8RrhBc9JYjGdbUjIUd0OMVxuIIJqLg baremetalnotificationapikey=81LGDT6aG4J4SjkIrUBwVcS-2ZrApeWc4-kuZZzEuJKMj9EBtMNdfYVM9c1KFbQcqOz21L_CdKeZkRJkH0EZYA host=************** port=8080 logrotatefrequency=:00:00
2024-04-05 14:55:14,656 DEBUG [c.c.v.VirtualMachineManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) orchestrating VM reboot for 'r-50-VM' @.** set to null
2024-04-05 14:55:14,673 DEBUG [c.c.n.NetworkModelImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Service SecurityGroup is not supported in the network id=210
2024-04-05 14:55:14,785 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Resending ipAssoc, port forwarding, load balancing rules as a part of Virtual router start
2024-04-05 14:55:14,793 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Found 0 firewall Egress rule(s) to apply as a part of domR VM instance {"id":50,"instanceName":"r-50-VM","type":"DomainRouter","uuid":""} start.
2024-04-05 14:55:14,794 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Found 0 Ipv6 firewall rule(s) to apply as a part of domR VM instance {"id":50,"instanceName":"r-50-VM","type":"DomainRouter","uuid":""} start.
2024-04-05 14:55:14,802 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Found0ip Aliases to revoke on the router as a part of dhcp configuration
2024-04-05 14:55:14,804 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Found0ip Aliases to apply on the router as a part of dhcp configuration
2024-04-05 14:55:14,809 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Creating  monitoring services on VM instance {"id":50,"instanceName":"r-50-VM","type":"DomainRouter","uuid":""} start...
2024-04-05 14:55:14,878 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Reapplying dhcp entries as a part of domR VM instance {"id":50,"instanceName":"r-50-VM","type":"DomainRouter","uuid":""} start...
2024-04-05 14:55:14,887 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Reapplying vm data (userData and metaData) entries as a part of domR VM instance {"id":50,"instanceName":"r-50-VM","type":"DomainRouter","uuid":""} start...
2024-04-05 14:55:14,918 DEBUG [c.c.a.t.Request] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Seq 12-3211629484268625604: Sending  { Cmd , MgmtId:<PHONE_NUMBER>, via: 12(2mesxi15.eg.hpe), Ver: v1, Flags: 100011, [{"com.cloud.agent.api.StartCommand":{"vm":{"id":"50","name":"r-50-VM","bootloader":"HVM","state":"Starting","type":"DomainRouter","cpus":"1","minSpeed":"500","maxSpeed":"500","minRam":"(256.00 MB) 268435456","maxRam":"(256.00 MB) 268435456","hostName":"r-50-VM","arch":"x86_64","os":"Other Linux (64-bit)","platformEmulator":"otherLinux64Guest","bootArgs":" template=domP name=r-50-VM authorized_key=c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCZ1FDdlVZUzFRd29jS3dpdUlHMXlxZXVVdE9NN0I2V2lxNTMzUHBlVjVRYkFEQ0VNaEd4TjhUdnliWmRrMHNuckU2WGlaM2ZuVUhGNVBid3RhRENUTmQ4azRSRmdPc2U4aTVmOVBRSFBsN1Rka3U3UnNXVWFzbXg4NGFyYkFmWFc4UThESWlTMTY5eWVENzVXS2gxaU45SWMyLysraHRUelIwVkRnbHc5UGNNaUJUQmFUNzgza0tZT1VvOStPcTluZHdIZ09FczliYWZXQ053TVdFcEdYcjlpVEcydlovR3VhZEVkZkJjRFpsNFFSQk5zSUxzTENTMXduYXB0TFk5T3p6S05jVUFxcUFxR3Zwdkc5ajhkdStZVVYzOU0wckZGRWNVa0svZmVkSERNd3dyS1FWeGM1Y1FJZnVlMjZQcVBkV1BEUzFFdlFqVHhrdjcwSnpFL3JkMHN2ZXI0ZkFDSzNFeGdqSmlwSlVFcWZrWUVqVFNTVGU5K3Q0bVVjYk1ldTZpL3Q1cWdPMWZJbUdqUTE2QmlFaW41TVRYYmJNcXhTeVRCQVFwdk0xZmlzU1FNK3JSditlRjE1bnc4RS84VWhJZjhTeHRHbzlWMFo3WEdPRW95c3U4NUNsVjBmcnFYTmVZSkFnVmFmcWR5YzdyN1RVWUI4a3NNTGI1ZFJtMGwrUlU9IGNsb3VkQGFjc3BvcnRhbC5lZy5ocGUK eth0ip= eth0mask= gateway=** privateMtu=1500 domain=cs1cloud.internal cidrsize=24 dhcprange=************ eth1ip=************* eth1mask=************* mgmtcidr=/20 localgw= type=dhcpsrvr disable_rp_filter=true dns1=****** exposedns=true baremetalnotificationsecuritykey=uOVjsK-HA2rXkLAWvZLPPMqUxH5vZzpSEs2G-q57WxWCyidRJ18Sk4zK8RrhBc9JYjGdbUjIUd0OMVxuIIJqLg baremetalnotificationapikey=81LGDT6aG4J4SjkIrUBwVcS-2ZrApeWc4-kuZZzEuJKMj9EBtMNdfYVM9c1KFbQcqOz21L_CdKeZkRJkH0EZYA host=************** port=8080 logrotatefrequency=:00:00 nic_macs=|","enableHA":"true","limitCpuUse":"false","enableDynamicallyScaleVm":"true","params":{"boot.mode":"LEGACY","vmware.reserve.mem":"false","vmware.reserve.cpu":"false","nicAdapter":"E1000"},"uuid":"","bootType":"UEFI","bootMode":"LEGACY","enterHardwareSetup":"false","disks":[{"data":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"","volumeType":"ROOT","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"","name":"Gen8-Two-3par7200-ds01","id":"9","poolType":"VMFS","host":"VMFS datastore: /2mDC/Gen8-Two-3par7200-ds01","path":"/2mDC/Gen8-Two-3par7200-ds01","port":"0","url":"VMFS://VMFS datastore: /2mDC/Gen8-Two-3par7200-ds01/2mDC/Gen8-Two-3par7200-ds01/?ROLE=Primary&STOREUUID=","isManaged":"false"}},"name":"ROOT-50","size":"(4.88 GB)<PHONE_NUMBER>","path":"ROOT-50_2","volumeId":"69","vmName":"r-50-VM","accountId":"1","format":"OVA","provisioningType":"THIN","poolId":"9","id":"69","deviceId":"0","bytesReadRate":"(0 bytes) 0","bytesWriteRate":"(0 bytes) 0","iopsReadRate":"(0 bytes) 0","iopsWriteRate":"(0 bytes) 0","hypervisorType":"VMware","directDownload":"false","deployAsIs":"false"}},"diskSeq":"0","path":"ROOT-50_2","type":"ROOT","_details":{"storageHost":"VMFS datastore: /2mDC/Gen8-Two-3par7200-ds01","managed":"false","storagePort":"0","storage.pool.disk.wait":"60","volumeSize":"(4.88 GB)<PHONE_NUMBER>"}}],"nics":[{"deviceId":"0","networkRateMbps":"200","defaultNic":"true","pxeDisable":"true","nicUuid":"","details":{"MacLearning":"false","ForgedTransmits":"true","MacAddressChanges":"true","PromiscuousMode":"false"},"dpdkEnabled":"false","mtu":"1500","uuid":"","ip":"","netmask":"","gateway":"","mac":"","dns1":"","broadcastType":"Vlan","type":"Guest","broadcastUri":"vlan://2119","isolationUri":"vlan://2119","isSecurityGroupEnabled":"false","name":"ACS_Test_Data,,vmwaredvs"},{"deviceId":"1","networkRateMbps":"-1","defaultNic":"false","pxeDisable":"true","nicUuid":"","details":{"MacLearning":"false","ForgedTransmits":"true","MacAddressChanges":"true","PromiscuousMode":"false"},"dpdkEnabled":"false","uuid":"","ip":"","netmask":"","gateway":"","mac":"***","broadcastType":"Native","type":"Control","broadcastUri":"vlan://2116","isSecurityGroupEnabled":"false","name":"vSwitch1,2116,vmwaresvs"}],"configDriveLocation":"SECONDARY","guestOsDetails":{},"extraConfig":{}},"hostIp":"","executeInSequence":"true","wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.check.CheckSshCommand":{"ip":"","port":"3922","interval":"6","retries":"100","name":"r-50-VM","wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.GetDomRVersionCmd":{"accessDetails":{"router.name":"r-50-VM","router.ip":""},"wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.NetworkUsageCommand":{"privateIP":"","domRName":"r-50-VM","option":"create","forVpc":"false","wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.routing.AggregationControlCommand":{"action":"Start","accessDetails":{"router.name":"r-50-VM","router.ip":"","router.guest.ip":""},"wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.routing.SetMonitorServiceCommand":{"services":[{"id":"0","service":"dhcp","processname":"dnsmasq","serviceName":"dnsmasq","servicePath":"/var/run/dnsmasq/dnsmasq.pid","pidFile":"/var/run/dnsmasq/dnsmasq.pid","isDefault":"false"},{"id":"0","service":"loadbalancing","processname":"haproxy","serviceName":"haproxy","servicePath":"/var/run/haproxy.pid","pidFile":"/var/run/haproxy.pid","isDefault":"false"},{"id":"0","service":"ssh","processname":"sshd","serviceName":"ssh","servicePath":"/var/run/sshd.pid","pidFile":"/var/run/sshd.pid","isDefault":"true"},{"id":"0","service":"webserver","processname":"apache2","serviceName":"apache2","servicePath":"/var/run/apache2/apache2.pid","pidFile":"/var/run/apache2/apache2.pid","isDefault":"true"}],"healthChecksConfig":{"gateways":"gatewaysIps= ************ ","portForwarding":"","systemThresholds":"minDiskNeeded=100.0,maxCpuUsage=100.0,maxMemoryUsage=100.0;","haproxyData":"","virtualMachines":""},"reconfigureAfterUpdate":"false","deleteFromProcessedCache":"false","accessDetails":{"router.health.checks.enabled":"true","router.guest.ip":"","router.ip":"","router.name":"r-50-VM","router.health.checks.advanced.interval":"10","router.health.checks.basic.interval":"3","router.health.checks.excluded":""},"wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.routing.AggregationControlCommand":{"action":"Finish","accessDetails":{"router.name":"r-50-VM","router.ip":"","router.guest.ip":""},"wait":"0","bypassHostMaintenance":"false"}}] }
2024-04-05 14:55:14,928 DEBUG [c.c.a.t.Request] (Work-Job-Executor-147:ctx-e82382fa job-491/job-492 ctx-57b995df) (logid:713d6086) Seq 12-3211629484268625604: Executing:  { Cmd , MgmtId:<PHONE_NUMBER>, via: 12(2mesxi15.eg.hpe), Ver: v1, Flags: 100011, [{"com.cloud.agent.api.StartCommand":{"vm":{"id":"50","name":"r-50-VM","bootloader":"HVM","state":"Starting","type":"DomainRouter","cpus":"1","minSpeed":"500","maxSpeed":"500","minRam":"(256.00 MB) 268435456","maxRam":"(256.00 MB) 268435456","hostName":"r-50-VM","arch":"x86_64","os":"Other Linux (64-bit)","platformEmulator":"otherLinux64Guest","bootArgs":" template=domP name=r-50-VM authorized_key=c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCZ1FDdlVZUzFRd29jS3dpdUlHMXlxZXVVdE9NN0I2V2lxNTMzUHBlVjVRYkFEQ0VNaEd4TjhUdnliWmRrMHNuckU2WGlaM2ZuVUhGNVBid3RhRENUTmQ4azRSRmdPc2U4aTVmOVBRSFBsN1Rka3U3UnNXVWFzbXg4NGFyYkFmWFc4UThESWlTMTY5eWVENzVXS2gxaU45SWMyLysraHRUelIwVkRnbHc5UGNNaUJUQmFUNzgza0tZT1VvOStPcTluZHdIZ09FczliYWZXQ053TVdFcEdYcjlpVEcydlovR3VhZEVkZkJjRFpsNFFSQk5zSUxzTENTMXduYXB0TFk5T3p6S05jVUFxcUFxR3Zwdkc5ajhkdStZVVYzOU0wckZGRWNVa0svZmVkSERNd3dyS1FWeGM1Y1FJZnVlMjZQcVBkV1BEUzFFdlFqVHhrdjcwSnpFL3JkMHN2ZXI0ZkFDSzNFeGdqSmlwSlVFcWZrWUVqVFNTVGU5K3Q0bVVjYk1ldTZpL3Q1cWdPMWZJbUdqUTE2QmlFaW41TVRYYmJNcXhTeVRCQVFwdk0xZmlzU1FNK3JSditlRjE1bnc4RS84VWhJZjhTeHRHbzlWMFo3WEdPRW95c3U4NUNsVjBmcnFYTmVZSkFnVmFmcWR5YzdyN1RVWUI4a3NNTGI1ZFJtMGwrUlU9IGNsb3VkQGFjc3BvcnRhbC5lZy5ocGUK eth0ip=************* eth0mask=************* gateway=************ privateMtu=1500 domain=cs1cloud.internal cidrsize=24 dhcprange=************ eth1ip=************* eth1mask=************* mgmtcidr=/20 localgw= type=dhcpsrvr disable_rp_filter=true dns1=****** exposedns=true baremetalnotificationsecuritykey=uOVjsK-HA2rXkLAWvZLPPMqUxH5vZzpSEs2G-q57WxWCyidRJ18Sk4zK8RrhBc9JYjGdbUjIUd0OMVxuIIJqLg baremetalnotificationapikey=81LGDT6aG4J4SjkIrUBwVcS-2ZrApeWc4-kuZZzEuJKMj9EBtMNdfYVM9c1KFbQcqOz21L_CdKeZkRJkH0EZYA host=************** port=8080 logrotatefrequency=:00:00 nic_macs=|","enableHA":"true","limitCpuUse":"false","enableDynamicallyScaleVm":"true","params":{"boot.mode":"LEGACY","vmware.reserve.mem":"false","vmware.reserve.cpu":"false","nicAdapter":"E1000"},"uuid":"","bootType":"UEFI","bootMode":"LEGACY","enterHardwareSetup":"false","disks":[{"data":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"","volumeType":"ROOT","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"","name":"Gen8-Two-3par7200-ds01","id":"9","poolType":"VMFS","host":"VMFS datastore: /2mDC/Gen8-Two-3par7200-ds01","path":"/2mDC/Gen8-Two-3par7200-ds01","port":"0","url":"VMFS://VMFS datastore: /2mDC/Gen8-Two-3par7200-ds01/2mDC/Gen8-Two-3par7200-ds01/?ROLE=Primary&STOREUUID=","isManaged":"false"}},"name":"ROOT-50","size":"(4.88 GB)<PHONE_NUMBER>","path":"ROOT-50_2","volumeId":"69","vmName":"r-50-VM","accountId":"1","format":"OVA","provisioningType":"THIN","poolId":"9","id":"69","deviceId":"0","bytesReadRate":"(0 bytes) 0","bytesWriteRate":"(0 bytes) 0","iopsReadRate":"(0 bytes) 0","iopsWriteRate":"(0 bytes) 0","hypervisorType":"VMware","directDownload":"false","deployAsIs":"false"}},"diskSeq":"0","path":"ROOT-50_2","type":"ROOT","_details":{"storageHost":"VMFS datastore: /2mDC/Gen8-Two-3par7200-ds01","managed":"false","storagePort":"0","storage.pool.disk.wait":"60","volumeSize":"(4.88 GB)<PHONE_NUMBER>"}}],"nics":[{"deviceId":"0","networkRateMbps":"200","defaultNic":"true","pxeDisable":"true","nicUuid":"","details":{"MacLearning":"false","ForgedTransmits":"true","MacAddressChanges":"true","PromiscuousMode":"false"},"dpdkEnabled":"false","mtu":"1500","uuid":"","ip":"","netmask":"","gateway":"","mac":"","dns1":"","broadcastType":"Vlan","type":"Guest","broadcastUri":"vlan://2119","isolationUri":"vlan://2119","isSecurityGroupEnabled":"false","name":"ACS_Test_Data,,vmwaredvs"},{"deviceId":"1","networkRateMbps":"-1","defaultNic":"false","pxeDisable":"true","nicUuid":"","details":{"MacLearning":"false","ForgedTransmits":"true","MacAddressChanges":"true","PromiscuousMode":"false"},"dpdkEnabled":"false","uuid":"","ip":"","netmask":"","gateway":"","mac":"***","broadcastType":"Native","type":"Control","broadcastUri":"vlan://2116","isSecurityGroupEnabled":"false","name":"vSwitch1,2116,vmwaresvs"}],"configDriveLocation":"SECONDARY","guestOsDetails":{},"extraConfig":{}},"hostIp":"","executeInSequence":"true","wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.check.CheckSshCommand":{"ip":"","port":"3922","interval":"6","retries":"100","name":"r-50-VM","wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.GetDomRVersionCmd":{"accessDetails":{"router.name":"r-50-VM","router.ip":""},"wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.NetworkUsageCommand":{"privateIP":"","domRName":"r-50-VM","option":"create","forVpc":"false","wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.routing.AggregationControlCommand":{"action":"Start","accessDetails":{"router.name":"r-50-VM","router.ip":"","router.guest.ip":""},"wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.routing.SetMonitorServiceCommand":{"services":[{"id":"0","service":"dhcp","processname":"dnsmasq","serviceName":"dnsmasq","servicePath":"/var/run/dnsmasq/dnsmasq.pid","pidFile":"/var/run/dnsmasq/dnsmasq.pid","isDefault":"false"},{"id":"0","service":"loadbalancing","processname":"haproxy","serviceName":"haproxy","servicePath":"/var/run/haproxy.pid","pidFile":"/var/run/haproxy.pid","isDefault":"false"},{"id":"0","service":"ssh","processname":"sshd","serviceName":"ssh","servicePath":"/var/run/sshd.pid","pidFile":"/var/run/sshd.pid","isDefault":"true"},{"id":"0","service":"webserver","processname":"apache2","serviceName":"apache2","servicePath":"/var/run/apache2/apache2.pid","pidFile":"/var/run/apache2/apache2.pid","isDefault":"true"}],"healthChecksConfig":{"gateways":"gatewaysIps= ************ ","portForwarding":"","systemThresholds":"minDiskNeeded=100.0,maxCpuUsage=100.0,maxMemoryUsage=100.0;","haproxyData":"","virtualMachines":""},"reconfigureAfterUpdate":"false","deleteFromProcessedCache":"false","accessDetails":{"router.health.checks.enabled":"true","router.guest.ip":"","router.ip":"","router.name":"r-50-VM","router.health.checks.advanced.interval":"10","router.health.checks.basic.interval":"3","router.health.checks.excluded":""},"wait":"0","bypassHostMaintenance":"false"}},{"com.cloud.agent.api.routing.AggregationControlCommand":{"action":"Finish","accessDetails":{"router.name":"r-50-VM","router.ip":"","router.guest.ip":""},"wait":"0","bypassHostMaintenance":"false"}}] }
2024-04-05 14:55:14,928 DEBUG [c.c.a.m.DirectAgentAttache] (DirectAgent-493:ctx-97cb9e6b) (logid:cf3c1939) Seq 12-3211629484268625604: Executing request
2024-04-05 14:55:14,928 DEBUG [c.c.h.v.r.VmwareResource] (DirectAgent-493:ctx-97cb9e6b) (logid:713d6086) Executing resource command StartCommand: [{"vm":{"id":50,"name":"r-50-VM","bootloader":"HVM","state":"Starting","type":"DomainRouter","cpus":1,"minSpeed":500,"maxSpeed":500,"minRam":268435456,"maxRam":268435456,"hostName":"r-50-VM","arch":"x86_64","os":"Other Linux (64-bit)","platformEmulator":"otherLinux64Guest","bootArgs":" template=domP name=r-50-VM authorized_key=c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCZ1FDdlVZUzFRd29jS3dpdUlHMXlxZXVVdE9NN0I2V2lxNTMzUHBlVjVRYkFEQ0VNaEd4TjhUdnliWmRrMHNuckU2WGlaM2ZuVUhGNVBid3RhRENUTmQ4azRSRmdPc2U4aTVmOVBRSFBsN1Rka3U3UnNXVWFzbXg4NGFyYkFmWFc4UThESWlTMTY5eWVENzVXS2gxaU45SWMyLysraHRUelIwVkRnbHc5UGNNaUJUQmFUNzgza0tZT1VvOStPcTluZHdIZ09FczliYWZXQ053TVdFcEdYcjlpVEcydlovR3VhZEVkZkJjRFpsNFFSQk5zSUxzTENTMXduYXB0TFk5T3p6S05jVUFxcUFxR3Zwdkc5ajhkdStZVVYzOU0wckZGRWNVa0svZmVkSERNd3dyS1FWeGM1Y1FJZnVlMjZQcVBkV1BEUzFFdlFqVHhrdjcwSnpFL3JkMHN2ZXI0ZkFDSzNFeGdqSmlwSlVFcWZrWUVqVFNTVGU5K3Q0bVVjYk1ldTZpL3Q1cWdPMWZJbUdqUTE2QmlFaW41TVRYYmJNcXhTeVRCQVFwdk0xZmlzU1FNK3JSditlRjE1bnc4RS84VWhJZjhTeHRHbzlWMFo3WEdPRW95c3U4NUNsVjBmcnFYTmVZSkFnVmFmcWR5YzdyN1RVWUI4a3NNTGI1ZFJtMGwrUlU9IGNsb3VkQGFjc3BvcnRhbC5lZy5ocGUK eth0ip=************* eth0mask=************* gateway=************ privateMtu=1500 domain=cs1cloud.internal cidrsize=24 dhcprange=************ eth1ip=************* eth1mask=************* mgmtcidr=/20 localgw= type=dhcpsrvr disable_rp_filter=true dns1=****** exposedns=true baremetalnotificationsecuritykey=uOVjsK-HA2rXkLAWvZLPPMqUxH5vZzpSEs2G-q57WxWCyidRJ18Sk4zK8RrhBc9JYjGdbUjIUd0OMVxuIIJqLg baremetalnotificationapikey=81LGDT6aG4J4SjkIrUBwVcS-2ZrApeWc4-kuZZzEuJKMj9EBtMNdfYVM9c1KFbQcqOz21L_CdKeZkRJkH0EZYA host=************** port=8080 logrotatefrequency=:00:00 nic_macs=|","enableHA":true,"limitCpuUse":false,"enableDynamicallyScaleVm":true,"params":{"boot.mode":"LEGACY","vmware.reserve.mem":"false","vmware.reserve.cpu":"false","nicAdapter":"E1000"},"uuid":"","bootType":"UEFI","bootMode":"LEGACY","enterHardwareSetup":false,"disks":[{"data":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"","volumeType":"ROOT","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"","name":"Gen8-Two-3par7200-ds01","id":9,"poolType":"VMFS","host":"VMFS datastore: /2mDC/Gen8-Two-3par7200-ds01","path":"/2mDC/Gen8-Two-3par7200-ds01","port":0,"url":"VMFS://VMFS datastore: /2mDC/Gen8-Two-3par7200-ds01/2mDC/Gen8-Two-3par7200-ds01/?ROLE=Primary&STOREUUID=","isManaged":false}},"name":"ROOT-50","size":5242880000,"path":"ROOT-50_2","volumeId":69,"vmName":"r-50-VM","accountId":1,"format":"OVA","provisioningType":"THIN","poolId":9,"id":69,"deviceId":0,"bytesReadRate":0,"bytesWriteRate":0,"iopsReadRate":0,"iopsWriteRate":0,"hypervisorType":"VMware","directDownload":false,"deployAsIs":false}},"diskSeq":0,"path":"ROOT-50_2","type":"ROOT","_details":{"storageHost":"VMFS datastore: /2mDC/Gen8-Two-3par7200-ds01","managed":"false","storagePort":"0","storage.pool.disk.wait":"60","volumeSize":"5242880000"}}],"nics":[{"deviceId":0,"networkRateMbps":200,"defaultNic":true,"pxeDisable":true,"nicUuid":"","details":{"MacLearning":"false","ForgedTransmits":"true","MacAddressChanges":"true","PromiscuousMode":"false"},"dpdkEnabled":false,"mtu":1500,"uuid":"","ip":"","netmask":"","gateway":"","mac":"","dns1":"","broadcastType":"Vlan","type":"Guest","broadcastUri":"vlan://2119","isolationUri":"vlan://2119","isSecurityGroupEnabled":false,"name":"ACS_Test_Data,,vmwaredvs"},{"deviceId":1,"networkRateMbps":-1,"defaultNic":false,"pxeDisable":true,"nicUuid":"","details":{"MacLearning":"false","ForgedTransmits":"true","MacAddressChanges":"true","PromiscuousMode":"false"},"dpdkEnabled":false,"uuid":"","ip":"","netmask":"*","gateway":"","mac":"***","broadcastType":"Native","type":"Control","broadcastUri":"vlan://2116","isSecurityGroupEnabled":false,"name":"vSwitch1,2116,vmwaresvs"}],"configDriveLocation":"SECONDARY","guestOsDetails":{},"extraConfig":{}},"hostIp":"","executeInSequence":true,"wait":0,"bypassHostMaintenance":false}].
2024-04-05 14:55:15,011 DEBUG [c.c.h.v.r.VmwareResource] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Using mapping name : OTHER_LINUX_64_GUEST
2024-04-05 14:55:15,039 DEBUG [c.c.h.v.m.HostMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) find VM r-50-VM on host
2024-04-05 14:55:15,039 INFO  [c.c.h.v.m.HostMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) VM r-50-VM not found in host cache
2024-04-05 14:55:15,039 DEBUG [c.c.h.v.m.HostMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) load VM cache on host
2024-04-05 14:55:15,190 INFO  [c.c.h.v.m.DatastoreMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Folder r-50-VM does not exist on datastore
2024-04-05 14:55:15,201 INFO  [c.c.h.v.m.DatastoreMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Search file r-50-VM.vmx on [Gen8-Two-3par7200-ds01]
2024-04-05 14:55:15,236 INFO  [c.c.h.v.m.DatastoreMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) File [Gen8-Two-3par7200-ds01] r-50-VM.vmx does not exist on datastore
2024-04-05 14:55:15,236 INFO  [c.c.h.v.m.DatastoreMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Searching file r-50-VM.vmx in [Gen8-Two-3par7200-ds01]
2024-04-05 14:55:15,609 INFO  [c.c.h.v.m.HypervisorHostHelper] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Create blank VM. cpuCount: 1, cpuSpeed(MHz): 500, mem(Mb): 256
2024-04-05 14:55:15,707 DEBUG [c.c.h.v.m.ClusterMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Retrieved recommended disk controller for guest OS : otherLinux64Guest in cluster ACS_Test : VirtualLsiLogicController
2024-04-05 14:55:15,746 DEBUG [c.c.h.v.m.HypervisorHostHelper] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Creating blank VM with configuration [{"name":"r-50-VM","guestId":"otherLinux64Guest","files":{"vmPathName":"[Gen8-Two-3par7200-ds01]"},"numCPUs":1,"memoryMB":256,"deviceChange":[{"operation":"ADD","device":{"sharedBus":"NO_SHARING","busNumber":0,"key":-4}},{"operation":"ADD","device":{"useAutoDetect":true,"key":0,"controllerKey":100}}],"cpuAllocation":{"reservation":0,"limit":-1},"memoryAllocation":{"reservation":0,"limit":256}}].
2024-04-05 14:55:15,746 DEBUG [c.c.h.v.m.HostMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Creating VM with configuration: [{"name":"r-50-VM","guestId":"otherLinux64Guest","files":{"vmPathName":"[Gen8-Two-3par7200-ds01]"},"numCPUs":1,"memoryMB":256,"deviceChange":[{"operation":"ADD","device":{"sharedBus":"NO_SHARING","busNumber":0,"key":-4}},{"operation":"ADD","device":{"useAutoDetect":true,"key":0,"controllerKey":100}}],"cpuAllocation":{"reservation":0,"limit":-1},"memoryAllocation":{"reservation":0,"limit":256}}].
2024-04-05 14:55:16,262 DEBUG [c.c.h.v.m.HostMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) find VM r-50-VM on host
2024-04-05 14:55:16,262 INFO  [c.c.h.v.m.HostMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) VM r-50-VM not found in host cache
2024-04-05 14:55:16,262 DEBUG [c.c.h.v.m.HostMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) load VM cache on host
2024-04-05 14:55:16,318 DEBUG [c.c.h.v.m.HostMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) find VM r-50-VM on host
2024-04-05 14:55:16,318 DEBUG [c.c.h.v.m.HostMO] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) VM r-50-VM found in host cache
2024-04-05 14:55:16,577 DEBUG [o.a.c.h.HAManagerImpl] (BackgroundTaskPollManager-1:ctx-15baf233) (logid:baf0621c) HA health check task is running...
2024-04-05 14:55:16,882 WARN  [c.c.h.v.r.VmwareResource] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) hotadd of memory is not supported, dynamic scaling feature can not be applied to vm: r-50-VM
2024-04-05 14:55:17,051 WARN  [c.c.h.v.r.VmwareResource] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) hotadd of cpu is not supported, dynamic scaling feature can not be applied to vm: r-50-VM
2024-04-05 14:55:17,061 DEBUG [c.c.s.StatsCollector] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Verifying image storage [3]. Capacity: total=[63 GB], used=[7 GB], threshold=[89.99999761581421%].
2024-04-05 14:55:17,063 DEBUG [c.c.s.StatsCollector] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Verifying image storage [3]. Capacity: total=[63 GB], used=[7 GB], threshold=[89.99999761581421%].
2024-04-05 14:55:17,122 DEBUG [c.c.h.v.r.VmwareResource] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Prepare ISO volume at new device {"key":-1,"backing":{"exclusive":false,"deviceName":""},"connectable":{"startConnected":true,"allowGuestControl":false,"connected":true},"controllerKey":200,"unitNumber":0}
2024-04-05 14:55:17,122 INFO  [c.c.h.v.r.VmwareResource] (DirectAgent-493:ctx-97cb9e6b 2mesxi15.eg.hpe, job-491/job-492, cmd: StartCommand) (logid:713d6086) Chose disk controller for vol ROOT -> osdefault, based on root disk controller settings at global configuration setting.

@rastopato @DaanHoogland
I could reproduce this bug in my environment. This happens when the user's VM and the VR are stopped and the user starts its VM. In this process, the VR is created with the same boot parameters from the user's VM, which causes the VR to not start when the user VM has the UEFI boot type. On Monday I'll work on a PR to fix this situation.
As a workaround, you can do a restart with cleanup of your network and, after the VR is up, you can start your VM.

@rastopato @DaanHoogland
I could reproduce this bug in my environment. This happens when the user's VM and the VR are stopped and the user starts its VM. In this process, the VR is created with the same boot parameters from the user's VM, which causes the VR to not start when the user VM has the UEFI boot type. On Monday I'll work on a PR to fix this situation.
As a workaround, you can do a restart with cleanup of your network and, after the VR is up, you can start your VM.

I tried this scenario @hsato03 , but still the VR starts as expected. not sure what other configuration is in play here.

@rastopato @DaanHoogland
I could reproduce this bug in my environment. This happens when the user's VM and the VR are stopped and the user starts its VM. In this process, the VR is created with the same boot parameters from the user's VM, which causes the VR to not start when the user VM has the UEFI boot type. On Monday I'll work on a PR to fix this situation.
As a workaround, you can do a restart with cleanup of your network and, after the VR is up, you can start your VM.

I tried this scenario @hsato03 , but still the VR starts as expected. not sure what other configuration is in play here.

@DaanHoogland
Maybe the network should be in implemented state. This bug just occurs in VMware by the way. I explained in more detail how to reproduce it in https://github.com/apache/cloudstack/pull/8894.

Maybe the network should be in the implemented state. This bug just occurs in VMware by the way. I explained in more detail how to reproduce it in #8894.

yes I tried vmware 7 and 8. thanks for the effort @hsato03 .

@hsato03 @weizhouapache was this fixed in #8894? (i.e. can it be closed?)

@hsato03 @weizhouapache was this fixed in #8894? (i.e. can it be closed?)

@DaanHoogland Yes. The #8894 should be enough to fix that.


chore(ci): use a single rpmfusion mirror for builds (temp disable F39)

This change selects a specific rpmfusion baseurl rather than using the metalink. During CI builds this will provide more consistent success/fail behavior over the current situation where the mirror metalink is used. This change only impacts the actual build time use in this repo; it is not propagated to user installed images.
Temporarily DISABLES F39 builds in workflow.

 I just need to get this reorg done ( https://github.com/ublue-os/main/issues/356 ) and current F39 rpmfusion failures are blocking.

Expects https://github.com/ublue-os/akmods/pull/69 to be merged before this merges.


pulling private images and have already added my docker hub registry

Racher unable to pull private repos from an organisation I have been invited. I have already added my registry

Useful
Info

Versions
Rancher v1.2.0-pre3 Cattle: v0.169.5 UI: v1.2.11

Access
github admin

Orchestration
Swarm

Route
swarm-tab.projects.index

Version - v1.2.0-pre4-rc11
I can't reproduce your problem.  I added a registry and was able to use it.  Please provide more information.  What registry are you using?  If it's private are you sure you have the correct username and Password?

@tfiduccia Thanks for checking
Try this method to reproduce.

create an organisation dockerhub account
invite dockerhub uses to that account
add one of the invited users to rancher registry
trying pulling a private image

Can you please to to v1/projects//registrycredentials and tell me how many active credentials you have in there.  There is currently a bug that will create multiple credentials and will give you a problem pulling the image.

@tfiduccia  Have reproduced the issue. so In dockerhub I can log in with my email and password. was using my email as the user name thats why it was not working. Have changed and used my username instead of email and it has worked


[Feature]Back up the metadata of kubevela

Is your feature request related to a problem? Please describe.
Refre to  the document of kube-vela,there are no way to back up   data of kubevela found .
Also, no data-middleware, like mysql database, was found to be used in kubeVela's data storage.
When I want to backup kubeVela data in case of loss,I can't do anything about it.
So I propose, whether it is possible to store kubeVela data separately and provide   backup methods.
Thanks.

Yes, I think @jefree-cat has some practices on this in their scenario.


Home assistant core-2021.11.0 support

Hi,
I just tried your component on HA core-2021.11.0, it's working but present as many devices as there are sensors in my stove.
I think the sensors should be under only one device.
Thanks

I'm having the same problem with core-2021.11.5

Hello, same problem with core-2022.2.1
If you need me for testing, i can help.
I have a rika sono
Thks for your job, regards

@pafsan @LarrxX @edillmann
check the fork here it is fixed
https://github.com/antibill51/rika-firenet-custom-component

Thx @tuxtof , did your following commit fix this https://github.com/Fockaert/rika-firenet-custom-component/commit/5f8d12a059ccb40932098af04459d3c133fce490 ?


[BUG]: how to get thread name

How are you running AnythingLLM?
Docker (local)
What happened?
How can I obtain the name of the current workspace's thread? I tried the interface http://<IP_ADDRESS>:3001/api/v1/workspace/test, but the thread details returned only include the thread's slug, not the thread's name
Are there known steps to reproduce?
No response

Looking forward to your helpful reply

+1 here. The APIs from /api/docs doesn't have a way to obtain the display name of threads.
Both baseUrl/api/v1/workspaces and baseUrl/api/v1/workspace/{slug} only returns an array with user_id and slug which is a uuid for the field threads.
The endpoint called by the actual frontend baseUrl/api/workspace/{slug}/threads seem to include the name of the thread, but calling it with the bearer token would result in No auth token found.

+1 这里。的 API 无法获取线程的显示名称。 Both and only 返回一个数组，其中 和 是字段的 uuid 。/api/docs``baseUrl/api/v1/workspaces``baseUrl/api/v1/workspace/{slug}``user_id``slug``threads
实际前端调用的端点似乎包含线程的名称，但使用 bearer token 调用它会导致baseUrl/api/workspace/{slug}/threads``No auth token found.

i did not try multipart users mode,i am sorry to say i dont know

+1 这里。的 API 无法获取线程的显示名称。 Both and only 返回一个数组，其中 和 是字段的 uuid 。/api/docs``baseUrl/api/v1/workspaces``baseUrl/api/v1/workspace/{slug}``user_id``slug``threads
实际前端调用的端点似乎包含线程的名称，但使用 bearer token 调用它会导致baseUrl/api/workspace/{slug}/threads``No auth token found.

i did not try multipart users mode,i am sorry to say i dont know

i can't find /api/workspace/{slug}/threads this api.How do you run anythingLLM?
i try the issue #2538,but call back all threads name not single workspace


apdex query description says upper 2 times

Configure a bucket with the target request duration as the upper bound and another bucket with the tolerated request duration (usually 4 times the target request duration) as the upper bound

in histogram.md
Seems one of upper should be lower?

It's right, there's two buckets and buckets are defined by their upper bound.


Create the "/speakers" page

Description
This PR adds the visual UI of the /speakers page to the website and closely follows the Figma designs mentioned in the original issue:

Desktop Design
Mobile Design

The key features implemented in this PR are:

Hero Section:

Displays a hero image along with title, description, and call-to-action button.

Speaker Cards:

Implemented a grid (desktop)/carousel(mobile) layout to display speakers' cards.
Each speaker card includes the speaker's image, name, designation, company name, description, and social media links (GitHub, LinkedIn, Twitter).
The current data acts as placeholders.
Added responsive styling to ensure the layout looks great on different screen sizes.

Call-to-Action Banner:

Included the "Start Learning" call-to-action banner after the Speakers list.
The banner has a title, description, and a button to redirect users to the learning resources.

Please review the changes, and let me know if you have any feedback or questions.
Closes #17
Type of change

[x] 🍕 Feature

Added tests?

[x] 🙅 No, because they aren't needed

Steps to test the feature:
Redirect to /speakers page and compare with the given Figma Designs.
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
No
Snapshots:
Desktop Design:

Mobile Design:

Thanks @singhlify, for a quick solution here. One last step, I see missing is -> Could you add link to /speakers page in footer as well.

Added links to /speakers & /jobs pages in footer:


GDScript: Strings and StringNames match

Strings and StringNames match each other in a match statement, dynamically and statically, to make StringName easier to use

(see discussion in https://github.com/godotengine/godot/pull/74872 and https://github.com/godotengine/godot/pull/75170)

var s = "abc"
var sn = &"abc"

match "abc":
   sn:
   	print("String matches StringName")
   _:
   	assert(false)

match &"abc":
   s:
   	print("StringName matches String")
   _:
   	assert(false)

Thanks!


Add visualization layers to tool [very easy]

Jocelyn to prep and style all data before handing over to Ryan.

List with layer names as preferred is here: https://docs.google.com/spreadsheets/d/1jUGEHTAEy1Vr1uPcNhBuj41wtOixSJ6lCs6cZin2nEM/edit?usp=sharing

If layer names in the Google spreadsheet are too long, let me know. They are written as desired for now.
They are also listed in order of priority.

Was able to add MapServer layers. Was not able to add FeatureServer layers as we have neither the cartography to apply, nor a way of handling the large number of features returned.

I believe I found a MapServer layer of the PAD. See the Google Spreadsheet for updated links, which are highlighted in green.


audacity: 2.2.1 -> 2.2.2

Semi-automatic update

[x] built on NixOS
[x] ran binary on NixOS, version string matches 2.2.2

@grahamcofborg build audacity

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘audacity-2.2.2’ in /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/applications/audio/audacity/default.nix:60 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Failure on aarch64-linux (full log)
Partial log (click to expand)
../JavaScriptCore/wtf/PassRefPtr.h:59:13:   required from 'void WTF::derefIfNotNull(T*) [with T = WebCore::Frame]'
../JavaScriptCore/wtf/RefPtr.h:58:49:   required from 'WTF::RefPtr<T>::~RefPtr() [with T = WebCore::Frame]'
page/FrameTree.h:37:29:   required from here
../JavaScriptCore/wtf/RefCounted.h:141:13: warning: deleting object of polymorphic class type 'WebCore::Frame' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
             delete static_cast<T*>(this);
             ^~~~~~
building of '/nix/store/2cppdmviczszzy7z22c3rsmhwkydfdky-qt-4.8.7.drv' timed out after 3200 seconds
cannot build derivation '/nix/store/s3z2n2rr867ca65szxabk00yphy8qsbl-suil-qt4-0.10.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/lwql416m2qgq5advncvpn8xzrflm140h-audacity-2.2.2.drv': 1 dependencies couldn't be built
error: build of '/nix/store/lwql416m2qgq5advncvpn8xzrflm140h-audacity-2.2.2.drv' failed

LGTM

Thank you!


test: try fix flaky test

:tada: This PR is included in version 1.94.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


WIP: Add supported platforms handling

Starting to work on xplat support (#11).  One thing we'll need is a way to narrow down which dependency scripts support which platforms.  This is an initial, minimal-thought take on adding this to the PSDependMap schema and using that data in a few spots...

Add supports  to PSDependMap
Add supports, and supported properties to Get-PSDependType output
Skip invocation of dependency scripts that do not support the current platform

Currently we do not fail all dependencies, we simply skip unsupported dependencies - open to failing all the things instead
Hit me up if you have any ideas or concerns!  Will leave this open a few days.

What about a warning for unsupported dependency types? But failing makes more sense, I think. What is the purpose of dependencies when they cannot be downloaded...

Down the line, will need to add support for platforms to requirement/depend files, similar to bundler/gemfiles

Hiyo @michaeltlombardi!
Looking through npm.ps1, looks like it might already support xplat, barring a switch from mkdir to new-item?  I'm assuming these params aren't platform specific to npm?
Cheers!

No, sorry. I don't have access to any macOS devices.

But looking over it again: it should be compatible with mac. There is room for improvement though, as e.g. privilege detection cannot be realized on non-Windows OSs right now (afaik) and so on.

Cool!  will test it out, but yeah, don't see anything at a glance - thanks!

Alrighty... so this is in a good-enough-but-probably-has-a-bunch-of-bugs stage, in terms of cross platform support.  Going to merge it in so that I can start using it for a few things, but this really needs more work before tagging it or officially saying it has cross platform support
I'll likely get antsy and merge this Sunday night or Monday AM, barring any major issues
cc folks who have mentioned xplat - @gaelcolas @Dargmuesli @gjonespf

TY for the heads up.  Will definitely look at making use of this, have to experiment once merged.  My primary use previously was for xplat build, but have shifted to using Cake.  This will still be super useful for xplat deployment scripts I think.  I should whack this in a Docker container for testing.


AKS ARM template fails deployment due to unsupported parameter inclusion

Note: For ease of issues and pull requests management and tracking, we kindly ask you to provide a meaningful and concise title to this issue and answer all questions to the best of your ability.

Is your issue related to a Jumpstart scenario, ArcBox, HCIBox, or Agora?
Jumpstart Scenario: Arc Enabled AKS in Azure
Describe the issue or the bug
Currently the ARM template used for deploying the AKS cluster fails. This is due to the template including a "storage_profile" which Azure now rejects as a configurable field. Removing the storage Profile from the ARM template resolves the issue and AKS is able to deploy successfully.
To Reproduce
Deploy an AKS cluster to Azure using either the "Deploy to Azure" button or the ARM template
Expected behavior
An AKS Cluster is deployed successfully
Environment summary
N/A - issue repros due to ARM template, no environment concerns.

Issue resolved per merge of above PR


new API-version-specific install mechanism

This introduces a new means of doing a parallel install of tower-cli on your system (will document as a "secondary install") that exists independently. Use by running sudo make v1.
The usefulness of such a secondary install is that you can continue to alter what we will call the "primary install" without any changes being made to the secondary install. Use:
$ tower-cli-v1
Usage: tower-cli-v1 [OPTIONS] COMMAND [ARGS]...

Options:
  --version  Display tower-cli-v1 version.
  --help     Show this message and exit.

Commands:
  ad_hoc                 Launch commands based on playbook given at...
  config                 Read or write tower-cli-v1 configuration.
  credential             Manage credentials within Ansible Tower.
  group                  Manage groups belonging to an inventory.
  host                   Manage hosts belonging to a group within an...
  inventory              Manage inventory within Ansible Tower.
  inventory_script       Manage inventory scripts within Ansible...
  job                    Launch or monitor jobs.
  job_template           Manage job templates.
  label                  Manage labels within Ansible Tower.
  node                   Manage nodes inside of a workflow job...
  notification_template  Manage notification templates within Ansible...
  organization           Manage organizations within Ansible Tower.
  permission             Manage permissions within Ansible Tower in...
  project                Manage projects within Ansible Tower.
  role                   Add and remove users/teams from roles.
  schedule               Manage schedules within Ansible Tower.
  setting                Manage settings within Ansible Tower.
  team                   Manage teams within Ansible Tower.
  user                   Manage users within Ansible Tower.
  version                Display version information.
  workflow               Manage workflow job templates.
  workflow_job           Launch or monitor workflow jobs.

This minimizes the size of the change done in the source-tree by wholesale copying the entire source code folder to a new directory, and renaming everything including the python import path. You can use the secondary install inside of python via import tower_cli_v1.
Basic testing shows functionality is in-place. I'm not a huge fan of the need for a bin_v1 folder, but I don't have any great alternative.

Coverage remained the same at 92.313% when pulling 84c6b7bd665d5c9efe2425dd7e5debdb4953b6de on AlanCoding:v1_build into 3351ff40585b8dd1afa31182c1a3579e51224bfe on ansible:v1.

Why do you need sudo privileges to run make?
Also, can you explain the makefile logic? What does version_swap.py do?

version_swap.py recursively finds all occurrences of tower_cli and replaces them with tower_cli_v1. 99% of this is changing the import tower_cli lines. In order to keep these two installs separate (and not using different virtualenvs) they need to have their own import paths.
And I don't like the sudo for installing either. Something wasn't done right at some point, but I do not know what. That is a general problem for the installer (issues welcome).

Oh I get it, make v1 is the v1 equivalent of make install which you would expect to require sudo.
The existing make install removes the dist/ and build/ folders. Do we not also need to do this on v1?
Also, the dependency from v1 to clean_v1 is problematic. Suppose you edit a file in the v1 folders and then do (what you think is) a reinstall of v1. It's not polite for the Makefile to unexpectedly rm -rf your changes, which for all we know you spent three days working on.
The way I would approach this is to split the current make v1 target into two - make prep_v1 and make install_v1. Have prep_v1 copy the folders and create a flagfile (similar to what we do with .exists elsewhere in the Makefile). Then have install_v1 depend on the flagfile.
Though it's possible I'm still missing an essential point here. What do you think?

Totally understand where you're coming from with prep_v1. That will be the action which lays down the source tree. I think we would still want clean_v1, even if we don't pull it into another target. So I'm looking splitting into 3 targets

clean_v1
prep_v1
install_v1

Sounds good to me. Sorry if I wasn't clear - I didn't mean to suggest removing the clean_v1 target - I just want to make sure it doesn't take users by surprise.

I still really want to have a combined target, so I introduced v1-refresh, which just combines the other targets.
I also really want to avoid breaking pattern with the existing install target.
Current version of PR is my answer to these concerns, and I did some basic re-testing functionality, submitting for re-review.

I would suggest something like this:
setup_v1.py:
	cp -R tower_cli tower_cli_v1/
	cp bin/tower-cli bin/tower-cli-v1
	cp setup.py setup_v1.py
	python version_swap.py

prep_v1: setup_v1.py

install_v1: setup_v1.py
	sudo rm -rf dist/ build/
	sudo python setup_v1.py install

The idea here is that if you do make install_v1 in a fresh checkout, it will do the prep steps rather than just failing. If you do it a second time, it will notice the existence of setup_v1.py and avoid re-executing the prep steps.
v1-refresh looks fine to me.

Coverage remained the same at 92.386% when pulling 9c3307bde99af4afc93a8d356ce54f7ea11eaf22 on AlanCoding:v1_build into b218367cd3f0958298a7b2997e6e45d3167d686d on ansible:v1.

Coverage remained the same at 92.386% when pulling 9c3307bde99af4afc93a8d356ce54f7ea11eaf22 on AlanCoding:v1_build into b218367cd3f0958298a7b2997e6e45d3167d686d on ansible:v1.

Coverage remained the same at 92.386% when pulling 17f6c3c23fc2a4746ba9467ade8b78645361fd23 on AlanCoding:v1_build into b218367cd3f0958298a7b2997e6e45d3167d686d on ansible:v1.

I discovered a very new kind of bug testing this
$ tower-cli-v1
Traceback (most recent call last):
  File "/Users/alancoding/.virtualenvs/cli2/bin/tower-cli-v1", line 4, in <module>
    __import__('pkg_resources').run_script('ansible-tower-cli-v1==3.1.7', 'tower-cli-v1')
  File "/Users/alancoding/.virtualenvs/cli2/lib/python2.7/site-packages/pkg_resources/__init__.py", line 742, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/Users/alancoding/.virtualenvs/cli2/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1503, in run_script
    exec(code, namespace, namespace)
  File "/Users/alancoding/.virtualenvs/cli2/lib/python2.7/site-packages/ansible_tower_cli_v1-3.1.7-py2.7.egg/EGG-INFO/scripts/tower-cli-v1", line 19, in <module>
    from tower_cli_v1.cli.base import TowerCLI
  File "/Users/alancoding/.virtualenvs/cli2/lib/python2.7/site-packages/ansible_tower_cli-3.1.7-py2.7.egg/tower_cli_v1/__init__.py", line 22, in <module>
    __version__ = open('%s/VERSION' % whereami, 'r').read().strip()
IOError: [Errno 2] No such file or directory: u'/Users/alancoding/.virtualenvs/cli2/lib/python2.7/site-packages/ansible_tower_cli-3.1.7-py2.7.egg/tower_cli_v1/VERSION'

This is only an issue when installing tower-cli and tower-cli-v1 at the same time with the same versions.
Somehow, the fact that our source used a symlink caused it to be disappear when something happened to the source file. I removed the symlink and moved the version file into the library directory itself - which seems much more durable overall.

Coverage remained the same at 92.386% when pulling 7150cf7631ebd02b1bd63201229370257e8d8482 on AlanCoding:v1_build into b218367cd3f0958298a7b2997e6e45d3167d686d on ansible:v1.

Coverage remained the same at 92.386% when pulling f8ce15707b8b83501a1abcf78d5ebf757c30d703 on AlanCoding:v1_build into b218367cd3f0958298a7b2997e6e45d3167d686d on ansible:v1.


Reduce dependabot frequency

Avoid too much noise in commit list, hides relevant commits in a heap of (mostly) irrelevant ones.

😮 Game changing


[MRESOLVER-329] More robust IO in DefaultTrackingFileManager

Make the code more robust to copy with concurrently accessed files and hopefully with Windows quirks re atomic move.

https://issues.apache.org/jira/browse/MRESOLVER-329

I'd like better understand whether the usecases file w/o temp files. I want to exclude our locks to be faulty here.

Does not work and suffers from the chicken and egg problem described in here: https://issues.apache.org/jira/browse/MRESOLVER-325?focusedCommentId=17693545&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17693545

Superseded by https://github.com/apache/maven-resolver/pull/260


Bumped actions/checkout to version 4.

I want to bump the version because version 1 will become outdated/unsupoorted .

Thank you. 👍🏻


display connection options (username, passowrd, ssl_cert) when printing usage

Currently, usage logs don't display connection options that need to be provided when authentication is required.
Added the following connection options to be displayed when printing usage:

--username
--password
--ssl_cert

See below for the proposed updated usage and options.


Abstractsparse

Codecov Report
Base: 83.15% // Head: 83.74% // Increases project coverage by +0.59% :tada:

Coverage data is based on head (1b3ef21) compared to base (ff970f4).
Patch coverage: 71.42% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #25      +/-   ##
==========================================
+ Coverage   83.15%   83.74%   +0.59%
==========================================
  Files          19       19
  Lines         926      923       -3
==========================================
+ Hits          770      773       +3
+ Misses        156      150       -6

Impacted Files
Coverage Δ

src/ExtendableSparse.jl
100.00% <ø> (ø)

src/extendable.jl
73.61% <71.42%> (+6.95%)
:arrow_up:

src/linearsolve.jl
0.00% <0.00%> (-100.00%)
:arrow_down:

src/factorizations.jl
68.18% <0.00%> (-9.10%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Implement AbstractSparseMatrixCSC interface.
Wit 1.37, LinearSolve implements this as well, and
there is no need anymore to extend its methods.


Import flashcards from roam/sr

I would like to know if it is possible to import flashcards from the roam/sr plugin (which stopped working for me a couple of days ago) to Memo. I think I saw the feature in the Coming Soon section on Roam Depot some time ago but now it is gone. I was wondering if it is at least possible to implement.
Thanks.

Same here!

I came from using roam/sr and the only thing i did was change the word in the memo settings from #memo to #sr, i had to start again tho, but all my cards are there!

I would like to know if it is possible to import flashcards from the roam/sr plugin (which stopped working for me a couple of days ago) to Memo .... I was wondering if it is at least possible to implement.

Yea, it's definitely possible.

I think I saw the feature in the Coming Soon section on Roam Depot some time ago but now it is gone.

You caught me 😆 .. I actually started working on this since I was also migrating from roam/sr. I parsed all my old sessions and when I tried to insert them I made so many insert calls that I ran up against Roam API's insert limit 😆😬
So I need to think of a different way to do it (maybe insert with a delay or something 🤷♂ )

I came from using roam/sr and the only thing i did was change the word in the memo settings from #memo to #sr, i had to start again tho, but all my cards are there!

Yup, that's exactly what I did too and just started over - which I kinda enjoyed re-reviewing super old cards again. But I know not everyone is gonna wanna do that so i'll create a way to import soon 👍
In the mean time, you can start using it without old data.

This is now live. Give it a shot and lemme know how if you have any issues. Instructions here
.

Actually, hold off. I found a bug where the due dates are set relative to todays day rather than the date they were created... this causes cards to be schedule way to far ahead into the future 😆
Will update here once patch is released 🙏🏽

Ok, shipped fix. If you haven't migrated just follow the instructions normally.
If you did already run the migration, you can either restore your backup and re-run the migration with the latest release or just run the migration again without restoring the backup (just click "select all" and import again). Caveat: you won't get a progress report in this state but it will let you know when it's complete.
Enjoy :)


Enable "manage_data" resource

This PR fixes a bug in the operation endpoints where manage data operations are appearing as the type "unknown"

LGTM


column count starts at 2 for search results for screen reader

put some text in an editor
ctrl+shift+f and search for that text
🐛  screen reader will report that the result is on a column that is actual+2

pretty sure this is by design, but @andreamah can answer that

Thinking about it, it seems to not make much sense to start at 2 (although I see this behavior in areas outside of notebooks). @meganrogge do you see why this should be design? If not, I can go ahead and try to make the columns start at 1 like it does in the editor.

Yeah @andreamah that sounds good to me 👍🏼 thanks


Cleaner logging for proxy module

Attempt at cleaner logging

Coverage increased (+0.08%) to 92.432% when pulling 4e8d6886d722577a14ae504f76dd6099426fca44 on cs/cleaner-logging into 4b0a645ce4dfbba73d777908329814e93d601d73 on master.

@mbyczkowski @mcpherrinm What do you think about this? (Note the build is currently failing due to an unrelated issue with a broken upstream package in the Travis-CI Ubuntu images, but you can ignore that, I will rebuild to get it green when that is resolved)


New IIO C-API to read configuration attributes

Add 3 C-API to read scale, offset and sampling_frequency attribute.
Signed-off-by: guchaojie<EMAIL_ADDRESS>

@ceolin @edersondisouza @fulong82 @laykuanloon  This PR is for issue #2117. All thie C-API is to get configuration attribute from device level.  Please have  a review, any comment is welcome.

patch looks good, just check whether my comments make sense or not :)


Fix Tablesort after Search Bug

I rule and have completed some work on Case Manager that's ready for review!
Fix sorting by date after searching for a user.
A not so neat hack by calling the entire autosort function after a search completes. There might be a better way calling a javascript function elsewhere but I forget how to do so.
This pull request makes the following changes:

Call autosorting table after search.js.erb dispatches

(If there are changes to the views, please include a screenshot so we know what to look for!)
It relates to the following issue #s:

Fixes #1099
Bumps #Y

Codecov Report

Merging #1264 into master will increase coverage by 1.78%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1264      +/-   ##
==========================================
+ Coverage   93.52%   95.31%   +1.78%
==========================================
  Files          60       55       -5
  Lines        1329     1195     -134
==========================================
- Hits         1243     1139     -104
+ Misses         86       56      -30

Impacted Files
Coverage Δ

app/models/patient.rb
99.02% <0%> (-0.05%)
:arrow_down:

app/models/audit_trail.rb
100% <0%> (ø)
:arrow_up:

app/models/concerns/statusable.rb
100% <0%> (ø)
:arrow_up:

app/models/call.rb
100% <0%> (ø)
:arrow_up:

app/models/concerns/exportable.rb
96.29% <0%> (ø)
:arrow_up:

app/helpers/patients_helper.rb
100% <0%> (ø)
:arrow_up:

app/controllers/patients_controller.rb
100% <0%> (ø)
:arrow_up:

app/helpers/events_helper.rb

app/models/concerns/event_loggable.rb

app/models/event.rb

... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 50504d8...8505ce0. Read the comment docs.


Fix proxy response code for backend error

Background
The error code returned by the proxy to the Lua routing layer in the event that one or more backend nodes fail was not being set. As a result, after a backend error, invocations to res:code() in Lua returned 0 rather than the intended MCMC_SERVER_ERROR, even though the error status was correctly being set to SERVER_ERROR. This fix correctly sets the response code in the event of a backend error.
Testing
Manual Testing
I performed manual testing to ensure that the response code was set correctly.
I first added the following print statement to our Lua routing code for proxy writes:
print("RES CODE AFTER OPERATION: " .. res:code())

Then, I executed the following command sequence on a proxy instance (CAS IDs obscured for sake of example). Between executing the meta-get and meta-set commands, I terminated a backend memcached instance to induce a server error.
mg /testnamespace/key v c N100
VA 0 c1234 W

ms /testnamespace/key 4 C1234
data
SERVER_ERROR backend failure

The emitted log lines in both the original code and the modified code are shown below.
Original Code
RES CODE AFTER OPERATION: 0

Modified Code
RES CODE AFTER OPERATION: 23

Automated Testing
I had intended to create unit tests to test this new error functionality. However, it appeared that a comparable test of the Lua response code already existed here. We confirmed that this test is not being skipped, and we are thus unclear on why this test passes for the existing implementation. Any idea @dormando? I am happy to write additional tests, but I wanted to clear up my confusion around the existing tests first -- thanks.

Can you explain why you think that test covers this scenario?

I had thought it did, but upon closer inspection it looks like it's testing the scenario in which the backend responds with an error, not when it fails to respond entirely. Is this distinction correct?

That is correct.

Got it, thanks. I just created an automated test which I believe should be testing these changes. It passes with my changes, but it also passes on next. I've tried to investigate why that might be, but I can't quite figure it out. Is there something I'm missing here @dormando? Thanks!

Never mind, feel free to disregard the above -- I  was running prove to execute tests without running make in-between switching branches. The unit test now passes consistently with my changes and fails consistently on next -- looking forward to hearing your feedback! Thanks.

did you drop one of the lines during a merge or something?
change looks okay from just a quick read.
PR's for this project are rebased and squashed. so your next task will be to at least rebase it cleanly over next. Note that git reflog exists in case you get into trouble.

Should be rebased against next now.
And yes, I dropped one of the lines because the corresponding error check was deleted here (the selected lines are only visible when you Load diff on proxy_network.c) from next, but it still exists on master.

Hi @dormando, just wanted to follow up -- was wondering when you think you'll be able to take a closer look here? No worries if you're still feeling under the weather (get well soon!), I was just hoping to get a sense of the timeline on this

just one nitpick. If you feel up to it, please squash the branch. Or else I'll take care of that for you.

Alright, I addressed your change and squashed the branch into one commit. Let me know if there's anything else I need to do!

PR is merged to next pending the next release, congrats!

released in 1.6.22


The source file winapifamily.h/dbghelp.h and binary symsrv.dll/dbghelp.dll  is which address to obtain?

Hi,
The source file winapifamily.h/dbghelp.h and binary symsrv.dll/dbghelp.dll  is which address to obtain?
I did not find these in the official.
And which version is it?
Thank you.

Hi there, your issue has been closed due to not correctly following the issue template. Please read the documentation about filing issues and open a new issue which does follow the issue template. Do not reply to this issue with more information or with a correctly formatted issue, as that will only lead to confusion.
I try to address all github issues and fix bugs quickly, but badly formatted issues or poorly described bug reports especially are a significant drain on project resources. Taking a few minutes to file a good issue makes a huge difference and will get it addressed faster - everybody wins!
In github when you first create a new issue the form is pre-populated with a template which you should read over and follow. As linked above there is documentation going into more detail about what makes a good issue.


I setup a support channel for quokka.

I set us up a channel for us to discuss bugs and sit there helping each other out. Just fire up your favorite irc client and go to irc.dontexist.dynu.com #quokka ill be there to help with whatever I can. Lets keep this repo clean of support questions so bruno and the others can work  on actually closing tickets. If you are good with python and quokka in general you should idle there if you have the time to answer questions. I hope to see you all there.

There is also the Gitter Channel https://gitter.im/quokkaproject/quokka


Fix alias in select for mutate queries and small refactor

Currently when doing this request:
POST /projects?select=pId:id,name,client_id
Prefer: return=representation
{"id":7,"name":"New Project","client_id":2}

This response is obtained:
{"hint":null,"details":null,"code":"42703","message":"column pg_source.id does not exist"}

The error comes from the returningF function that allows the RETURNING to use alias and the subsequent SELECT made to shape the response doesn't consider the renamed columns.
This PR fixes that and also I refactored because I think that the RETURNING section fits better in the MutateQuery type since it's a part of the sql syntax for each of the sql mutate statements.

Woo hoo, I always love refactoring in the QueryBuilder jungle. 🦁
Would you mind if I finish and merge #763 first and then you can rebase on it? I think we both discovered some of the same things like useless arguments.

Sure, no problem.

Good job!

This makes a lot of sense. Nice refactor! 🍻

OK, @steve-chavez I merged the other one. Ready for your rebase.

@begriffs Done. Let me know if it's ok.


[#167] Refine UserGuide.md content

Fixes #167
Refine UserGuide.md content based on our CS2101 TA's comments.

Codecov Report

Merging #168 (0c58fb9) into master (fe24c08) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #168   +/-   ##
=========================================
  Coverage     73.66%   73.66%
  Complexity      575      575
=========================================
  Files            89       89
  Lines          1762     1762
  Branches        187      187
=========================================
  Hits           1298     1298
  Misses          400      400
  Partials         64       64

Impacted Files
Coverage Δ

src/main/java/seedu/address/model/person/Name.java
80.00% <0.00%> (ø)

...rc/main/java/seedu/address/model/person/Email.java
80.00% <0.00%> (ø)

.../main/java/seedu/address/model/person/Address.java
80.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fe24c08...0c58fb9. Read the comment docs.


Move Ambassador CRD handling to resource processor

Description
This change removes the handle_k8s_crd method of the resource fetcher, instead delegating that work to the AmbassadorProcessor class introduced in a previous refactor. The generated IR remains the same.
Testing
I've run this through the Python test suite for validation.
Tasks That Must Be Done

[ ] Did you update CHANGELOG.md?
[ ] Did you add or update tests?
[ ] Did you update documentation?
[ ] Were there any special dev tricks you had to use to work on this code efficiently?

[ ] Did you add them to DEVELOPING.md?

[ ] Is this a build change?

[ ] If so, did you test on both Mac and Linux?

Other

If this is a documentation change for a particular release, please open the pull request against the release branch.

To confirm: AmbassadorProcessor is picking up all the resource types for which nothing special needs to happen, correct? Definitely looks cleaner there.
I had one other question about the ordering of dictionary keys -- looks good other than that, thanks!!

Indeed, it's just directly shimming those Kubernetes objects across to Ambassador resources. That's why the processor's process method is just one line of code.


Build Error: expected an indented block

In the most recent change of the mhdata/build/sql.py at line 655, an if statement was added without the correct indentation, stopping the build.
The error log:
$ pipenv run python build.py
Traceback (most recent call last):
File "build.py", line 4, in
from mhdata import build
File "C:\Users\Jacob\Documents\GitHub\MHWorldData\mhdata\build_init_.py", line 8, in
from .sql import build_sql_database
File "C:\Users\Jacob\Documents\GitHub\MHWorldData\mhdata\build\sql.py", line 656
weapon.skills.append(db.WeaponSkill(
^
IndentationError: expected an indented block
Solution:
I fixed it on my end by correcting the indentation.
Do you have any guidelines for proposing changes?
I'd also be happy to contribute more to the project as a whole. :)

In this particular case, I messed up uploading something (my source control tool was reporting strangely) so it should be easy to fix.
But as to contributing in general, there's no guideline, but if you want to make a suggestion or want to work on something, let me know via discord or via an issue and I'll try to respond.


Codabar switch B & C

After used some bar scanner apps to test the Codabar which gen by this lib,
I found that the B and C are misencoded.
Codabar wiki:
https://en.wikipedia.org/wiki/Codabar

Here is an example "B0C" which generated by another barcode generator.
https://racoindustries.com/barcodegenerator/1d/codabar/

JsBarcode

JsBarcode("#barcode", "B0C", {
        format: "codabar",
        width: 4,
        height: 50,
        displayValue: false
      });

#209 reported the sample problem

Hi, thanks for your pr. I'll try to investigate the issue. But I'm not sure I can do it soon... the end of a year.

Tested in several different generators and I can confirm that this is a valid changes. @edward9145 great job, txh! @lindell I suppose we should merge it, what do you think?

Does indeed look good.
Thank you very much for for


[$250] Hybrid App Crashes in Background When I Get a Notification

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:
Reproducible in staging?: Needs Reproduction
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @dangrous
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1722348161408199
Action Performed:

Get a Hybrid App notification that an expense report has been reimbursed
Unlock phone (not even specifically opening the notification)

Expected Result:
Phone works as normal
Actual Result:
I get a(nother) notification saying that the Expensify App has crashed.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[X] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~013eb777e534e39986
Upwork Job ID:<PHONE_NUMBER>050287243
Last Price Increase: 2024-08-05

Issue OwnerCurrent Issue Owner: @s77rt

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

Oh hey, I also got this system error over the weekend when I was in a completely unrelated app. I was out at the time and didn't send logs, but I feel comfortable removing the "Needs reproduction" label.

Proposal
Please re-state the problem that we are trying to solve in this issue.
App Crashes in Background When I Get a Notification
What is the root cause of that problem?
In the code
https://github.com/Expensify/App/blob/de894796363ad1bc42fa360c6d7b74f8a26c4b61/src/libs/Notification/PushNotification/shouldShowPushNotification.ts#L22
the data could be undefined and thereby the code will crash when access data.reportID
What changes do you think we should make in order to solve the problem?
use option operator data?.reportID` instead of data.reportID`
What alternative solutions did you explore? (Optional)
NA

@jp928 Why would the data be undefined? Besides I don't think a type error would result in a hard-crash. I would expect to just see this logged in the console. Also same code is used on Android, is the bug reproducible in Android too?

@s77rt Thanks for your comments.
In typesceipt if you are trying to?access a property from either null or undefined it would be a runtime error not only just type error. In react native javascript runtime error will crash the app for sure. It doesn't trigger compile time error because we did a force type cast. It should be reproducible on Android.

@jp928 I expected a soft-crash i.e the Uh-oh, something went wrong! message. Hard-crashes usually come from native code. Can you please try reproduce the bug on Android?

I know there is an error screen in the app. but its not the case if there is no payload in the push notification.
https://github.com/user-attachments/assets/84e81445-a8a5-4d0b-8bb6-e0510f8fc031

I will try to reproduce on Android later.

@jp928 I was able to reproduce the crash when sending a notification without a payload.
https://github.com/user-attachments/assets/31a8bc90-611f-4d01-bc4f-a8e6fd35a384
The suggested solution looks good to me.
🎀 👀 🎀 C+ reviewed
Link to proposal

@tgolen Adding to the above ^ It may be worth checking if the OP received notification is expected to have no payload. (Internal part)

@arosiclair or @AndrewGable do either of you happen to know if push notifications like this can be reasonably expected to have no payload? It seems that a notification with no payload wouldn't really do anything.

I think it might be good to define payload, but we do send push notifications with just a title:
A receipt was merged with McDonalds purchase, you're all set
https://github.com/Expensify/Web-Expensify/blob/main/lib/MobilePushNotifications.php#L256-L261

cc @staszekscp who has been trying to fix this as well

What's the latest here @tgolen?

Eh, not sure. @s77rt Where do we stand with the proposal? I think we got your question answered?

@tgolen Can you please assign @jp928?

Hey 👋 FYI, my findings are basically the same as in @jp928s' PR. It looks like a valid solution 👍

Hey folks, automations have been broken recently, so I'm trying to figure out what is going on with this issue.

It looks like the PR was merged - does anything need to be deployed?
Does anyone need to be paid via Upwork or NewDot manual requests?

Thanks!

@sakluger I believe this is due payment. Both @jp928 (through Upwork) and I (through ND) need to be paid

Summarizing payment on this issue:
Contributor: @jp928 $250, sent offer via Upwork: https://www.upwork.com/nx/wm/offer/103937872
Contributor+: @s77rt $250, please request on Newdot
@jp928 please let me know when you've accepted the offer
@s77rt please complete the BZ checklist (added below for reference)

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@s77rt] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@s77rt] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ] [@s77rt] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ] [@s77rt] Determine if we should create a regression test for this bug.
[ ] [@s77rt] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
[ ] [@sakluger] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

Not overdue melvin, I just commented.

@sakluger Thanks. I've accepted the offer from upwork.

The PR that introduced the bug has been identified: N/A The bug couldn't be caught due to wrong types in an upstream repo
The offending PR has been commented on: N/A
A discussion in #expensify-bugs has been started: Not needed
Determine if we should create a regression test for this bug: No

$250 approved for @s77rt

I paid the Upwork contract.
Thanks, everyone!


Add DOIs using mappings from Wikidata

That would make our data more interoperable. The mappings can be retrieved on the fly on Jenkins using a SPARQL query and Curl.
(or from PubMed itself)

The SPARQL could look like:
SELECT DISTINCT ?pubmed ?doi WHERE {
  VALUES ?pubmed {
"12547239"
"12547239"
  }
  ?article wdt:P698 ?pubmed ; wdt:P356 ?doi
}

Created a mapping file from Wikidata, but it is limited to articles cited by WikiPathways and Reactome. So, it will also be behind. Nevertheless, now in beta (Jenkins + COVID-19):

@AlexanderPico, @mkutmon, how does this look to you?

Now available from the monthly releases.


Listxattr reply

The method signature of listxattr gives me a ReplyXattr for a reply. But it does not state how one should encode a list of attribute names into a &[u8] to be able to use ReplyXattr::data(). Is there any documentation on this?

See the documentation for the system call in man listxattr.
You should return a list of NUL-terminated UTF-8 strings. Also note that the names have to start with user. if you want them to show up in most userspace tools.
i.e. return b"user.foo\0user.bar\0"


[3.1.0] | Add new Attestation Protocol "None"

Backporting this feature to the 3.x line. Changes were based on #1489.

/azp run

/azp run

/azp run


Add support for automanage-virtual-disk targets

Signed-off-by: Justin Terry (VM<EMAIL_ADDRESS>

@abwah - FYI

Related: https://github.com/jterry75/cri/pull/26


Deletion of unused Gov Azure foundation Phase II projects/sets

Describe the Issue
Deletion of unused Gov Azure foundation Phase II projects/sets
Additional Context
Add any other context, attachments or screenshots
Acceptance Criteria

Review of internal project information
Confirmation of project and details (correct in analysis data if needed)
Review for possible activity
Snapshot\doc project and lack of activity in prep for deletion
Confirm w any remaining users where needed
Complete the resource and project deletions

Internal project clean-up almost at completion with 9 out the possible 10 projects that were earmarked for potential deletion have been removed from the Phase II LZ infrastructure.  Remaining project has to be confirmed with user so will update when we find out that project's current state.

Issues removing some resources but resolved, except for single one in last project holding up project RG removal.  Resource has soft-delete protection policy so waiting on its default expiry period end and will remove thereafter.  Closing ticket


fix: update remote_repo refs to fix autobump flows

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

seeing some autobump failure in cask and core
Error: Calling Tap#remote_repo is deprecated! Use Tap#remote_repository instead.

https://github.com/Homebrew/homebrew-core/actions/runs/11032933947/job/30642949601
Calling Tap#remote_repo is deprecated! Use Tap#remote_repository instead.

https://github.com/Homebrew/homebrew-cask/actions/runs/11033165523/job/30643700881
relates to https://github.com/Homebrew/brew/pull/18388

Thanks for the fix @chenrui333!


Output folder or csv is not created to save channel data after run bazel-bin command line.

Hi I am running Apollo 6.0 inside Docker, Master
I am trying to save csv data in a desired folder, not in the Apollo on Root folder
Steps to reproduce the issue:
I have written a python script to subscribe to cyber_channels and get and save the data into .csv file.
The codes are in my branch https://github.com/marcusvinicius178/apollo/tree/extract_chan_data/cyber/python/cyber_py3/channels_data_extraction
It is just build and run inside the docker image with the command:
[autoware-auto-ros1@in-dev-docker:/apollo]$ ./bazel-bin/cyber/python/cyber_py3/channels_data_extraction/channels_extraction
The csv file is always saved on Apollo folder.....
I wish to save in another folder and I have tried a lot off different approaches to save the data in a new folder.
I wish for example to save into different path planning folder, because I am going to run the code for different path planners.
I tried:
Create the folder and join the csv filename
#!/usr/bin/env python3
import threading
import csv
import traceback
from cyber.python.cyber_py3 import cyber
from modules.localization.proto.imu_pb2 import CorrectedImu
from modules.localization.proto.gps_pb2 import Gps
from modules.drivers.gnss.proto.gnss_best_pose_pb2 import GnssBestPose
import os

odometry_file_name = "odometry_messages.csv"
imu_file_name = "imu_message.csv"
gnss_best_pose_file_name = "gnss_best_pose.csv"
directory = "Lattice_Traces"
parent_dir = "/home/autoware-auto-ros1/ApolloAuto/apollo"

path = os.path.join(parent_dir, directory)
odometry_path = os.path.join(path, odometry_file_name)

try:
	os.mkdir(path)
except OSError as exc:
	if exc.errno != errno.EEXIST:
		raise
	pass

def check_csv_file_empty(a_file):
	try:
		csv_is_empty = True
		with open(a_file, mode='r') as csv_file:
			csv_dict = [row for row in csv.DictReader(csv_file)]
			if(len(csv_dict) > 0):
				return False
	except:
		return True

def odometry_message_parser_callback(data):
	try:
		os.mkdir(path)
	except OSError as exc:
		if exc.errno != errno.EEXIST:
			raise
		pass

	global odometry_file_name
	try:
		if not os.path.exists(path):
			os.mkdir(path)
			csv_is_empty = check_csv_file_empty(odometry_path)
			with open(odometry_path, mode='a') as csv_file:
				fieldnames = ['TimeStamp','SequenceNumber','Position','Position_x', 'Position_y','Position_z',
							  'Orientation', 'Orientation_x','Orientation_y','Orientation_z', 'Orientation_w',
							  'LinearVelocity', 'LinearVelocity_x','LinearVelocit_y','LinearVelocity_z']

				writer = csv.DictWriter(csv_file,fieldnames=fieldnames)

				if(csv_is_empty):
					writer.writeheader()
					csv_is_empty = False

				writer.writerow({'TimeStamp': data.header.timestamp_sec,
								 'SequenceNumber': data.header.sequence_num,
								'Position': '',
								'Position_x': data.localization.position.x,
								'Position_y': data.localization.position.y,
								'Position_z': data.localization.position.z,
								'Orientation': '',
								'Orientation_x': data.localization.orientation.qx,
								'Orientation_y': data.localization.orientation.qy,
								'Orientation_z': data.localization.orientation.qz,
								'Orientation_w': data.localization.orientation.qw,
								'LinearVelocity':'',
								'LinearVelocity_x': data.localization.linear_velocity.x,
								'LinearVelocit_y': data.localization.linear_velocity.y,
								'LinearVelocity_z': data.localization.linear_velocity.z})

	except:
		print(traceback.format_exc())

def imu_message_parser_callback(data):
	global imu_file_name
	try:
		csv_is_empty = check_csv_file_empty(imu_file_name)

		with open(imu_file_name, mode='a') as csv_file:
			fieldnames = ['TimeStamp','LinearAcceleration','LinearAcceleration_x','LinearAcceleration_y', 'LinearAcceleration_z',
						  'AngularVelocity', 'AngularVelocity_x','AngularVelocity_y','AngularVelocity_z',
						  'Heading', 'EulerAngles', 'EulerAngles_x','EulerAngles_y','EulerAngles_z']

			writer = csv.DictWriter(csv_file,fieldnames=fieldnames)

			if(csv_is_empty):
				writer.writeheader()
				csv_is_empty = False

			writer.writerow({'TimeStamp': data.header.timestamp_sec,
							'LinearAcceleration': '',
							'LinearAcceleration_x': data.imu.linear_acceleration.x,
							'LinearAcceleration_y': data.imu.linear_acceleration.y,
							'LinearAcceleration_z': data.imu.linear_acceleration.z,
							'AngularVelocity': '',
							'AngularVelocity_x': data.imu.angular_velocity.x,
							'AngularVelocity_y': data.imu.angular_velocity.y,
							'AngularVelocity_z': data.imu.angular_velocity.z,
							'Heading': data.imu.heading,
							'EulerAngles':'',
							'EulerAngles_x': data.imu.euler_angles.x,
							'EulerAngles_y': data.imu.euler_angles.y,
							'EulerAngles_z': data.imu.euler_angles.z})

	except:
		print(traceback.format_exc())

def gnss_best_pose_parser_callback(data):
	global gnss_best_pose_file_name
	try:
		csv_is_empty = check_csv_file_empty(gnss_best_pose_file_name)

		with open(gnss_best_pose_file_name, mode='a') as csv_file:
			fieldnames = ['TimeStamp','Latitude', 'Longitude']

			writer = csv.DictWriter(csv_file, fieldnames=fieldnames)

			if(csv_is_empty):
				writer.writeheader()
				csv_is_empty = False

			writer.writerow({'TimeStamp': data.header.timestamp_sec,
							'Latitude':data.latitude,
							'Longitude':data.longitude})

	except:
		print(traceback.format_exc())

if __name__=='__main__':
	#os.chdir(r"/home/autoware-auto-ros1/ApolloAuto/apollo/Lattice_Planner_Traces")
	cwd = os.getcwd()
	print("Current working directory is:", cwd)
	cyber.init()
	message_parser_node = cyber.Node("message_parser")

	message_parser_node.create_reader("/apollo/sensor/gnss/corrected_imu", CorrectedImu, imu_message_parser_callback)
	message_parser_node.create_reader("/apollo/sensor/gnss/odometry", Gps, odometry_message_parser_callback)
	message_parser_node.create_reader("/apollo/sensor/gnss/best_pose", GnssBestPose, gnss_best_pose_parser_callback)

	message_parser_node.spin()

	cyber.shutdown()

I tried a lot of similar approaches to save the csv file in a desired folder ( I have also manually created the Path_Planning_Traces folder inside Apollo folder, however after run the code, it saves the other csv files:imu, gnss, but not the odometry, the one I tried to change the folder)
The code does not return errors.
When I run the block of code that created another directory for example outside docker inside Apollo, for example, the folder is created....but running with bazel-bin the folder or csv file is never created outside the root
Please take a look below.
Supporting materials (screenshots, command lines, code/script snippets):

Is there a flag or option to send to bazel-bin command line or some lines of code that would fix this feature? It seems that is allowable just save the data inside Apollo folder. But this would mess all the produced channels data after I extract them from different path planners.
###SUMMARIZE
OS module does not work inside docker?
For example if I run the script below inside docker. the folder I wish is not created:

However if I run the same script outside the Apollo docker image the folder is created as you can check:

Hi I have fixed it is rjust pass the relative path = /apollo/modules....instead /home/usr/apollo
because it is like docker miss itself using the absolute path...


Set up project on Heroku

This needs to be sorted as soon as possible so that clients can easily see what is happening with the project :smiley:

deployed in netlify
https://elastic-brown-97b243.netlify.com/


force cumulVar to be equal for two indices

Unable to force the equality in Python. Is there MakeEquality alternate in Python??
get the solver from the routing model,
solver->Add(solver->MakeEquality(cumul_var1, cumul_var2)); (in C++)
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
:

Thank you @lperron https://github.com/lperron,
And how exactly to "force all cumul vars of these copies to be in sync"?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/1047?email_source=notifications&email_token=ACUPL3LVHWN7JIFYVKIJYO3QIW4VJA5CNFSM4GUEVE3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6GDSCY#issuecomment-529283339,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACUPL3PWSSIBZTHSS5FGSVDQIW4VJANCNFSM4GUEVE3A
.

Originally posted by @lperron in https://github.com/google/or-tools/issues/1047#issuecomment-529312260

==
Laurent Perron | Operations Research | @.*** | (33) 1 42 68 53
00
Le mar. 7 févr. 2023 à 09:03, Bhavya Verma @.***> a
écrit :

Unable to force the equality in Python. Is there MakeEquality alternate in
Python??
get the solver from the routing model,
solver->Add(solver->MakeEquality(cumul_var1, cumul_var2)); (in C++)
Laurent Perron | Operations Research | @.*** | (33) 1 42 68
53
00
:
Thank you @lperron https://github.com/lperron https://github.com/lperron
,
And how exactly to "force all cumul vars of these copies to be in sync"?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/1047?email_source=notifications&email_token=ACUPL3LVHWN7JIFYVKIJYO3QIW4VJA5CNFSM4GUEVE3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6GDSCY#issuecomment-529283339
,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACUPL3PWSSIBZTHSS5FGSVDQIW4VJANCNFSM4GUEVE3A
.
Originally posted by @lperron https://github.com/lperron in #1047
(comment)
https://github.com/google/or-tools/issues/1047#issuecomment-529312260
—
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/3664, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3PGQ5ZY5Y4LRPYUFLLWWH6UPANCNFSM6AAAAAAUTUBAH4
.
You are receiving this because you were mentioned.Message ID:
@.***>

meaning
solver.Add(var1 == var2)
Laurent Perron | Operations Research | @.*** | (33) 1 42 68 53
00
Le mar. 7 févr. 2023 à 09:16, Laurent Perron @.***> a écrit :

==
Laurent Perron | Operations Research | @.*** | (33) 1 42 68
53 00
Le mar. 7 févr. 2023 à 09:03, Bhavya Verma @.***> a
écrit :

Unable to force the equality in Python. Is there MakeEquality alternate
in Python??
get the solver from the routing model,
solver->Add(solver->MakeEquality(cumul_var1, cumul_var2)); (in C++)
Laurent Perron | Operations Research | @.*** | (33) 1 42 68
53
00
:
Thank you @lperron https://github.com/lperron
https://github.com/lperron,
And how exactly to "force all cumul vars of these copies to be in sync"?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/1047?email_source=notifications&email_token=ACUPL3LVHWN7JIFYVKIJYO3QIW4VJA5CNFSM4GUEVE3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6GDSCY#issuecomment-529283339
,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACUPL3PWSSIBZTHSS5FGSVDQIW4VJANCNFSM4GUEVE3A
.
Originally posted by @lperron https://github.com/lperron in #1047
(comment)
https://github.com/google/or-tools/issues/1047#issuecomment-529312260
—
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/3664, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3PGQ5ZY5Y4LRPYUFLLWWH6UPANCNFSM6AAAAAAUTUBAH4
.
You are receiving this because you were mentioned.Message ID:
@.***>

routing.solver().Add(dim.CumulVar(index1) == dim.CumulVar(index2))


Extended smiles condition

@A-Thakkar thanks! The new version has been released as 1.0.2 on https://pypi.org/project/rxn-chem-utils/.