[Pdns-users] "HTTP/1.1 422 Unprocessable Entity" when creating a zone

Frank Louwers frank+pdns at tembo.be
Tue Jun 30 13:17:33 UTC 2020


Hi Tomasz,

What version are you using? The docs you mention, refer to an old version of PowerDNS Auth...

Frank

> On 30 Jun 2020, at 15:09, Tomasz Chmielewski via Pdns-users <pdns-users at mailman.powerdns.com> wrote:
> 
> I did it exactly as in PowerDNS README: https://doc.powerdns.com/md/httpapi/README/
> 
> Does it mean README is buggy?
> 
> But it also fails without "masters" attribute:
> 
> # echo '{"name":"example.org.", "kind": "Native", "nameservers": ["ns1.example.org.", "ns2.example.org."]}' | jq
> {
>  "name": "example.org.",
>  "kind": "Native",
>  "nameservers": [
>    "ns1.example.org.",
>    "ns2.example.org."
>  ]
> }
> 
> 
> Tomasz
> 
> 
> 
> 
> On 2020-06-14 23:52, Kevin P. Fleming via Pdns-users wrote:
>> Have you doing this without specifying the 'masters' attribute at all?
>> Native zones don't support masters, so it's possible that supplying
>> the attribute, even with an empty list, is causing a failure.
>> On Sun, Jun 14, 2020 at 9:29 AM Tomasz Chmielewski via Pdns-users
>> <pdns-users at mailman.powerdns.com> wrote:
>>> Using 4.2.1, I'm getting "HTTP/1.1 422 Unprocessable Entity" when trying
>>> to create a zone as described on
>>> https://doc.powerdns.com/md/httpapi/README/
>>> What am I doing wrong?
>>> '{"name":"example.org.", "kind": "Native", "masters": [], "nameservers":
>>> ["ns1.example.org.", "ns2.example.org."]}' validates fine with jq:
>>> # echo '{"name":"example.org.", "kind": "Native", "masters": [],
>>> "nameservers": ["ns1.example.org.", "ns2.example.org."]}' | jq
>>> {
>>>   "name": "example.org.",
>>>   "kind": "Native",
>>>   "masters": [],
>>>   "nameservers": [
>>>     "ns1.example.org.",
>>>     "ns2.example.org."
>>>   ]
>>> }
>>> # curl -X POST --data '{"name":"example.org.", "kind": "Native",
>>> "masters": [], "nameservers": ["ns1.example.org.", "ns2.example.org."]}'
>>> -v -H 'X-API-Key: my-key'
>>> http://10.58.150.164:8081/api/v1/servers/localhost/zones
>>> Note: Unnecessary use of -X or --request, POST is already inferred.
>>> *   Trying 10.58.150.164:8081...
>>> * TCP_NODELAY set
>>> * Connected to 10.58.150.164 (10.58.150.164) port 8081 (#0)
>>> > POST /api/v1/servers/localhost/zones HTTP/1.1
>>> > Host: 10.58.150.164:8081
>>> > User-Agent: curl/7.68.0
>>> > Accept: */*
>>> > X-API-Key: my-key
>>> > Content-Length: 113
>>> > Content-Type: application/x-www-form-urlencoded
>>> >
>>> * upload completely sent off: 113 out of 113 bytes
>>> * Mark bundle as not supporting multiuse
>>> < HTTP/1.1 422 Unprocessable Entity
>>> < Access-Control-Allow-Origin: *
>>> < Connection: close
>>> < Content-Length: 50
>>> < Content-Security-Policy: default-src 'self'; style-src 'self'
>>> 'unsafe-inline'
>>> < Content-Type: application/json
>>> < Server: PowerDNS/4.2.1
>>> < X-Content-Type-Options: nosniff
>>> < X-Frame-Options: deny
>>> < X-Permitted-Cross-Domain-Policies: none
>>> < X-Xss-Protection: 1; mode=block
>>> <
>>> * Closing connection 0
>>> {"error": "Creating domain 'example.org.' failed"}
>>> This logs:
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8 Request details:
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8  POST params:
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   {"name":"example.org.", "kind":
>>> "Native", "masters": [], "nameservers": ["ns1.example.org.",
>>> "ns2.example.org."]}:
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8  Headers:
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   accept: */*
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   content-length: 113
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   content-type:
>>> application/x-www-form-urlencoded
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   host: 10.58.150.164:8081
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   user-agent: curl/7.68.0
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   x-api-key: my-key
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8  Full body:
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   {"name":"example.org.", "kind":
>>> "Native", "masters": [], "nameservers": ["ns1.example.org.",
>>> "ns2.example.org."]}
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8 Handling request
>>> "/api/v1/servers/localhost/zones"
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8 Result for
>>> "/api/v1/servers/localhost/zones": 422, body length: 50
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8 Response details:
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8  Headers:
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   access-control-allow-origin: *
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   Connection: close
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   Content-Length: 50
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   Content-Security-Policy:
>>> default-src 'self'; style-src 'self' 'unsafe-inline'
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   Content-Type: application/json
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   Server: PowerDNS/4.2.1
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   X-Content-Type-Options: nosniff
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   X-Frame-Options: deny
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8
>>> X-Permitted-Cross-Domain-Policies: none
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   X-XSS-Protection: 1; mode=block
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8  Full body:
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8   {"error": "Creating domain
>>> 'example.org.' failed"}
>>> Jun 14 13:19:59 dns1 pdns_server[25635]: [webserver]
>>> a5b403b9-83a9-45b9-a638-0f2b4ce1f4d8 10.58.150.164:39182 "POST
>>> /api/v1/servers/localhost/zones HTTP/1.1" 422 423
>>> Tomasz
>>> _______________________________________________
>>> Pdns-users mailing list
>>> Pdns-users at mailman.powerdns.com
>>> https://mailman.powerdns.com/mailman/listinfo/pdns-users
>> _______________________________________________
>> Pdns-users mailing list
>> Pdns-users at mailman.powerdns.com
>> https://mailman.powerdns.com/mailman/listinfo/pdns-users
> _______________________________________________
> Pdns-users mailing list
> Pdns-users at mailman.powerdns.com
> https://mailman.powerdns.com/mailman/listinfo/pdns-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.powerdns.com/pipermail/pdns-users/attachments/20200630/b22e0f28/attachment-0001.htm>


More information about the Pdns-users mailing list