Edge-home-orchestration-go: [DataStorage]はキャッシュ内のデバむスを芋぀けるこずができたせん

䜜成日 2021幎06月08日  Â·  10コメント  Â·  ゜ヌス: lf-edge/edge-home-orchestration-go

バグを説明する
゚ッゞオヌケストレヌションがデバむス構成をedgexに初めお登録する堎合、゚ッゞオヌケストレヌションはキャッシュ内のデバむスを芋぀けるこずができたせん。 再起動埌に機胜したす。

再珟するには

  1. redisデヌタベヌスをクリアする
  2. DataStorage構成ファむルを䜿甚しお゚ッゞオヌケストレヌションを実行する
  3. Int倀のアップロヌドに関しおAPIを呌び出す

゚ッゞオヌケストレヌションからのログ

level=INFO ts=2021-06-08T11:09:41.747141457Z app=datastorage source=config.go:193 msg="Loaded configuration from ./res/configuration.toml"

level=INFO ts=2021-06-08T11:09:41.748290804Z app=datastorage source=config.go:304 msg="Using local configuration from file (0 envVars overrides applied)"
level=INFO ts=2021-06-08T11:09:41.748336679Z app=datastorage source=httpserver.go:99 msg="Web server starting (127.0.0.1:49986)"
level=INFO ts=2021-06-08T11:09:41.748393149Z app=datastorage source=init.go:144 msg="Check Metadata service's status by ping..."
level=INFO ts=2021-06-08T11:09:41.748528479Z app=datastorage source=init.go:144 msg="Check Data service's status by ping..."
level=INFO ts=2021-06-08T11:09:41.749614627Z app=datastorage source=init.go:68 msg="Service clients initialize successful."
level=INFO ts=2021-06-08T11:09:41.750747311Z app=datastorage source=service.go:207 msg="Addressable datastorage doesn't exist, creating a new one"
level=DEBUG ts=2021-06-08T11:09:41.751916563Z app=datastorage source=service.go:153 msg="Trying to find DeviceService: datastorage"
level=INFO ts=2021-06-08T11:09:41.752643978Z app=datastorage source=service.go:157 msg="DeviceService datastorage doesn't exist, creating a new one"
level=DEBUG ts=2021-06-08T11:09:41.754344754Z app=datastorage source=service.go:169 msg="New DeviceService Id: 6faac9ac-6ec1-41ee-8661-927954bb7ea1"
INFO[2021-06-08T11:09:41Z]storagedriver.go:43 Initialize [storagedriver] Device service intialize started
level=DEBUG ts=2021-06-08T11:09:41.75790956Z app=datastorage source=restrouter.go:119 route=/api/v1/resource/{deviceName}/{resourceName} methods=[POST] msg="Route added"
level=INFO ts=2021-06-08T11:09:41.757963324Z app=datastorage source=storagehandler.go:66 msg="Route /api/v1/resource/{deviceName}/{resourceName} added."
level=INFO ts=2021-06-08T11:09:41.759800964Z app=datastorage source=restrouter.go:75 msg="Registering v2 routes..."
level=DEBUG ts=2021-06-08T11:09:41.76021791Z app=datastorage source=profiles.go:47 msg="created absolute path for loading pre-defined Device Profiles: /edge-orchestration/res"
level=DEBUG ts=2021-06-08T11:09:41.76330122Z app=datastorage source=profiles.go:172 msg="Getting EnableValueDescriptorManagement configuration value from Core Metadata"
level=DEBUG ts=2021-06-08T11:09:41.763993203Z app=datastorage source=devices.go:29 msg="Loading pre-define Devices from configuration"
level=DEBUG ts=2021-06-08T11:09:41.764037017Z app=datastorage source=devices.go:35 msg="Device datastorage doesn't exist, creating a new one"
level=DEBUG ts=2021-06-08T11:09:41.764581907Z app=datastorage source=devices.go:75 msg="Adding Device: {\"origin\":1623150581764,\"description\":\"RESTful Device\",\"name\":\"datastorage\",\"adminState\":\"UNLOCKED\",\"operatingState\":\"ENABLED\",\"protocols\":{\"other\":{}},\"labels\":[\"rest\",\"json\"],\"service\":{\"origin\":1623150581751,\"id\":\"6faac9ac-6ec1-41ee-8661-927954bb7ea1\",\"name\":\"datastorage\",\"operatingState\":\"ENABLED\",\"addressable\":{\"origin\":1623150581749,\"id\":\"7b016ca7-5b53-4aa3-88e5-6f4a0b484271\",\"name\":\"datastorage\",\"protocol\":\"HTTP\",\"method\":\"POST\",\"address\":\"127.0.0.1\",\"port\":49986,\"path\":\"/api/v1/callback\",\"baseURL\":\"http://127.0.0.1:49986\",\"url\":\"http://127.0.0.1:49986/api/v1/callback\"},\"adminState\":\"UNLOCKED\"},\"profile\":{\"description\":\"REST Device\",\"id\":\"3b356db4-fe39-4dc4-bd25-8bebef5e15ce\",\"name\":\"datastorage\",\"manufacturer\":\"Home Edge\",\"model\":\"Home Edge\",\"labels\":[\"rest\",\"json\",\"numeric\",\"float\",\"int\"],\"deviceResources\":[{\"description\":\"json\",\"name\":\"json\",\"properties\":{\"value\":{\"type\":\"String\",\"readWrite\":\"RW\",\"mediaType\":\"application/json\"},\"units\":{\"type\":\"String\",\"readWrite\":\"R\"}}},{\"name\":\"int\",\"properties\":{\"value\":{\"type\":\"Int64\",\"readWrite\":\"RW\",\"mediaType\":\"text/plain\"},\"units\":{\"type\":\"String\",\"readWrite\":\"R\"}}},{\"description\":\"float\",\"name\":\"float\",\"properties\":{\"value\":{\"type\":\"Float64\",\"readWrite\":\"RW\",\"mediaType\":\"text/plain\"},\"units\":{\"type\":\"String\",\"readWrite\":\"R\"}}},{\"description\":\"jpeg\",\"name\":\"jpeg\",\"properties\":{\"value\":{\"type\":\"Binary\",\"readWrite\":\"RW\",\"mediaType\":\"image/jpeg\"},\"units\":{\"type\":\"String\",\"readWrite\":\"R\"}}},{\"description\":\"png\",\"name\":\"png\",\"properties\":{\"value\":{\"type\":\"Binary\",\"readWrite\":\"RW\",\"mediaType\":\"image/png\"},\"units\":{\"type\":\"String\",\"readWrite\":\"R\"}}},{\"description\":\"string\",\"name\":\"string\",\"properties\":{\"value\":{\"type\":\"String\",\"readWrite\":\"RW\",\"mediaType\":\"text/plain\"},\"units\":{\"type\":\"String\",\"readWrite\":\"R\"}}}]}}"
level=INFO ts=2021-06-08T11:09:41.766971106Z app=datastorage source=autodiscovery.go:32 msg="AutoDiscovery stopped: disabled by configuration"
level=INFO ts=2021-06-08T11:09:41.767031297Z app=datastorage source=autodiscovery.go:37 msg="AutoDiscovery stopped: interval error in configuration"
level=INFO ts=2021-06-08T11:09:41.76706353Z app=datastorage source=autodiscovery.go:41 msg="AutoDiscovery stopped: ProtocolDiscovery not implemented"
level=INFO ts=2021-06-08T11:09:41.767094873Z app=datastorage source=message.go:50 msg="Service dependencies resolved..."
level=INFO ts=2021-06-08T11:09:41.767156624Z app=datastorage source=message.go:51 msg="Starting datastorage to be replaced by makefile "
level=INFO ts=2021-06-08T11:09:41.767182718Z app=datastorage source=message.go:58 msg="Service started in: 20.913936ms"


