Skip to content

Commit 8c98054

Browse files
committed
Review
1 parent 901051b commit 8c98054

11 files changed

+69
-70
lines changed

articles/iot-edge/includes/debug-without-container-run.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
ms.topic: include
3-
ms.date: 07/07/2022
3+
ms.date: 06/10/2024
44
author: PatAltimore
55
ms.author: patricka
66
ms.service: iot-edge

articles/iot-edge/includes/debug-without-container-setup.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
ms.topic: include
3-
ms.date: 07/08/2022
3+
ms.date: 06/10/2024
44
author: PatAltimore
55
ms.author: patricka
66
ms.service: iot-edge
@@ -22,7 +22,7 @@ IoT Edge modules need an IoT Edge environment to run and debug. You can use an I
2222

2323
1. In the Visual Studio Code command palette, run the command **Azure IoT Edge: Start IoT Edge Hub Simulator for Single Module**.
2424
1. Provide the names of any inputs that you want to test with your module. If you're using the default sample code, use the value **input1**.
25-
1. The command triggers the **iotedgehubdev** CLI and then starts the IoT Edge simulator and a testing utility module container. You can see the output similar to the following in the integrated terminal if the simulator has been started in single module mode successfully. The output includes an example `curl` command to send a message to the simulator. You'll use the `curl` command later.
25+
1. The command triggers the **iotedgehubdev** CLI and then starts the IoT Edge simulator and a testing utility module container. You can see the output similar to the following in the integrated terminal if the simulator is started in single module mode successfully. The output includes an example `curl` command to send a message to the simulator. You'll use the `curl` command later.
2626

