How to roll back an Azure IoT Edge layered deployment?

Have you ever wondered how you could roll back the latest layered Azure IoT Edge deployment? I have – it’s actually pretty useful. But what for? Well, perhaps it’s useful as the last step or whatever interesting Azure DevOps pipelines you have to deploy changes to an Edge device, run tests, and then remove the deployment. You could possibly have it as an optional parameter in case you want to do a dry run for the deployment – see if everything works well but not…Continue reading How to roll back an Azure IoT Edge layered deployment?

Pipeline overloading the poor $edgeAgent

Azure IoT Edge order of deployment operations

This article tries to bridge a gap in Microsoft’s documentation for the Azure IoT Edge deployment model. Namely – all different ways to deploy modules or module configurations to your Azure IoT Edge devices, and which takes precedence over which. Problem The documentation for Azure IoT Edge is surprisingly immature. As you go about your first projects, you will run into all kinds of gaps. One of the things I ran into that definitely required some clarification was which deployment takes priority when you deploy…Continue reading Azure IoT Edge order of deployment operations

Azure DevOps - Always Be Shipping!

How to configure Azure IoT Edge deployments in Azure DevOps pipeline?

So some time ago, I needed to configure my first Azure DevOps pipeline for an Azure IoT Edge project. I needed to figure out which tasks to use, how to handle variables – all that good stuff. And let’s call it a learning experience. Pro tip: AzureIoTEdge task is not the way to go :) This article has actually been more than a year in the making, but as usual, it takes me a while to get around to polishing things into a publishable form.…Continue reading How to configure Azure IoT Edge deployments in Azure DevOps pipeline?

How to get your Azure IoT Edge runtime to use port 443 instead of using 5671 and 8883?

Are you struggling with your Azure IoT Edge modules not receiving your Direct Method calls? Is EdgeHub reporting transient network issues? Are you seeing “Could not connect to your IoT hub: could not complete TLS handshake” errors? Are your modules experiencing constant 104 errors (connection reset by peer)? Fear not! This article explains how to fix them. Kind of. Problem We were experiencing some major issues with our customer’s Edge devices. Direct Method calls would mostly not go through, message routing between Edge and the…Continue reading How to get your Azure IoT Edge runtime to use port 443 instead of using 5671 and 8883?

Everything is broken (a delicious lego meme)

“Unable to retrieve IoT Edge informationIoT Edge configuration uses an unsupported schema and cannot be displayed.” after deploying from VS Code. What do?

This article explains a couple of steps you might need to take when executing a Single-Device deployment from Visual Studio Code to an Azure IoT Edge device. Through a bit of trial and error, I learned quite a few things that might go wrong when VSCode is building your deployment manifest (the one that’ll be hosted under “config” folder and used for the deployment – that is). Background So a while ago, I was updating the base deployment of an Azure IoT Edge device. I…Continue reading “Unable to retrieve IoT Edge informationIoT Edge configuration uses an unsupported schema and cannot be displayed.” after deploying from VS Code. What do?

Azure IoT Edge is just Docker containers all the way

Azure IoT Edge gotchas – and how to overcome them!

This article describes the gotchas and weird one-offs that I’ve encountered with Azure IoT Edge so far. Consider them not-too-thoroughly tested quick fixes that aren’t significant enough to warrant an actual blog post themselves :) Okay – let’s get to them gotchas, then! Posts Related to “Azure IoT Edge gotchas – and how to overcome them!”:Azure IoT Edge order of deployment operationsHow to update application settings of an Azure Functions App in Azure DevOps PipelineHow to configure Azure IoT Edge deployments in Azure DevOps pipeline?

Azure IoT Edge is just Docker containers all the way

How to fix “Cannot start service edgeHubDev: Ports are not available: listen tcp 0.0.0.0:8883”

Here is another fun one for the books! In this article, I will explain how to fix a problem with the Azure IoT Edge dev simulator, when it fails to start due to an underlying problem with Docker not having access to your defined ports. This will probably happen to one of the ports used by the Edge Hub system module by default – 5671, 8883, or 443. Problem So, when you’re trying to run an Azure IoT Edge solution in the simulator, you get…Continue reading How to fix “Cannot start service edgeHubDev: Ports are not available: listen tcp 0.0.0.0:8883”

Docker - sure, it works great!

How to fix “exec user process caused: no such file or directory” in Docker on Windows?

Another one in the series of “random things that break when you try to run Docker on Windows”! I was just minding my own business, trying to run an Azure IoT Edge custom module – a Docker container, really – locally, when suddenly everything broke and one of my Docker containers wouldn’t run anymore, which broke the rest of my stuff pretty badly. Instead, it failed with a cryptic and surprising error “exec user process caused: no such file or directory”. This article explains how…Continue reading How to fix “exec user process caused: no such file or directory” in Docker on Windows?