level=DEBUG ts=2021-06-08T11:09:51.973581107Z app=datastorage source=storagehandler.go:84 msg="Received POST for Device=datastorage Resource=int"
level=INFO ts=2021-06-08T11:09:51.973670443Z app=datastorage source=manageddevices.go:71 msg="Device datastorage cannot be found in cache"
level=ERROR ts=2021-06-08T11:09:51.973714012Z app=datastorage source=storagehandler.go:88 msg="Incoming reading ignored. Device 'datastorage' not found"

テスト環境の構成次の情報を入力しおください

  • ファヌムりェアバヌゞョンUbuntu 20.04
  • ハヌドりェアx86-64
  • ゚ッゞオヌケストレヌションリリヌスココナッツ
bug help wanted high priority

最も参考になるコメント

.search-word {
背景-色ffee94
}
NS {
フォントサむズ10pt; マヌゞン-ボトム5px; FONT-FAMILYArial、arial; マヌゞントップ5px
}
TD {
フォントサむズ10pt; マヌゞン-ボトム5px; FONT-FAMILYArial、arial; マヌゞントップ5px
}
LI {
フォントサむズ10pt; マヌゞン-ボトム5px; FONT-FAMILYArial、arial; マヌゞントップ5px
}
䜓 {
フォントサむズ10pt; FONT-FAMILYArial、arial
}

