Currently, when attempting to enable the experimental local MQTT broker I'm seeing issues with edgeHub not able to start and complaining about missing environment variables. I got about 6 deep trying to supply these env vars manually before giving up on that route.
sudo iotedgehubdev setup -c "<CONNECTION STRING>"
iotedgehubdev start -d deployment.json
{
"$schema-template": "1.0.0",
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"schemaVersion": "1.1",
"runtime": {
"type": "docker",
"settings": {
"minDockerVersion": "v1.25",
"loggingOptions": "",
"registryCredentials": {}
}
},
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.2",
"createOptions": "{}"
}
},
"edgeHub": {
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.2",
"createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}],\"1883/tcp\":[{\"HostPort\":\"1883\"}]}}}"
},
"env": {
"experimentalFeatures__mqttBrokerEnabled": {
"value": "true"
},
"experimentalFeatures__enabled": {
"value": "true"
},
"RuntimeLogLevel": {
"value": "debug"
}
}
}
},
"modules": {
}
}
},
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.2",
"routes": {
"Upstream": "FROM /messages/* INTO $upstream"
},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
},
"mqttBroker": {
"authorizations": [
{
"identities": ["{{iot:identity}}"],
"allow": [
{
"operations": ["mqtt:connect"]
}
]
},
{
"identities": ["{{iot:identity}}"],
"allow": [
{
"operations": ["mqtt:publish", "mqtt:subscribe"],
"resources": ["test_topic"]
}
]
}
]
}
}
}
}
}
...
at Microsoft.Azure.Devices.Edge.Hub.Service.Program.Main() in /home/vsts/work/1/s/edge-hub/core/src/Microsoft.Azure.Devices.Edge.Hub.Service/Program.cs:line 36
Error: IOTEDGE_DEVICEID
Caused by:
environment variable not found
Removing the 'experimentalFeatures__mqttBrokerEnabled' env variable allows edgeHub to start normally.
Currently, when attempting to enable the experimental local MQTT broker I'm seeing issues with edgeHub not able to start and complaining about missing environment variables. I got about 6 deep trying to supply these env vars manually before giving up on that route.
Repro steps:
Example deployment manifest:
Example error:
Removing the 'experimentalFeatures__mqttBrokerEnabled' env variable allows edgeHub to start normally.