<html><body><div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; direction: null; color: #000000;" data-attr="forced_root_block_attrs">
<div>can you please attach/paste the content of</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">/etc/kea/kea-ctrl-agent.conf</div>
<div id="signature-content-no-signature" data-marker="__SIG_PRE__"></div>
<div> </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">Thank you,</div>
<div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; color: #000000;" data-attr="forced_root_block_attrs">Razvan</div>
<div>

<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 <kea-users@lists.isc.org><br><strong>Date: </strong>Thursday, 10 April 2025 3:53 PM EEST<br><strong>Subject: </strong>Re: [Kea-users] Problem when using libdhcp_subnet_cmds.so in kea 2.7.7<br><br>Hi Raven,
<div> </div>
<div>Thank you for your response! I run the curl command from my laptop which is in the same LAN as both kea hosts, both have the control-agent running. I just tried to put standby node kea02 with .112 IP in “in-maintenance” mode and tried to send API again, but still got the same error. </div>
<div>
<div> </div>
<div> </div>
<div>
<div> </div>
<div>
<div>systemctl status kea-ctrl-agent.service</div>
<div>● kea-ctrl-agent.service - Kea Control Agent</div>
<div>   Loaded: loaded (/usr/lib/systemd/system/kea-ctrl-agent.service; enabled; vendor preset: disabled)</div>
<div>   <strong>Active: active (running) since Tue 2025-04-08 21:04:55 EDT; 1 day 11h ago</strong></div>
<div>     Docs: man:kea-ctrl-agent(8)</div>
<div> Main PID: 1178 (kea-ctrl-agent)</div>
<div>    Tasks: 1 (limit: 11016)</div>
<div>   Memory: 8.1M</div>
<div>   CGroup: /system.slice/kea-ctrl-agent.service</div>
<div>           └─1178 /usr/sbin/kea-ctrl-agent -c /etc/kea/kea-ctrl-agent.conf</div>
</div>
<div> </div>
<div>
<div>● kea-ctrl-agent.service - Kea Control Agent</div>
<div>   Loaded: loaded (/usr/lib/systemd/system/kea-ctrl-agent.service; enabled; vendor preset: disabled)</div>
<div>   <strong>Active: active (running) since Tue 2025-04-08 21:12:34 EDT; 1 day 11h ago</strong></div>
<div>     Docs: man:kea-ctrl-agent(8)</div>
<div> Main PID: 2523 (kea-ctrl-agent)</div>
<div>    Tasks: 1 (limit: 11016)</div>
<div>   Memory: 2.2M</div>
<div>   CGroup: /system.slice/kea-ctrl-agent.service</div>
<div>           └─2523 /usr/sbin/kea-ctrl-agent -c /etc/kea/kea-ctrl-agent.conf</div>
</div>
<div> </div>
<div> </div>
<div>
<div>~ curl -X POST -H "Content-Type: application/json" -d '{ "command": "status-get", "service": [ "dhcp6" ] }' http://192.168.100.111:8001/ -s | jq</div>
<div>[</div>
<div>  {</div>
<div>    "arguments": {</div>
<div>      "dhcp-state": {</div>
<div>        "disabled-by-db-connection": [],</div>
<div>        "disabled-by-local-command": [],</div>
<div>        "disabled-by-remote-command": [],</div>
<div>        "disabled-by-user": false,</div>
<div>        "globally-disabled": false</div>
<div>      },</div>
<div>      "extended-info-tables": false,</div>
<div>      "high-availability": [</div>
<div>        {</div>
<div>          "ha-mode": "hot-standby",</div>
<div>          "ha-servers": {</div>
<div>            "local": {</div>
<div>              "role": "primary",</div>
<div>              "scopes": [</div>
<div>                "kea01"</div>
<div>              ],</div>
<div>              <strong>"server-name": "kea01",</strong></div>
<div>              <strong>"state": "partner-in-maintenance",</strong></div>
<div>              "system-time": "2025-04-10 12:46:22"</div>
<div>            },</div>
<div>            "remote": {</div>
<div>              "age": 1,</div>
<div>              "analyzed-packets": 0,</div>
<div>              "clock-skew": 0,</div>
<div>              "communication-interrupted": false,</div>
<div>              "connecting-clients": 0,</div>
<div>              "in-touch": true,</div>
<div>              "last-scopes": [],</div>
<div>             <strong> "last-state": "in-maintenance",</strong></div>
<div>              "role": "standby",</div>
<div>              "<strong>server-name": "kea02",</strong></div>
<div>              "system-time": "2025-04-10 12:46:22",</div>
<div>              "unacked-clients": 0,</div>
<div>              "unacked-clients-left": 0</div>
<div>            }</div>
<div>          }</div>
<div>        }</div>
<div>      ],</div>
<div>      "multi-threading-enabled": true,</div>
<div>      "packet-queue-size": 64,</div>
<div>      "packet-queue-statistics": [</div>
<div>        1.0,</div>
<div>        0.999629,</div>
<div>        0.546155</div>
<div>      ],</div>
<div>      "pid": 3342,</div>
<div>      "reload": 124098,</div>
<div>      "sockets": {</div>
<div>        "status": "ready"</div>
<div>      },</div>
<div>      "thread-pool-size": 4,</div>
<div>      "uptime": 124098</div>
<div>    },</div>
<div>    "result": 0</div>
<div>  }</div>
<div>]</div>
<div>➜  ~  curl -X POST -H "Content-Type: application/json" -d '{ "command": "subnet6-del", "arguments": {"id": 1}  }' http://192.168.100.112:8001/ -s | jq</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>➜  ~  curl -X POST -H "Content-Type: application/json" -d '{ "command": "subnet6-del", "arguments": {"id": 1}  }' http://192.168.100.111:8001/ -s | jq</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><br>
<blockquote>
<div>On Apr 9, 2025, at 11:40 PM, Razvan Becheriu <razvan@isc.org> wrote:</div>
<div>
<div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif;">
<div>Hi,</div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif;"> </div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif;">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;"> </div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif;">Please use the control channel endpoint or CA endpoint instead.</div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif;"> </div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif;">Regards,</div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif;">Razvan</div>
<div id="signature-content-no-signature"></div>
<div> </div>
<div>
<div id="OLK_SRC_BODY_SECTION">
<div id="OLK_SRC_BODY_SECTION">
<blockquote style="margin: 0 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>
</div>
-- <br>ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information.<br><br>To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users.<br><br>Kea-users mailing list<br>Kea-users@lists.isc.org<br>https://lists.isc.org/mailman/listinfo/kea-users</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div></div>
</div></body></html>