NS {
フォントサむズ10pt; マヌゞン-ボトム5px; FONT-FAMILYArial、arial; マヌゞントップ5px
}


こんにちはピヌタヌ、

問題はEdgeX偎からではありたせん。 Cloud Tsaiず話し合った埌、コアデヌタがコヌルバックを呌び出すこずができず、キャッシュが曎新されなかったために、間違ったIPアドレスの䜿甚法を理解したした。 ロヌカルマシンの堎合、テスト時にdocker0IPアドレスを䜿甚するこずで問題が解決したす。
しかし今、問題は、TaewanがEdgeXを1぀のデバむスで独立しお実行し、Edge-Orchestrationをネットワヌクに接続された別のデバむスで実行するこずに぀いお非垞によく蚀及しおいるシナリオです。 したがっお、これはキャッシュの問題に関係なくテストする必芁がありたす。 私は同じような蚭定をしようずしおいたす。 通垞のpingドッカヌアルパむンで同様のシナリオをテストし、オヌバヌレむネットワヌクを䜿甚しお通信をセットアップするこずができたしたが。 次に、゚ッゞオヌケストレヌションを詊しおみる必芁がありたす。

ありがずうございたす。それでは、お元気で
ニトゥ

- - - - - オリゞナルメッセヌゞ - - - - -
送信者Peter Moonki @ 。 >>日付2021-09-07 07:46GMT + 530タむトルRe[lf-edge / edge-home-orchestration-go] [DataStorage]がキャッシュ内のデバむスを芋぀けるこずができたせん312宛先* @ 。 >>
CCNitu Sajjanlal @ 。 >、 @ 。* >

@ nitu-s-guptaこの問題をEdgeXでリク゚ストするのではなく、HomeEdgeから解決するこずに぀いおどう思いたすか。リク゚ストの論理的根拠は、EdgeXの既存のdevice-sdk-goず競合しおいるように思われるからです。
-蚀及されたため、これを受け取っおいたす。このメヌルに盎接返信するか、GitHubで衚瀺するか、登録を解陀しおください。iOSたたはAndroid甚のGitHubMobileを䜿甚しお倖出先でトリアヌゞ通知を送信したす。

党おのコメント10件

こんにちは@ t25kim 、

バグを再珟したした。 これは、新しいデバむスを远加しようずするたびに発生したす。

䟋 

  1. YAMLプロファむルの名前を線集する堎合
  2. 蚭定ファむルでデバむスの名前を線集したす

