<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
Greetings,
<div><br>
<div><br>
</div>
<div>I have upgraded my kea lab from 2.6.1 to 2.7.7 and installed the package for hooks. Now I am testing the
<a href="http://libdhcp_subnet_cmds.so">libdhcp_subnet_cmds.so</a> library. </div>
<div><br>
</div>
<div>But I found that I could only run those status check commands successfully, but I am not able to modify any configurations as you can see the examples below. It happened to all the commands which could modify the configuration.</div>
<div><br>
</div>
<div>I adjusted the format of my arguments to match the example in your document, but it didn’t work. I added the -u option to curl as the root user, but still not working. Instead of running the curl command remotely, I run it in the same Linux host but still
 the same. I tried to Google this error but couldn’t find any match including your kea message documentation. I run the curl command against both primary and standby nodes, but still not working.</div>
<div><br>
</div>
<div>When I used -v mode for curl command, I can see it does return code 200, so I don’t think it’s other issue than kea hook function itself. </div>
<div> </div>
<div>Can you let me know if I missed anything? </div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Successful tests:</div>
<div><br>
</div>
<div>
<div>➜  ~ curl -X POST -H "Content-Type: application/json" -d '{ "command": "<b>subnet6-list</b>" }' http://192.168.100.111:8001/ -s | jq</div>
<div><font color="#77bb41">[</font></div>
<div><font color="#77bb41">  {</font></div>
<div><font color="#77bb41">    "arguments": {</font></div>
<div><font color="#77bb41">      "subnets": [</font></div>
<div><font color="#77bb41">        {</font></div>
<div><font color="#77bb41">          "id": 1,</font></div>
<div><font color="#77bb41">          "subnet": "ff12:5656:15e2:10::/64"</font></div>
<div><font color="#77bb41">        }</font></div>
<div><font color="#77bb41">      ]</font></div>
<div><font color="#77bb41">    },</font></div>
<div><font color="#77bb41">    "result": 0,</font></div>
<div><font color="#77bb41">    "text": "1 IPv6 subnet found"</font></div>
<div><font color="#77bb41">  }</font></div>
<div><font color="#77bb41">]</font></div>
</div>
<div><br>
</div>
<div>Unsuccessful tests:</div>
<div><br>
</div>
<div>
<div>➜  ~ curl -X POST -H "Content-Type: application/json" -d '{ "command": "<b>subnet6-del</b>", "arguments": {"id": 1}  }' http://192.168.100.111:8001/ -s | jq</div>
<div><font color="#ff2600">[</font></div>
<div><font color="#ff2600">  {</font></div>
<div><font color="#ff2600">    "result": 1,</font></div>
<div><font color="#ff2600">    "text": "invalid thread pool state change to paused performed by worker thread"</font></div>
<div><font color="#ff2600">  }</font></div>
<div><font color="#ff2600">]</font></div>
</div>
<div><br>
</div>
<div>
<div>➜  ~ curl -X POST -H "Content-Type: application/json" -d '{ "command": "<b>subnet6-add</b>", "arguments": {"subnet6": [{"id": 2,"subnet": <span style="caret-color: rgb(119, 187, 65);">"ff12:5656:15e2:10::/64"</span>}] } }' http://192.168.100.111:8001/
 -s | jq</div>
<div><font color="#ff2600">[</font></div>
<div><font color="#ff2600">  {</font></div>
<div><font color="#ff2600">    "result": 1,</font></div>
<div><font color="#ff2600">    "text": "invalid thread pool state change to paused performed by worker thread"</font></div>
<div><font color="#ff2600">  }</font></div>
<div><font color="#ff2600">]</font></div>
<div>➜  ~ curl -X POST -H "Content-Type: application/json" -d '{ "command": "<b>subnet6-update</b>", "arguments": {"subnet6": [{"id": 1,"subnet": <span style="caret-color: rgb(119, 187, 65);">"ff12:5656:15e2:20::/64"</span>}] } }' http://192.168.100.111:8001/
 -s | jq</div>
<div><font color="#ff2600">[</font></div>
<div><font color="#ff2600">  {</font></div>
<div><font color="#ff2600">    "result": 1,</font></div>
<div><font color="#ff2600">    "text": "invalid thread pool state change to paused performed by worker thread"</font></div>
<div><font color="#ff2600">  }</font></div>
<div><font color="#ff2600">]</font></div>
</div>
<div><font color="#ff2600"><br>
</font></div>
<div>Verbose mode:</div>
<div>
<div>➜  ~ curl -v -X POST -H "Content-Type: application/json" -d '{ "command": "subnet6-update", "arguments": {"id": 1}  }' http://192.168.100.112:8001/ -s | jq</div>
<div>*   Trying 192.168.100.112:8001...</div>
<div>* Connected to 192.168.100.112 (192.168.100.112) port 8001</div>
<div>> POST / HTTP/1.1</div>
<div>> Host: 192.168.100.112:8001</div>
<div>> User-Agent: curl/8.7.1</div>
<div>> Accept: */*</div>
<div>> Content-Type: application/json</div>
<div>> Content-Length: 56</div>
<div>></div>
<div>} [56 bytes data]</div>
<div>* upload completely sent off: 56 bytes</div>
<div><b>< HTTP/1.1 200 OK</b></div>
<div>< Content-Length: 100</div>
<div>< Content-Type: application/json</div>
<div>< Date: Wed, 09 Apr 2025 18:21:37 GMT</div>
<div><</div>
<div>{ [100 bytes data]</div>
<div>* Connection #0 to host 192.168.100.112 left intact</div>
<div>[</div>
<div>  {</div>
<div>    "result": 1,</div>
<div>    "text": "invalid thread pool state change to paused performed by worker thread"</div>
<div>  }</div>
<div>]</div>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Best Regards,</div>
<div>Yu</div>
<div><br>
</div>
</div>
</body>
</html>