<html><body><div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; direction: null; color: #000000;" data-attr="forced_root_block_attrs">
<div>In this file you can find the CA endpoint : address and port.</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 these for 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">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">
<blockquote style="margin: 0 0 0 .8em; border-left: 1px #ccc solid; padding-left: 1em;"><hr id="MESSAGE_DATA_MARKER"><strong>From: </strong>Razvan <razvan@isc.org><br><strong>To: </strong>Kea <kea-users@lists.isc.org><br><strong>Cc: </strong>Kea <kea-users@lists.isc.org><br><strong>Date: </strong>Thursday, 10 April 2025 4:08 PM EEST<br><strong>Subject: </strong>Re: [Kea-users] Problem when using libdhcp_subnet_cmds.so in kea 2.7.7<br><br>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif; color: #000000;">
<div>can you please attach/paste the content of</div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif; color: #000000;"> </div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif; color: #000000;">/etc/kea/kea-ctrl-agent.conf</div>
<div id="signature-content-no-signature"></div>
<div> </div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif; color: #000000;"> </div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif; color: #000000;">Thank you,</div>
<div style="font-size: 12pt; font-family: 'arial' , 'helvetica' , sans-serif; color: #000000;">Razvan</div>
<div>
<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 <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>
</blockquote>
</div></div>
</div></body></html>