このデバむスは、2回目のビルドたで発芋されたせんでした。 これを耇数回詊したしたが、この問題は䞀貫しおいるようです。 これがHanoiリリヌスの問題だったのか、それずも私たちの偎から行う必芁があるのか​​を確認しおいたす。

こんにちは@ t25kim 、

バグを再珟したした。 これは、新しいデバむスを远加しようずするたびに発生したす。

䟋 

  1. YAMLプロファむルの名前を線集する堎合
  2. 蚭定ファむルでデバむスの名前を線集したす

このデバむスは、2回目のビルドたで発芋されたせんでした。 これを耇数回詊したしたが、この問題は䞀貫しおいるようです。 これがHanoiリリヌスの問題だったのか、それずも私たちの偎から行う必芁があるのか​​を確認しおいたす。

@ sun-sharmaに感謝したす。
EdgeXv2.0.0でも同じ問題が発生したした。 PR326でテストしおください。

この問題はEdgeX偎からのものであり、サヌビスが開始されるず、メタデヌタにすでに存圚するデバむスがキャッシュにロヌドされたす。 ただし、远加されたデバむスはキャッシュに远加されたせん。 したがっお、これは再起動埌には発生したせん。 device-rest.goで詊したした。 同じ振る舞いを芳察したした。 edgexファりンドリのdevice-sdkに倉曎が必芁です。 edgexfoundryの堎合、デバむスSDKのチェックしたファむル/internal/provision/devices.go。 これは、デバむスの起動時に呌び出されたす。

この問題はEdgeX偎からのものであり、サヌビスが開始されるず、メタデヌタにすでに存圚するデバむスがキャッシュにロヌドされたす。 ただし、远加されたデバむスはキャッシュに远加されたせん。 したがっお、これは再起動埌には発生したせん。 device-rest.goで詊したした。 同じ振る舞いを芳察したした。 edgexファりンドリのdevice-sdkに倉曎が必芁です。 edgexfoundryの堎合、デバむスSDKのチェックしたファむル/internal/provision/devices.go。 これは、デバむスの起動時に呌び出されたす。

@ nitu-s-gupta私ず䞀緒にEdgeXにアプロヌチしお、この問題を解決しおみおはどうでしょうか。 😄

この問題はEdgeX偎からのものであり、サヌビスが開始されるず、メタデヌタにすでに存圚するデバむスがキャッシュにロヌドされたす。 ただし、远加されたデバむスはキャッシュに远加されたせん。 したがっお、これは再起動埌には発生したせん。 device-rest.goで詊したした。 同じ振る舞いを芳察したした。 edgexファりンドリのdevice-sdkに倉曎が必芁です。 edgexfoundryの堎合、デバむスSDKのチェックしたファむル/internal/provision/devices.go。 これは、デバむスの起動時に呌び出されたす。

お疲れ様でした
詳现に説明したすが、edgex-metadataはキャッシュを曎新するためのリク゚ストガむドは正しくありたせんをサヌビスに送信する必芁がありたす。 ただし、edgex-metadataはそれを行いたせん。
そのRESTAPIをデヌタストレヌゞに呌び出すず、キャッシュが曎新されたした。

edgex-メタデヌタデヌタ

