Lorawan-stack: рд╣рдЯрд╛рдП рдЧрдП рдЧреЗрдЯрд╡реЗ рдХреЗ EUI рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдЕрдЧре░ 2019  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: TheThingsNetwork/lorawan-stack

рд╕рд╛рд░рд╛рдВрд╢

рдЬрдм рдЖрдк рдПрдХ рдЧреЗрдЯрд╡реЗ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЙрд╕реА EUI рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдпрджрд┐ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЧреЗрдЯрд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИред

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг

  1. рдореМрдЬреВрджрд╛ рдЧреЗрдЯрд╡реЗ рд╣рдЯрд╛рдПрдВ
  2. рд╕реАрдПрд▓рдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВ рдпрд╛
  3. рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВ

рдЕрдм рдЖрдк рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ?

{
    "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"
        }
    ]
}

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрдк рдХреНрдпрд╛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?


рдирдпрд╛ рдЧреЗрдЯрд╡реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдПрдВ

рдкрд░реНрдпрд╛рд╡рд░рдг

рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЯреАрдЯреАрдПрди рд╕реАрдПрд▓рдЖрдИ рдФрд░ рдкреЛрд╕реНрдЯрдореИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЕрдореЗрдЬрд╝реЕрди рд▓рд┐рдирдХреНрд╕

рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрддреЗ рд╣реИрдВ?

рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдЯрд╛рдП рдЧрдП рдЧреЗрдЯрд╡реЗ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдЯрд╛рдП рдЧрдП рдзреНрд╡рдЬ рдХреЛ рдЧрд▓рдд рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

...

identity server in progress

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

https://github.com/TheThingsNetwork/lorawan-stack/issues/1121 . рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ #1121 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджрд╛рдпрд░рд╛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╣рдЯрд╛рдП рдЧрдП рдирд┐рдХрд╛рдпреЛрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдХреЗрд╡рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрдЬрд╛рдп)ред

рд╡рд░реНрддрдорд╛рди рдЕрдВрдХ рдореЗрдВ, рдЖрдЗрдП рд╣рдЯрд╛рдП рдЧрдП рдЧреЗрдЯрд╡реЗ рдХреЗ рд╕рдорд╛рди EUI рдХреЗ рд╕рд╛рде рдирдП рдЧреЗрдЯрд╡реЗ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдВред

https://github.com/TheThingsNetwork/lorawan-stack/issues/604 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд (рдЖрдИрдбреА/рдИрдпреВрдЖрдИ рдЬрд╛рд░реА рдХрд░рдирд╛)

@htdvisser рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ https://github.com/TheThingsNetwork/lorawan-stack/issues/1703 (рдЕрдм рдиреЗрдХреНрд╕реНрдЯ рдЕрдк рдореЗрдВ) рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж EUI рдХреЗ рд╕рд╛рде рдЧреЗрдЯрд╡реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ . рдХрд┐рд╕реА рдирд┐рдХрд╛рдп рдХреЛ рд╢реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдореЗрдВ рд▓реВрдк рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рд╕рд╛рде рд╣реА рдХрд┐рд╕реА рдирд┐рдХрд╛рдп рдХреЛ рд╢реБрджреНрдз рдХрд░рдирд╛ рдХреЗрд╡рд▓ EUI рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╣реИред

Afaik рдЧреЗрдЯрд╡реЗ рдХреЛ рд╣рдЯрд╛рддреЗ рд╕рдордп рдИрдпреВрдЖрдИ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рд╡рд╕реВрд▓реА рдХреЛ рдЖрдВрд╢рд┐рдХ рдмрдирд╛ рджреЗрдЧрд╛, рдпрд╛рдиреА рдИрдпреВрдЖрдИ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдФрд░ рдпрд╣ рднреА рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдИрдпреВрдЖрдИ рдХреЛ рддреБрд░рдВрдд рд╣рдЯрд╛рдиреЗ рдкрд░ рдХреИрд╕реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХреНрдпрд╛ рд╣рдо рдЧреЗрдЯрд╡реЗ рдбрд┐рд▓реАрдЯ рдкрд░ рдХреЗрд╡рд▓ EUI рдЬрд╛рд░реА рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ?

рд╣рд╛рдВ, рд╣рдо рдЧреЗрдЯрд╡реЗ рдИрдпреВрдЖрдИ рдлреАрд▓реНрдб рдХреЛ рдбрд┐рд▓реАрдЯ рдХрд░рдиреЗ рдкрд░ рд╢реВрдиреНрдп/рдирд▓ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред a . рдЬреЛрдбрд╝рдиреЗ рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

// 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 рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ?

@adamsondelacruz рдХреГрдкрдпрд╛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ рдпрджрд┐ https://github.com/TheThingsNetwork/lorawan-stack/pull/1843 рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

johanstokking picture johanstokking  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

johanstokking picture johanstokking  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adriansmares picture adriansmares  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ecities picture ecities  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

johanstokking picture johanstokking  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