<html><body><div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; direction: null; color: #000000;" data-attr="forced_root_block_attrs">
<div>Hi,</div>
<div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; color: #000000;" data-attr="forced_root_block_attrs"> </div>
<div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; color: #000000;" data-attr="forced_root_block_attrs">I think you are sending the command to the HA endpoint. That is reserved for HA commands.</div>
<div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; color: #000000;" data-attr="forced_root_block_attrs"> </div>
<div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; color: #000000;" data-attr="forced_root_block_attrs">Please use the control channel endpoint or CA endpoint instead.</div>
<div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; color: #000000;" data-attr="forced_root_block_attrs"> </div>
<div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; color: #000000;" data-attr="forced_root_block_attrs">Regards,</div>
<div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; color: #000000;" data-attr="forced_root_block_attrs">Razvan</div>
<div id="signature-content-no-signature" data-marker="__SIG_PRE__"></div>
<div> </div>
<div>

<div id="OLK_SRC_BODY_SECTION">
<div id="OLK_SRC_BODY_SECTION">
<blockquote style="margin: 0 0 0 .8em; border-left: 1px #ccc solid; padding-left: 1em;"><hr id="MESSAGE_DATA_MARKER"><strong>From: </strong>tachibanashita <tachibanashita@outlook.com><br><strong>To: </strong>kea-users <kea-users@lists.isc.org><br><strong>Date: </strong>Wednesday, 9 April 2025 9:28 PM EEST<br><strong>Subject: </strong>[Kea-users] Problem when using libdhcp_subnet_cmds.so in kea 2.7.7<br><br>Greetings,
<div><br>
<div> </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" target="_blank" rel="noopener noreferrer">libdhcp_subnet_cmds.so</a> library. </div>
<div> </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> </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> </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> </div>
<div> </div>
<div> </div>
<div> </div>
<div>Successful tests:</div>
<div> </div>
<div>
<div>➜  ~ curl -X POST -H "Content-Type: application/json" -d '{ "command": "<strong>subnet6-list</strong>" }' http://192.168.100.111:8001/ -s | jq</div>
<div><span style="color: #77bb41;">[</span></div>
<div><span style="color: #77bb41;">  {</span></div>
<div><span style="color: #77bb41;">    "arguments": {</span></div>
<div><span style="color: #77bb41;">      "subnets": [</span></div>
<div><span style="color: #77bb41;">        {</span></div>
<div><span style="color: #77bb41;">          "id": 1,</span></div>
<div><span style="color: #77bb41;">          "subnet": "ff12:5656:15e2:10::/64"</span></div>
<div><span style="color: #77bb41;">        }</span></div>
<div><span style="color: #77bb41;">      ]</span></div>
<div><span style="color: #77bb41;">    },</span></div>
<div><span style="color: #77bb41;">    "result": 0,</span></div>
<div><span style="color: #77bb41;">    "text": "1 IPv6 subnet found"</span></div>
<div><span style="color: #77bb41;">  }</span></div>
<div><span style="color: #77bb41;">]</span></div>
</div>
<div> </div>
<div>Unsuccessful tests:</div>
<div> </div>
<div>
<div>➜  ~ curl -X POST -H "Content-Type: application/json" -d '{ "command": "<strong>subnet6-del</strong>", "arguments": {"id": 1}  }' http://192.168.100.111:8001/ -s | jq</div>
<div><span style="color: #ff2600;">[</span></div>
<div><span style="color: #ff2600;">  {</span></div>
<div><span style="color: #ff2600;">    "result": 1,</span></div>
<div><span style="color: #ff2600;">    "text": "invalid thread pool state change to paused performed by worker thread"</span></div>
<div><span style="color: #ff2600;">  }</span></div>
<div><span style="color: #ff2600;">]</span></div>
</div>
<div> </div>
<div>
<div>➜  ~ curl -X POST -H "Content-Type: application/json" -d '{ "command": "<strong>subnet6-add</strong>", "arguments": {"subnet6": [{"id": 2,"subnet": "ff12:5656:15e2:10::/64"}] } }' http://192.168.100.111:8001/ -s | jq</div>
<div><span style="color: #ff2600;">[</span></div>
<div><span style="color: #ff2600;">  {</span></div>
<div><span style="color: #ff2600;">    "result": 1,</span></div>
<div><span style="color: #ff2600;">    "text": "invalid thread pool state change to paused performed by worker thread"</span></div>
<div><span style="color: #ff2600;">  }</span></div>
<div><span style="color: #ff2600;">]</span></div>
<div>➜  ~ curl -X POST -H "Content-Type: application/json" -d '{ "command": "<strong>subnet6-update</strong>", "arguments": {"subnet6": [{"id": 1,"subnet": "ff12:5656:15e2:20::/64"}] } }' http://192.168.100.111:8001/ -s | jq</div>
<div><span style="color: #ff2600;">[</span></div>
<div><span style="color: #ff2600;">  {</span></div>
<div><span style="color: #ff2600;">    "result": 1,</span></div>
<div><span style="color: #ff2600;">    "text": "invalid thread pool state change to paused performed by worker thread"</span></div>
<div><span style="color: #ff2600;">  }</span></div>
<div><span style="color: #ff2600;">]</span></div>
</div>
<div><span style="color: #ff2600;"> </span></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><strong>< HTTP/1.1 200 OK</strong></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> </div>
<div> </div>
<div> </div>
<div>Best Regards,</div>
<div>Yu</div>
<div> </div>
</div>
</blockquote>
</div>
</div></div>
</div></body></html>