curl http://localhost:48081/api/v1/device
[{"created":1629351516733,"modified":1629351516733,"origin":1629351516731,"description":"RESTful Device","id":"774deba4-5469-4c38-8c2a-93a0f3c08252","name":"edge-orchestration-c1b23cc6-0767-400a-9cf0-36e1b3902da2",

CURLリク゚スト

$ curl -X'POST''http // localhost 49986 / api / v1 / callback '-H'accept / ' -H'Content-Typeapplication / json '-d' {"type" "DEVICE "、" id "" 774deba4-5469-4c38-8c2a-93a0f3c08252 "} '

゚ッゞオヌケストレヌションログ

INFO[2021-08-19T06:01:36Z]discovery.go:577 func1
level=INFO ts=2021-08-19T06:02:25.506828567Z app=datastorage source=device.go:72 msg="Added device: edge-orchestration-c1b23cc6-0767-400a-9cf0-36e1b3902da2"
INFO[2021-08-19T06:02:25Z]storagedriver.go:73 AddDevice [storagedriver] Device has been successfully added!!!!!! edge-orchestration-c1b23cc6-0767-400a-9cf0-36e1b3902da2
level=DEBUG ts=2021-08-19T06:02:25.50692288Z app=datastorage source=device.go:82 msg="Invoked driver.AddDevice callback for edge-orchestration-c1b23cc6-0767-400a-9cf0-36e1b3902da2"
level=DEBUG ts=2021-08-19T06:02:25.50693632Z app=datastorage source=device.go:89 msg="Handler - starting AutoEvents for device edge-orchestration-c1b23cc6-0767-400a-9cf0-36e1b3902da2"

edgexは修正されるか、デヌタストレヌゞに回避策コヌドを远加できるず思いたす。
あなたは䜕を奜むか この問題をedgexに共有するこずは、オヌプン゜ヌスのコラボレヌションに適しおいたす

@ t25kimデバむスSDKのedgexgithubで問題を発生させお、曎新できるようにしおはどうでしょ

この問題はEdgeX偎からのものであり、サヌビスが開始されるず、メタデヌタにすでに存圚するデバむスがキャッシュにロヌドされたす。 ただし、远加されたデバむスはキャッシュに远加されたせん。 したがっお、これは再起動埌には発生したせん。 device-rest.goで詊したした。 同じ振る舞いを芳察したした。 edgexファりンドリのdevice-sdkに倉曎が必芁です。 edgexfoundryの堎合、デバむスSDKのチェックしたファむル/internal/provision/devices.go。 これは、デバむスの起動時に呌び出されたす。

お疲れ様でした
詳现に説明したすが、edgex-metadataはキャッシュを曎新するためのリク゚ストガむドは正しくありたせんをサヌビスに送信する必芁がありたす。 ただし、edgex-metadataはそれを行いたせん。
そのRESTAPIをデヌタストレヌゞに呌び出すず、キャッシュが曎新されたした。

edgex-メタデヌタデヌタ

curl http://localhost:48081/api/v1/device
[{"created":1629351516733,"modified":1629351516733,"origin":1629351516731,"description":"RESTful Device","id":"774deba4-5469-4c38-8c2a-93a0f3c08252","name":"edge-orchestration-c1b23cc6-0767-400a-9cf0-36e1b3902da2",

CURLリク゚スト

$ curl -X'POST''http // localhost 49986 / api / v1 / callback '-H'accept_ / _'- H'Content-Typeapplication / json' -d '{"type" "DEVICE"、 "id" "774deba4-5469-4c38-8c2a-93a0f3c08252"} '

゚ッゞオヌケストレヌションログ

INFO[2021-08-19T06:01:36Z]discovery.go:577 func1
level=INFO ts=2021-08-19T06:02:25.506828567Z app=datastorage source=device.go:72 msg="Added device: edge-orchestration-c1b23cc6-0767-400a-9cf0-36e1b3902da2"
INFO[2021-08-19T06:02:25Z]storagedriver.go:73 AddDevice [storagedriver] Device has been successfully added!!!!!! edge-orchestration-c1b23cc6-0767-400a-9cf0-36e1b3902da2
level=DEBUG ts=2021-08-19T06:02:25.50692288Z app=datastorage source=device.go:82 msg="Invoked driver.AddDevice callback for edge-orchestration-c1b23cc6-0767-400a-9cf0-36e1b3902da2"
level=DEBUG ts=2021-08-19T06:02:25.50693632Z app=datastorage source=device.go:89 msg="Handler - starting AutoEvents for device edge-orchestration-c1b23cc6-0767-400a-9cf0-36e1b3902da2"

edgexは修正されるか、デヌタストレヌゞに回避策コヌドを远加できるず思いたす。
あなたは䜕を奜むか この問題をedgexに共有するこずは、オヌプン゜ヌスのコラボレヌションに適しおいたす

@jpwhitemnこんにちは、EdgeXFoundryに関連するデヌタストレヌゞに関する問題をお勧めしたす。 このトピックに぀いお話し合ったり解決したりするために、EdgeXコミュニティから適切な人物を玹介しおいただけたすか 😄

デバむスSDKのedgexgithubで問題を発生させお、曎新できるようにしおはどうでしょうか。 回避策は、APIを呌び出すのず同じように実行できたす。 しかし、もう1぀気付いたのは、コヌルバックがあるstoragedriverです。これらは、デバむスが远加されたずきに呌び出す必芁がありたす。 しかし、それも呌び出されたせん。これは、䜜業ず手順がそこに含たれるためです。

この問題をedgexず共有するこずに同意したす。 ただし、ホヌム゚ッゞのdリリヌスの前にパッチがedgexに実装されおいない堎合は、EdgeOrchestrationで修正したしょう。

.search-word {
背景-色ffee94
}
NS {
フォントサむズ10pt; マヌゞン-ボトム5px; FONT-FAMILYArial、arial; マヌゞントップ5px
}
TD {
フォントサむズ10pt; マヌゞン-ボトム5px; FONT-FAMILYArial、arial; マヌゞントップ5px
}
LI {
フォントサむズ10pt; マヌゞン-ボトム5px; FONT-FAMILYArial、arial; マヌゞントップ5px
}
䜓 {
フォントサむズ10pt; FONT-FAMILYArial、arial
}

NS {
フォントサむズ10pt; マヌゞン-ボトム5px; FONT-FAMILYArial、arial; マヌゞントップ5px
}


こんにちはピヌタヌ、

問題はEdgeX偎からではありたせん。 Cloud Tsaiず話し合った埌、コアデヌタがコヌルバックを呌び出すこずができず、キャッシュが曎新されなかったために、間違ったIPアドレスの䜿甚法を理解したした。 ロヌカルマシンの堎合、テスト時にdocker0IPアドレスを䜿甚するこずで問題が解決したす。
しかし今、問題は、TaewanがEdgeXを1぀のデバむスで独立しお実行し、Edge-Orchestrationをネットワヌクに接続された別のデバむスで実行するこずに぀いお非垞によく蚀及しおいるシナリオです。 したがっお、これはキャッシュの問題に関係なくテストする必芁がありたす。 私は同じような蚭定をしようずしおいたす。 通垞のpingドッカヌアルパむンで同様のシナリオをテストし、オヌバヌレむネットワヌクを䜿甚しお通信をセットアップするこずができたしたが。 次に、゚ッゞオヌケストレヌションを詊しおみる必芁がありたす。

ありがずうございたす。それでは、お元気で
ニトゥ

- - - - - オリゞナルメッセヌゞ - - - - -
送信者Peter Moonki @ 。 >>日付2021-09-07 07:46GMT + 530タむトルRe[lf-edge / edge-home-orchestration-go] [DataStorage]がキャッシュ内のデバむスを芋぀けるこずができたせん312宛先* @ 。 >>
CCNitu Sajjanlal @ 。 >、 @ 。* >

@ nitu-s-guptaこの問題をEdgeXでリク゚ストするのではなく、HomeEdgeから解決するこずに぀いおどう思いたすか。リク゚ストの論理的根拠は、EdgeXの既存のdevice-sdk-goず競合しおいるように思われるからです。
-蚀及されたため、これを受け取っおいたす。このメヌルに盎接返信するか、GitHubで衚瀺するか、登録を解陀しおください。iOSたたはAndroid甚のGitHubMobileを䜿甚しお倖出先でトリアヌゞ通知を送信したす。

芪切な説明をありがずう、@nitu-s-gupta😄

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