73dd38a5ce
Why I did it Part implementation of dhcp_server. HLD: sonic-net/SONiC#1282. Add dhcpservd to dhcp_server container. How I did it Add installing required pkg (psutil) in Dockerfile. Add copying required file to container in Dockerfile (kea-dhcp related and dhcpservd related) Add critical_process and supervisor config. Add support for generating kea config (only in dhcpservd.py) and updating lease table (in dhcpservd.py and lease_update.sh) How to verify it Build image with setting INCLUDE_DHCP_SERVER to y and enabled dhcp_server feature after installed image, container start as expected. Enter container and found that all processes defined in supervisor configuration running as expected. Kill processes defined in critical_processes, container exist.
13 lines
481 B
Bash
13 lines
481 B
Bash
#!/bin/bash
|
|
# This script would run once kea-dhcp4 lease change (defined in kea-dhcp4.conf),
|
|
# it is to find running process dhcpservd.py, and send SIGUSR1 signal to this
|
|
# process to inform it to update lease table in state_db (defined in dhcpservd.py)
|
|
|
|
pid=`ps aux | grep 'dhcpservd' | grep -nv 'grep' | awk '{print $2}'`
|
|
if [ -z "$pid" ]; then
|
|
logger -p daemon.error Cannot find running dhcpservd.py.
|
|
else
|
|
# Send SIGUSR1 signal to dhcpservd.py
|
|
kill -s 10 ${pid}
|
|
fi
|