Azure IoT Edge Preview 2 – Installing Prerequisites on Server Core

Installing the IoT Edge prerequisites on Server Core 1709 requires using the command line. If you are in Azure, start by creating a VM using the “Windows Server, version 1709 with Containers” image. If you are using Hyper-V, build up a VM using Server Core 1709.  The 1803 and Windows Server 2019 versions fail prerequisite…

0

Azure IoT Edge Preview 2 – Restart Error

Currently there is a problem starting IoT Edge runtime unless the “iotedgectl setup” and “iotedgectl login” commands are issued first.  This happens anytime the runtime stops and is started again, such as after a device reboot or the “iotedgectl restart” command is used. The error is:  404 Client Error: Not Found (“network 9d03b337f52a4878c7a82ddf6a1a62afb01c79d33249f434b3e7052e9bfaf986 not found”)…

0

Azure IoT Edge Preview 2 – Module Networking

By default Docker prevents the outside world from communicating with the module running in the container unless you configure a host port to container port mapping. The following container create options, used while setting the module, open a port into the container:   { “ExposedPorts”: { “5672/tcp”: {} }, “HostConfig”: { “PortBindings”: { “5672/tcp”: [ {…

0

Azure IoT Edge Preview 2 – Use Chrome with the Portal

For whatever reason the IoT Edge section of the Azure Portal works better inside Google Chrome than the Edge web browser.  The Edge web browser hangs and gives BadRequest notifications: BadRequest:{ “Message”: “ErrorCode:InvalidProtocolVersion;BadRequest”, “ExceptionMessage”: “Tracking ID:dd8904d6213046:14-TimeStamp:06/08/2018 02:51:08” } This can also happen to Chrome.  When it does, I’ve found that another computer can still access…

0

Azure IoT Edge Preview 2 – Debugging Container Exceptions

The “docker ps” command shows which containers are running.  There should be two containers running from the Azure IoT Edge team plus the containers you configured modules for.  If they are not running troubleshoot by: Run the “iotedgectl start” command to ensure the Edge runtime is started. Run “docker ps” to see if the containers…

0

Azure IoT Edge Preview 2 – Windows Server 1709 is Core

Windows Server version 1709 is only released in the Server Core configuration. There is no Server 1709 version that includes a Desktop UI. In my case this prevented me from installing a legacy Windows Form application I needed for device polling. I tried Windows Server 2019 preview but it failed Edge’s prerequisites validation. I will…

0

Azure IoT Edge Preview 2 – Edge Requires Azure VM’s with Nested Virtualization

This applied to running Edge dev or device VM’s in Azure. Azure D and E version 3 VM’s support the nested virtualization that Azure IoT Edge requires. Nested virtualization support was announced last year so perhaps other version 3 or newer VM’s support it too. If you pick the wrong VM type, you can pass…

0

Azure IoT Edge Preview 2 – Windows OS Version Prerequisites

The Edge documentation’s Quick Start has a prerequisites section with a note specifying the OS version to use. This applies to both your development and edge servers. It specifically says to use the Windows Fall Creator Update / Build 16299 versions. This is also known as version 1709, for being released in September of 2017….

0

Azure IoT Edge Preview 2 – Lessons Learned Series

I’m writing a series of posts tagged with IoTEdgePreviewLessonsLearned to share knowledge about Azure IoT Edge Preview 2. The background is that I’m developing an Azure IoT Edge proof of concept  to replace a custom monitoring pipeline I designed a couple years ago.  The current pipeline collects telemetry into Event Hub and stream processes it with…

0

Logging Azure Startup Task to WAD

Debugging startup tasks is very challenging so it is useful to log what they are doing.  Say that you have a ServiceDefinition.csdef file that looks like this:   <?xml version=”1.0″ encoding=”utf-8″?> <ServiceDefinition name=”Foo” xmlns=”http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition” schemaVersion=”2012-10.1.8″>   <WebRole name=”Bar” vmsize=”Medium” enableNativeCodeExecution=”true”>     <Startup>       <Task commandLine=”Startup\ConfigureIIS.cmd” executionContext=”elevated” taskType=”simple” />     </Startup>     …  …

0