Lorawan-stack: 削除されたゲートウェイのEUIの再利用

作成日 2019年08月07日  ·  7コメント  ·  ソース: TheThingsNetwork/lorawan-stack

概要

ゲートウェイを削除してから、同じEUIを持つ新しいゲートウェイを追加するときに、ゲートウェイがすでに存在するというメッセージが表示されて失敗した場合。

再現する手順

  1. 既存のゲートウェイを削除する
  2. CLIまたはを使用して追加します
  3. APIを使用して追加します

あなたは今何を見ていますか?

{
    "code": 6,
    "message": "error:pkg/identityserver/store:already_exists (entity already exists)",
    "details": [
        {
            "@type": "type.googleapis.com/ttn.lorawan.v3.ErrorDetails",
            "namespace": "pkg/identityserver/store",
            "name": "already_exists",
            "message_format": "entity already exists",
            "attributes": {
                "field": "gateway_eui",
                "value": "'3135313749005303'"
            },
            "correlation_id": "c0dc6bb73d714702bd8d0be57e83f369"
        }
    ]
}

代わりに何を見たいですか?


新しいゲートウェイを正常に作成する

環境

TTNCLIを使用するamazonlinuxとAPI呼び出しを使用するPostman

これをどのように実装することを提案しますか?

ユーザーが削除されたゲートウェイを挿入しようとしたときに、削除されたフラグをfalseに更新します

これを自分で行い、プルリクエストを送信できますか?

..。

identity server in progress

全てのコメント7件

この問題を少し更新して、#1121とは少し異なるスコープを設定しました。これにより、(アプリケーションだけでなく)一般的に削除されたエンティティの復元について詳しく知ることができます。

現在の問題では、削除されたゲートウェイと同じEUIを持つ新しいゲートウェイの追加に焦点を当てましょう。

@htdvisserは、 https://github.com/TheThingsNetwork/lorawan-stack/issues/1703 (現在はNext Up)を持っていても、以前に使用されたEUIを使用してゲートウェイを作成できるという一般的なユースケースを完全にはカバーしていません。 。 管理者をループしてエンティティを削除することは、優れたユーザーエクスペリエンスではありません。さらに、エンティティを削除することは、単にEUIを解放するよりも破壊的です。

ゲートウェイを削除するときにEUIを解放しても、セキュリティ上の問題はありません。 すでにオプションです。 明らかに、リカバリが部分的になります。つまり、EUIがなくなりますが、これは許容範囲であり、デバイスのEUIが削除時にすぐに解放される方法とも一致すると思います。

ゲートウェイの削除時にEUIを解放するだけで、この問題を解決できますか? そうでない場合は、なぜですか?

はい、削除時にゲートウェイEUIフィールドをnil / NULLに更新できます。 追加するのと同じくらい簡単でなければなりません

// AfterDelete releases the EUI of a Gateway after it is deleted.
func (gtw *Gateway) AfterDelete(db *gorm.DB) error {
    return db.Unscoped().Model(gtw).UpdateColumn("gateway_eui", nil).Error
}

pkg/identityserver/store/hooks.go

@bafoninsあなたはこれを拾うことができますか?

https://github.com/TheThingsNetwork/lorawan-stack/pull/1843で問題が解決しない場合は、 @ adamsondelacruzを再度開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価