2727
```output
2828
D:\Workspaces\EdgeSolution>iotedgehubdev start -i "input1"
@@ -37,6 +37,6 @@ IoT Edge modules need an IoT Edge environment to run and debug. You can use an I
3737
3838
### Debug module in launch mode
3939
40-
After the simulator has been started successfully, you can debug your module code.
40+
After the simulator is started successfully, you can debug your module code.
4141
4242
Prepare your environment for debugging, set a breakpoint in your module, and select the debug configuration to use.

articles/iot-edge/includes/iot-edge-create-dps-enrollment-symmetric.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
ms.topic: include
3-
ms.date: 12/23/2022
3+
ms.date: 06/10/2024
44
author: PatAltimore
55
ms.author: patricka
66
ms.service: iot-edge

articles/iot-edge/includes/iot-edge-install-linux-on-windows.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
ms.topic: include
3-
ms.date: 01/25/2022
3+
ms.date: 06/10/2024
44
author: PatAltimore
55
ms.author: patricka
66
ms.service: iot-edge
@@ -57,7 +57,7 @@ Deploy Azure IoT Edge for Linux on Windows on your target device.
5757
>
5858
>You can customize the virtual machine's available resources using the `Deploy-Eflow` command's optional parameters. This is required to deploy EFLOW on a device with the minimum hardware requirements.
5959
>
60-
>For example, the command below creates a virtual machine with 1 vCPU core, 1 GB of RAM (represented in MB), and 2 GB of disk space:
60+
>For example, the following command creates a virtual machine with 1 vCPU core, 1 GB of RAM (represented in MB), and 2 GB of disk space:
6161
>
6262
> ```powershell
6363
> Deploy-Eflow -cpuCount 1 -memoryInMB 1024 -vmDataSize 2
@@ -68,7 +68,7 @@ Deploy Azure IoT Edge for Linux on Windows on your target device.
6868
>[!WARNING]
6969
>By default, the EFLOW Linux virtual machine has no DNS configuration. Deployments using DHCP will try to obtain the DNS configuration propagated by the DHCP server. Please check your DNS configuration to ensure internet connectivity. For more information, see [AzEFLOW-DNS](https://aka.ms/AzEFLOW-DNS).
7070
71-
You can assign a GPU to your deployment to enable GPU-accelerated Linux modules. To gain access to these features, you will need to install the prerequisites detailed in [GPU acceleration for Azure IoT Edge for Linux on Windows](/azure/iot-edge/gpu-acceleration).
71+
You can assign a GPU to your deployment to enable GPU-accelerated Linux modules. To gain access to these features, you need to install the prerequisites detailed in [GPU acceleration for Azure IoT Edge for Linux on Windows](/azure/iot-edge/gpu-acceleration).
7272
7373
To use a GPU passthrough, add the **gpuName**, **gpuPassthroughType**, and **gpuCount** parameters to your `Deploy-Eflow` command. For information about all the optional parameters available, see [PowerShell functions for IoT Edge for Linux on Windows](/azure/iot-edge/reference-iot-edge-for-linux-on-windows-functions#deploy-eflow).
7474

articles/iot-edge/includes/iot-edge-prerequisites-linux-on-windows.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
ms.topic: include
3-
ms.date: 12/23/2022
3+
ms.date: 06/10/2024
44
author: PatAltimore
55
ms.author: patricka
66
ms.service: iot-edge
@@ -27,7 +27,7 @@ A Windows device with the following minimum requirements:
2727
* On a virtual machine, configure nested virtualization. For more information, see [nested virtualization](../nested-virtualization.md).
2828

2929
* Networking support
30-
* Windows Server does not come with a default switch. Before you can deploy EFLOW to a Windows Server device, you need to create a virtual switch. For more information, see [Create virtual switch for Linux on Windows](../how-to-create-virtual-switch.md).
30+
* Windows Server does not come with a default switch. Before you can deploy EFLOW to a Windows Server device, you need to create a virtual switch. For more information, see [Create virtual switch for Linux on Windows](../how-to-create-virtual-switch.md).
3131
* Windows Desktop versions come with a default switch that can be used for EFLOW installation. If needed, you can create your own custom virtual switch.
3232

3333
> [!TIP]
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
ms.topic: include
3-
ms.date: 02/10/2022
4-
author: fcabrera
5-
ms.author: fcabrera
3+
ms.date: 06/10/2024
4+
author: PatAltimore
5+
ms.author: patricka
66
ms.service: iot-edge
77
ms.custom: linux-related-content
88
services: iot-edge
@@ -14,5 +14,5 @@ If you want to remove the Azure IoT Edge for Linux on Windows installation from
1414

1515
1. Open Settings on Windows
1616
2. Select Add or Remove Programs
17-
3. Select _Azure IoT Edge_ app
17+
3. Select *Azure IoT Edge* app
1818
4. Select Uninstall

articles/iot-edge/includes/iot-edge-verify-iot-edge-continuous-integration-continuous-deployment.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
author: v-tcassi
2+
author: PatAltimore
33
ms.service: iot-edge
44
ms.topic: include
5-
ms.date: 12/23/2022
6-
ms.author: v-tcassi
5+
ms.date: 06/10/2024
6+
ms.author: patricka
77
---
88

99
## Verify IoT Edge CI/CD with the build and release pipelines
@@ -28,7 +28,7 @@ To trigger a build job, you can either push a commit to source code repository o
2828

2929
![Release to dev](media/iot-edge-verify-iot-edge-continuous-integration-continuous-deployment/pending-approval.png)
3030

31-
6. Click **dev** stage to see release logs.
31+
6. Select **dev** stage to see release logs.
3232

3333
![Release logs](media/iot-edge-verify-iot-edge-continuous-integration-continuous-deployment/release-logs.png)
3434

articles/iot-edge/reference-iot-edge-for-linux-on-windows-functions.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: PowerShell functions for Azure IoT Edge for Linux on Windows | Microsoft Docs
3-
description: Reference information for Azure IoT Edge for Linux on Windows PowerShell functions to deploy, provision, and status IoT Edge for Linux on Windows virtual machines.
2+
title: PowerShell functions for Azure IoT Edge for Linux on Windows
3+
description: Reference information for Azure IoT Edge for Linux on Windows PowerShell functions to deploy, provision, and get status.
44
author: PatAltimore
55

6-
ms.author: fcabrera
7-
ms.date: 07/28/2022
6+
ms.author: patricka
7+
ms.date: 06/10/2024
88
ms.topic: reference
99
ms.service: iot-edge
1010
ms.custom: linux-related-content
@@ -104,8 +104,8 @@ The JSON configuration file must have the following structure:
104104

105105
- **sharedFOlderRoot** : Path to the Windows root folder that contains all the folders to be shared with the EFLOW virtual machine.
106106
- **hostFolderPath**: Relative path (to the parent root folder) of the folder to be shared with the EFLOW VM.
107-
- **readOnly**: Defines if the shared folder will be writeable or read-only from the EFLOW virtual machine - Values: **false** or **true**.
108-
- **targetFolderOnGuest** : Folder path inside the EFLOW virtual machine where Windows host OS folder will be mounted.
107+
- **readOnly**: Defines if the shared folder is writeable or read-only from the EFLOW virtual machine - Values: **false** or **true**.
108+
- **targetFolderOnGuest** : Folder path inside the EFLOW virtual machine where Windows host OS folder is mounted.
109109

110110
```json
111111
[
@@ -420,7 +420,7 @@ For more information, use the command `Get-Help Stop-EflowVm -full`.
420420

421421
## Verify-EflowVm
422422

423-
The **Verify-EflowVm** command is an exposed function that checks whether the IoT Edge for Linux on Windows virtual machine was created. It takes only common parameters, and it will return **True** if the virtual machine was created and **False** if not.
423+
The **Verify-EflowVm** command is an exposed function that checks whether the IoT Edge for Linux on Windows virtual machine was created. It takes only common parameters, and it returns **True** if the virtual machine was created and **False** if not.
424424

425425
For more information, use the command `Get-Help Verify-EflowVm -full`.
426426

articles/iot-edge/troubleshoot-iot-edge-for-linux-on-windows-networking.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: Troubleshoot your IoT Edge for Linux on Windows networking | Microsoft Docs
2+
title: Troubleshoot your IoT Edge for Linux on Windows networking
33
description: Learn about troubleshooting and diagnostics for Azure IoT Edge for Linux on Windows (EFLOW), like retrieving component status and logs.
44
author: PatAltimore
55

6-
ms.author: fcabrera
7-
ms.date: 11/15/2022
8-
ms.topic: conceptual
6+
ms.author: patricka
7+
ms.date: 06/10/2024
8+
ms.topic: troubleshooting-general
99
ms.service: iot-edge
1010
ms.custom: linux-related-content
1111
services: iot-edge
@@ -30,9 +30,9 @@ For more information about EFLOW networking concepts, see [IoT Edge for Linux on
3030

3131
## Check IP addresses
3232

33-
Your first step when troubleshooting IoT Edge for Linux on Windows networking should be to check the VM IP address configurations. If IP communication is misconfigured, then all inbound and outbound connections will fail.
33+
Your first step when troubleshooting IoT Edge for Linux on Windows networking should be to check the VM IP address configurations. If IP communication is misconfigured, then all inbound and outbound connections fail.
3434

35-
1. Start an elevated _PowerShell_ session using **Run as Administrator**.
35+
1. Start an elevated *PowerShell* session using **Run as Administrator**.
3636
1. Check the IP address returned by the VM lifecycle agent. Make note of the IP address and compare it with the one obtained from inside the VM in the later steps.
3737
```powershell
3838
Get-EflowVmAddr
@@ -41,11 +41,11 @@ Your first step when troubleshooting IoT Edge for Linux on Windows networking sh
4141
```powershell
4242
Connect-EflowVm
4343
```
44-
1. Check the _eth0_ VM network interface configuration.
44+
1. Check the *eth0* VM network interface configuration.
4545
```bash
4646
ifconfig eth0
4747
```
48-
In the output, you should see the _eth0_ configuration information. Ensure that the _inet_ address is correctly set.
48+
In the output, you should see the *eth0* configuration information. Ensure that the *inet* address is correctly set.
4949
```Output
5050
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
5151
inet 172.31.100.171 netmask 255.255.240.0 broadcast 172.31.111.255
@@ -57,7 +57,7 @@ Your first step when troubleshooting IoT Edge for Linux on Windows networking sh
5757
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
5858
```
5959
60-
If the _inet_ IP address is blank or different from the one provided by using the `Get-EflowVmAddr` cmdlet, you need to troubleshoot why the EFLOW VM has an invalid or no IP address assigned. Use the following table to troubleshoot the issue:
60+
If the *inet* IP address is blank or different from the one provided by using the `Get-EflowVmAddr` cmdlet, you need to troubleshoot why the EFLOW VM has an invalid or no IP address assigned. Use the following table to troubleshoot the issue:
6161
6262
| Virtual Switch | IP Address Assignation | Troubleshoot |
6363
| ---------------| -----------------------|--------------|
@@ -76,11 +76,11 @@ If you're still having issues with the IP address assignation, try setting up an
7676
7777
Your second step when troubleshooting IoT Edge for Linux on Windows networking should be to check the DNS servers assigned to the EFLOW VM. To check the EFLOW VM DNS configuration, see [Networking configuration for Azure IoT Edge for Linux on Windows](how-to-configure-iot-edge-for-linux-on-windows-networking.md). If address resolution is working, then the issue is likely related to firewall or security configurations on the network.
7878
79-
The EFLOW VM uses the _systemd-resolved_ service to manage the DNS resolution. For more information about this service, see [Systemd-resolved](https://wiki.archlinux.org/title/Systemd-resolved). To set up a specific DNS server address, you can use the `Set-EflowVmDnsServers` cmdlet. If you need further information about the DNS configuration, you can check the _/etc/systemd/resolved.conf_ and the _system-resolved_ service using the `sudo systemctl status systemd-resolved` command. Also, you can set a specific DNS server as part of the module configuration, see [Option 2: Set DNS server in IoT Edge deployment per module](troubleshoot-common-errors.md).
79+
The EFLOW VM uses the *systemd-resolved* service to manage the DNS resolution. For more information about this service, see [Systemd-resolved](https://wiki.archlinux.org/title/Systemd-resolved). To set up a specific DNS server address, you can use the `Set-EflowVmDnsServers` cmdlet. If you need further information about the DNS configuration, you can check the */etc/systemd/resolved.conf* and the *system-resolved* service using the `sudo systemctl status systemd-resolved` command. Also, you can set a specific DNS server as part of the module configuration, see [Option 2: Set DNS server in IoT Edge deployment per module](troubleshoot-common-errors.md).
8080
8181
The address resolution could fail for multiple reasons. First, the DNS servers could be configured correctly, however they can't be reached from the EFLOW VM. If the DNS servers respond to ICMP ping traffic, you can try pinging the DNS servers to check network connectivity.
8282
83-
1. Start an elevated _PowerShell_ session using **Run as Administrator**.
83+
1. Start an elevated *PowerShell* session using **Run as Administrator**.
8484
1. Connect to the EFLOW virtual machine.
8585
```powershell
8686
Connect-EflowVm
@@ -94,7 +94,7 @@ The address resolution could fail for multiple reasons. First, the DNS servers c
9494
9595
Second, some network environments will limit the access of the DNS servers to specific allowlist addresses. If so, first make sure that you can access the DNS server from the Windows host OS, and then check with your networking team if you need to add the EFLOW IP address to an allowlist.
9696
97-
Finally, some network environment will block public DNS servers, like Google DNS (_8.8.8.8_ and _8.8.4.4_). If so, talk with your network environment team to define a valid DNS server, and then set it up using the `Set-EflowVmDnsServers` cmdlet.
97+
Finally, some network environments block public DNS servers, like Google DNS (*8.8.8.8* and *8.8.4.4*). If so, talk with your network environment team to define a valid DNS server, and then set it up using the `Set-EflowVmDnsServers` cmdlet.
9898
9999
## Check your firewall and port configuration rules
100100
@@ -106,14 +106,14 @@ The IoT Edge for Linux on Windows is still dependent on the underlying Windows h
106106
|--|--|--|--|--|
107107
|MQTT|8883|BLOCKED (Default)|BLOCKED (Default)| Configure *Outgoing (Outbound)* to be *Open* when using MQTT as the communication protocol. <br><br> 1883 for MQTT isn't supported by IoT Edge. - Incoming (Inbound) connections should be blocked.|
108108
|AMQP|5671|BLOCKED (Default)|OPEN (Default)| Default communication protocol for IoT Edge. <br><br> Must be configured to be *Open* if Azure IoT Edge isn't configured for other supported protocols or AMQP is the desired communication protocol. <br><br>5672 for AMQP isn't supported by IoT Edge.<br><br>Block this port when Azure IoT Edge uses a different IoT Hub supported protocol.<br><br>Incoming (Inbound) connections should be blocked.|
109-
|HTTPS|443|BLOCKED (Default)|OPEN (Default)|Configure *Outgoing (Outbound)* to be *Open* on port 443 for IoT Edge provisioning. This configuration is required when using manual scripts or Azure IoT Device Provisioning Service (DPS). <br><br><a id="anchortext">*Incoming (Inbound)* connection</a> should be *Open* only for two specific scenarios: <br>1. If you have a transparent gateway with downstream devices that may send method requests. In this case, port 443 doesn't need to be open to external networks to connect to IoT Hub or provide IoT Hub services through Azure IoT Edge. Thus the incoming rule could be restricted to only open *Incoming (Inbound)* from the internal network.<br>2. For *client to device (C2D)* scenarios.<br><br>80 for HTTP isn't supported by IoT Edge.<br><br>If non-HTTP protocols (for example, AMQP or MQTT) can't be configured in the enterprise; the messages can be sent over WebSockets. Port 443 will be used for WebSocket communication in that case.|
109+
|HTTPS|443|BLOCKED (Default)|OPEN (Default)|Configure *Outgoing (Outbound)* to be *Open* on port 443 for IoT Edge provisioning. This configuration is required when using manual scripts or Azure IoT Device Provisioning Service (DPS). <br><br><a id="anchortext">*Incoming (Inbound)* connection</a> should be *Open* only for two specific scenarios: <br>1. If you have a transparent gateway with downstream devices that may send method requests. In this case, port 443 doesn't need to be open to external networks to connect to IoT Hub or provide IoT Hub services through Azure IoT Edge. Thus the incoming rule could be restricted to only open *Incoming (Inbound)* from the internal network.<br>2. For *client to device (C2D)* scenarios.<br><br>80 for HTTP isn't supported by IoT Edge.<br><br>If non-HTTP protocols (for example, AMQP or MQTT) can't be configured in the enterprise; the messages can be sent over WebSockets. Port 443 is used for WebSocket communication in that case.|
110110
111111
>[!NOTE]
112112
> If you are using an external virtual switch, make sure to add the appropriate firewall rules for the module port mappings you're using inside the EFLOW virtual machine.
113113
114114
For more information about EFLOW VM firewall, see [IoT Edge for Linux on Windows Security](./iot-edge-for-linux-on-windows-security.md). To check the EFLOW virtual machine rules, use the following steps:
115115
116-
1. Start an elevated _PowerShell_ session using **Run as Administrator**.
116+
1. Start an elevated *PowerShell* session using **Run as Administrator**.
117117
1. Connect to the EFLOW virtual machine.
118118
```powershell
119119
Connect-EflowVm
@@ -125,12 +125,12 @@ For more information about EFLOW VM firewall, see [IoT Edge for Linux on Windows
125125
126126
To add a firewall rule to the EFLOW VM, you can use the [EFLOW Util - Firewall Rules](https://github.com/Azure/iotedge-eflow/tree/main/eflow-util#get-eflowvmfirewallrules) sample PowerShell cmdlets. Also, you can achieve the same rules creation by following these steps:
127127
128-
1. Start an elevated _PowerShell_ session using **Run as Administrator**.
128+
1. Start an elevated *PowerShell* session using **Run as Administrator**.
129129
1. Connect to the EFLOW virtual machine
130130
```powershell
131131
Connect-EflowVm
132132
```
133-
1. Add a firewall rule to accept incoming traffic to _\<port\>_ of _\<protocol\>_ ( _udp_ or _tcp_) traffic.
133+
1. Add a firewall rule to accept incoming traffic to *\<port\>* of *\<protocol\>* ( *udp* or *tcp*) traffic.
134134
```powershell
135135
sudo iptables -A INPUT -p <protocol> --dport <port> -j ACCEPT
136136
```

0 commit comments

Comments
 (0)