Handle 400 error about Gin headers when onboarding
Estimation
Story points : 2 SP
Estimated Duration: 3 Days
Description
Click to expand
Who
What
- The current onboard function tries to override the 400 status code with a 201 one, while still returning the metadata and being able to onboard the machine.
2023-08-14T13:42:13.791+0200 INFO libp2p/host.go:414 Self Peer Info QmcT5uPJkHT42Hv84tm3bhHzHx41UsZQ3n7mxef19gHPmf -> [/ip4/127.0.0.1/tcp/7800] {"package": "utils"} 2023-08-14T13:42:13.799+0200 INFO libp2p/dht.go:35 Connected to Bootstrap Node QmQ2irHa8aFTLRhkbkQCRrounE4MbttNp8ki7Nmys4F9NP {"package": "utils"} 2023-08-14T13:42:13.806+0200 INFO libp2p/dht.go:35 Connected to Bootstrap Node Qmf16N2ecJVWufa29XKLNyiBxKWqVPNZXjbL3JisPcGqTw {"package": "utils"} 2023-08-14T13:42:14.352+0200 INFO libp2p/dht.go:35 Connected to Bootstrap Node QmTkWP72uECwCsiiYDpCFeTrVeUM9huGTPsg3m6bHxYQFZ {"package": "utils"} 2023-08-14T13:42:14.352+0200 INFO libp2p/dht.go:39 Done Bootstrapping {"package": "utils"} 2023-08-14T13:42:14.352+0200 DEBUG libp2p/discover.go:62 Discover - searching for peers {"package": "utils"} 2023-08-14T13:42:23.803+0200 DEBUG libp2p/discover.go:73 Discover - found peers: [{QmaZUF8SdS2BAcXhizUm9Ab2LGvUmrfazpojsQiPZhimvi: [/ip4/127.0.0.1/tcp/7800 /ip4/127.0.0.1/udp/7800/quic]} {QmVj1vcg64BZG1NK6ndtjn8xGj4X2b3PQEEN6z2drzcp1q: [/ip4/127.0.0.1/udp/9000/quic /ip4/135.181.222.170/udp/9000/quic]} {QmX7EhW3UP2PKWLoJScULz3o7V1hcSB1Sc4XMCdsgqcXJX: [/ip4/127.0.0.1/udp/9000/quic /ip4/135.181.200.8/tcp/9000 /ip4/135.181.200.8/udp/9000/quic /ip4/127.0.0.1/tcp/9000]} {QmadT3wg1brKAbNPBWASkJrVHZrTkiniq4dM2XGSZmA3Rr: [/ip4/65.108.205.60/tcp/9000 /ip4/127.0.0.1/tcp/9000]} {QmeWVw3KTJx77mMCMi77iMyM6SKwGJTx7uUX3xrmgyZJpm: [/ip4/127.0.0.1/udp/9000/quic /ip4/95.216.194.96/tcp/9000 /ip4/95.216.194.96/udp/9000/quic /ip4/127.0.0.1/tcp/9000]}] {"package": "utils"} 2023-08-14T13:42:23.803+0200 DEBUG libp2p/host.go:95 number of p2p.peers: 5 {"package": "utils"} 2023-08-14T13:42:23.803+0200 DEBUG libp2p/dht.go:308 GetDHTUpdates: Start Getting DHT Updates {"package": "utils"} 2023-08-14T13:42:23.803+0200 DEBUG libp2p/dht.go:167 Fetching DHT content for all peers {"package": "utils"} 2023-08-14T13:42:23.803+0200 DEBUG libp2p/dht.go:179 FetchKadDHTContents: Starting workers - number of p2p.peers: 5 {"package": "utils"} 2023-08-14T13:42:23.803+0200 INFO libp2p/host.go:175 DMS Local addresses updated, reconnecting to peers. [PeerID: QmcT5uPJkHT42Hv84tm3bhHzHx41UsZQ3n7mxef19gHPmf], [Current: [{/ip4/127.0.0.1/tcp/7800 1}]], [Removed: []] {"package": "utils"} 2023-08-14T13:42:23.803+0200 DEBUG libp2p/dht.go:182 FetchKadDHTContents: Waiting for worker slot for peer: QmaZUF8SdS2BAcXhizUm9Ab2LGvUmrfazpojsQiPZhimvi {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:184 FetchKadDHTContents: Acquired worker slot for peer: QmaZUF8SdS2BAcXhizUm9Ab2LGvUmrfazpojsQiPZhimvi {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:187 FetchKadDHTContents: Fetching DHT content for peer: QmaZUF8SdS2BAcXhizUm9Ab2LGvUmrfazpojsQiPZhimvi {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:182 FetchKadDHTContents: Waiting for worker slot for peer: QmVj1vcg64BZG1NK6ndtjn8xGj4X2b3PQEEN6z2drzcp1q {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:184 FetchKadDHTContents: Acquired worker slot for peer: QmVj1vcg64BZG1NK6ndtjn8xGj4X2b3PQEEN6z2drzcp1q {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:187 FetchKadDHTContents: Fetching DHT content for peer: QmVj1vcg64BZG1NK6ndtjn8xGj4X2b3PQEEN6z2drzcp1q {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:182 FetchKadDHTContents: Waiting for worker slot for peer: QmX7EhW3UP2PKWLoJScULz3o7V1hcSB1Sc4XMCdsgqcXJX {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:184 FetchKadDHTContents: Acquired worker slot for peer: QmX7EhW3UP2PKWLoJScULz3o7V1hcSB1Sc4XMCdsgqcXJX {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:187 FetchKadDHTContents: Fetching DHT content for peer: QmX7EhW3UP2PKWLoJScULz3o7V1hcSB1Sc4XMCdsgqcXJX {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:182 FetchKadDHTContents: Waiting for worker slot for peer: QmadT3wg1brKAbNPBWASkJrVHZrTkiniq4dM2XGSZmA3Rr {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:184 FetchKadDHTContents: Acquired worker slot for peer: QmadT3wg1brKAbNPBWASkJrVHZrTkiniq4dM2XGSZmA3Rr {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:187 FetchKadDHTContents: Fetching DHT content for peer: QmadT3wg1brKAbNPBWASkJrVHZrTkiniq4dM2XGSZmA3Rr {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:182 FetchKadDHTContents: Waiting for worker slot for peer: QmeWVw3KTJx77mMCMi77iMyM6SKwGJTx7uUX3xrmgyZJpm {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:184 FetchKadDHTContents: Acquired worker slot for peer: QmeWVw3KTJx77mMCMi77iMyM6SKwGJTx7uUX3xrmgyZJpm {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:187 FetchKadDHTContents: Fetching DHT content for peer: QmeWVw3KTJx77mMCMi77iMyM6SKwGJTx7uUX3xrmgyZJpm {"package": "utils"} 2023-08-14T13:42:23.804+0200 DEBUG libp2p/dht.go:228 FetchKadDHTContents: Waiting for workers to finish {"package": "utils"} [GIN-debug] [WARNING] Headers were already written. Wanted to override status code 400 with 201 [GIN] 2023/08/14 - 13:42:23 | 400 | 10.395210743s | 127.0.0.1 | POST "/api/v1/onboarding/onboard"
How
- Implement a better error handling and return the response body of the request if the status code is different from 2xx
Why
- While onboarding is not blocked by this, it should not return a 400 code and we have to handle errors correctly
When
Acceptance Criteria
Click to expand
Work Breakdown Structure (WBS)
Task | Description | Duration | Status | Start Date | End Date | Comment |
---|---|---|---|---|---|---|
A | Analyse the Onboard API | 2 Hrs | Done | 16.08.2023 | 16.08.2023 | |
B | Remove redundancy of binding request data to JSON and handle errors | 1 Hrs | Done | 16.08.2023 | 16.08.2023 | |
C | Add validation for capacityForNuNet on API side |
2 Hrs | Done | 16.08.2023 | 16.08.2023 | |
D | Return 201 instead of 400 (if everything is fine) | 1 Hrs | Done | 16.08.2023 | 16.08.2023 |