Azure / Azure/iotedgehubdev

Support for local MQTT broker (preview)

Open
#345 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
91
Forks
38
Avg merge
6m
Merged PRs (30d)
1

Description

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:
```
sudo iotedgehubdev setup -c ""
iotedgehubdev start -d deployment.json
```

Example deployment manifest:
```
{
"$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"]
}
]
}
]
}
}
}
}
}
```

Example error:
```
...
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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.