Support - Azure/iotedge-eflow GitHub Wiki
- What kind of support does Microsoft provide for Azure IoT Edge for Linux on Windows (EFLOW)?
- What state will the EFLOW VM be in when I restart the host machine?
- Can I report bugs?
- How can I debug issues with EFLOW?
- How can I check the EFLOW version?
- How can I install a Linux package?
- Issue: Reboot the EFLOW VM from inside VM will stop the VM but won't start again
- Issue: Double EFLOW Installation
- Issue: EFLOW VM is running out of space
- Issue: Systemd-Journald high memory usage
Review our support in the EFLOW Support section.
The lifecycle of the EFLOW VM is managed by our EFLOW installation. On every reboot of the Windows host OS, we will make sure the EFLOW VM is in the same state as it was before the reboot.
Yes, you can report bugs using our EFLOW GitHub Issues page. Ensure to follow our guidelines of Microsoft Open Source Code of Conduct. and use our EFLOW Issue Templates.
Start by checking that all the minimum requirements are being met. Also, review our EFLOW Installation & Configuration guide. If you want advanced debugging and troubleshooting, it's possible to establish an SSH connection to the EFLOW VM and access the VM logs.
- Open Settings on Windows 10
- Select Add or Remove Programs
- Select Azure IoT Edge app
- Check the version number
CBL-Mariner does not support Apt-Get but rather TDNF as its package manager. That said, we have purposefully removed the package manager as we do not support modifications to the EFLOW VM image composition. We do our servicing through Microsoft Update and swap the previous image with the new image using A – B updates. Doing so would wipe out any composition changes that you would make if you could.
If the user runs sudo reboot
or sudo shutdown -r now
from inside the VM, the VM will shut down but won't start again. If this happens, the user will have to start the EFLOW VM manually using the Start-EflowVm
. In order to reboot the EFLOW VM, the suggested way is to always use Stop-EflowVm
and then Start-EflowVm
.
EFLOW 1.1.2108.0 introduced a bug that results in having two instances of EFLOW. This is not a supported scenario and will prevent EFLOW from working correctly. To fix this issue, use the following instructions:
- Download Microsoft Program Install and Uninstall
- Run the downloaded tool
- Select Next and wait for the problem detection to end
- Select Uninstalling
- Wait for problem detection ends (can take some minutes)
- Select Azure IoT Edge LTS from the list
- Select Yes, try uninstall and wait for the uninstallation to finish
- Repeat previous steps with the second installed instance of EFLOW
EFLOW installation will use 16GB VHDX by default. You can change the Disk Size during deployment time, using the -vmDiskSize
and assigning the size in GB.
Furthermore, we've found that Docker logs size can be an issue. To limit Docker logs size, check Docker - Configure logging drivers.
Journald is architected so that the memory usage is bound to the possible maximum of the active log file (the one currently written to). This value can be correlated to the setting of "SystemMaxFileSize" under journald configuration. The lower the value is, the less of the working memory the journald will use.
By default, the value of "SystemMaxFileSize" is 1/8 of the maximum total logs size (1GB in CBL-Mariner by default), so journald at most will map 250MB (125MB for active system journal + 125MB for active user journal) into the working memory. This value can be changed to meet the user requirements.
To modify the value, follow these steps:
- Modify /etc/systemd/journald.conf to add "SystemMaxFileSize" to indirectly cap the journald memory usage
sudo systemctl daemon-reload
sudo systemctl restart systemd-journald
-
sudo journalctl --rotate