diff --git a/dockers/docker-dhcp-server/Dockerfile.j2 b/dockers/docker-dhcp-server/Dockerfile.j2 index 061fb58113d..a21bd42a493 100755 --- a/dockers/docker-dhcp-server/Dockerfile.j2 +++ b/dockers/docker-dhcp-server/Dockerfile.j2 @@ -16,7 +16,7 @@ RUN apt-get update && \ build-essential \ kea-dhcp4-server -RUN mkdir -p /var/run/kea +RUN mkdir -p /run/kea /var/log/kea /var/lib/kea && chmod 750 /run/kea RUN pip3 install psutil diff --git a/dockers/docker-dhcp-server/docker_init.sh b/dockers/docker-dhcp-server/docker_init.sh index 9d7e1e397f7..eac31a776a7 100755 --- a/dockers/docker-dhcp-server/docker_init.sh +++ b/dockers/docker-dhcp-server/docker_init.sh @@ -4,7 +4,8 @@ # Generate supervisord config file mkdir -p /etc/supervisor/conf.d/ # Generate kea folder -mkdir -p /etc/kea/ +mkdir -p /etc/kea/ /run/kea /var/log/kea /var/lib/kea +chmod 750 /run/kea udp_server_ip=$(ip -j -4 addr list lo scope host | jq -r -M '.[0].addr_info[0].local') hostname=$(hostname) diff --git a/dockers/docker-dhcp-server/kea-dhcp4-init.conf b/dockers/docker-dhcp-server/kea-dhcp4-init.conf index a2c680380e8..c822e0301ef 100644 --- a/dockers/docker-dhcp-server/kea-dhcp4-init.conf +++ b/dockers/docker-dhcp-server/kea-dhcp4-init.conf @@ -10,7 +10,7 @@ "lease-database": { "type": "memfile", "persist": true, - "name": "/tmp/kea-lease.csv", + "name": "/var/lib/kea/kea-lease.csv", "lfc-interval": 3600 }, "subnet4": [], @@ -19,7 +19,7 @@ "name": "kea-dhcp4", "output_options": [ { - "output": "/tmp/kea-dhcp.log", + "output": "/var/log/kea/kea-dhcp4.log", "pattern": "%-5p %m\n" } ], diff --git a/dockers/docker-dhcp-server/kea-dhcp4.conf.j2 b/dockers/docker-dhcp-server/kea-dhcp4.conf.j2 index 7fe90d86f12..3c284f8360c 100644 --- a/dockers/docker-dhcp-server/kea-dhcp4.conf.j2 +++ b/dockers/docker-dhcp-server/kea-dhcp4.conf.j2 @@ -94,7 +94,7 @@ "name": "kea-dhcp4", "output_options": [ { - "output": "/var/log/kea-dhcp.log", + "output": "/var/log/kea/kea-dhcp4.log", "pattern": "%-5p %m\n" } ], diff --git a/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcp_cfggen.py b/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcp_cfggen.py index fad5128f142..4813dc01b59 100755 --- a/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcp_cfggen.py +++ b/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcp_cfggen.py @@ -23,7 +23,7 @@ SMART_SWITCH_CHECKER = ["DpusTableEventChecker", "MidPlaneTableEventChecker"] LEASE_UPDATE_SCRIPT_PATH = "/etc/kea/lease_update.sh" DEFAULT_LEASE_TIME = 900 -DEFAULT_LEASE_PATH = "/tmp/kea-lease.csv" +DEFAULT_LEASE_PATH = "/var/lib/kea/kea-lease.csv" KEA_DHCP4_CONF_TEMPLATE_PATH = "/usr/share/sonic/templates/kea-dhcp4.conf.j2" SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) DHCP_OPTION_FILE = f"{SCRIPT_DIR}/dhcp_option.csv" diff --git a/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcp_lease.py b/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcp_lease.py index e2e95fb7b53..d2b1c452bc8 100644 --- a/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcp_lease.py +++ b/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcp_lease.py @@ -8,7 +8,7 @@ from dhcp_utilities.common.utils import is_smart_switch DHCP_SERVER_IPV4_LEASE = "DHCP_SERVER_IPV4_LEASE" -KEA_LEASE_FILE_PATH = "/tmp/kea-lease.csv" +KEA_LEASE_FILE_PATH = "/var/lib/kea/kea-lease.csv" DEFAULE_LEASE_UPDATE_INTERVAL = 2 # unit: sec diff --git a/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcpservd.py b/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcpservd.py index e259e985ef3..caf13e953ff 100644 --- a/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcpservd.py +++ b/src/sonic-dhcp-utilities/dhcp_utilities/dhcpservd/dhcpservd.py @@ -16,7 +16,7 @@ KEA_DHCP4_CONFIG = "/etc/kea/kea-dhcp4.conf" KEA_DHCP4_PROC_NAME = "kea-dhcp4" -KEA_LEASE_FILE_PATH = "/tmp/kea-lease.csv" +KEA_LEASE_FILE_PATH = "/var/lib/kea/kea-lease.csv" DHCPSERVD_READY_FLAG = "/tmp/dhcpservd_ready" REDIS_SOCK_PATH = "/var/run/redis/redis.sock" DHCP_SERVER_IPV4_SERVER_IP = "DHCP_SERVER_IPV4_SERVER_IP" diff --git a/src/sonic-dhcp-utilities/tests/conftest.py b/src/sonic-dhcp-utilities/tests/conftest.py index 2b3076d5acc..938caac6a2d 100644 --- a/src/sonic-dhcp-utilities/tests/conftest.py +++ b/src/sonic-dhcp-utilities/tests/conftest.py @@ -40,5 +40,5 @@ def mock_parse_port_map_alias(scope="function"): new_callable=PropertyMock), \ patch.object(DhcpServCfgGenerator, "lease_update_script_path", return_value="/etc/kea/lease_update.sh", new_callable=PropertyMock), \ - patch.object(DhcpServCfgGenerator, "lease_path", return_value="/tmp/kea-lease.csv", new_callable=PropertyMock): + patch.object(DhcpServCfgGenerator, "lease_path", return_value="/var/lib/kea/kea-lease.csv", new_callable=PropertyMock): yield mock_map diff --git a/src/sonic-dhcp-utilities/tests/test_data/kea-dhcp4.conf.j2 b/src/sonic-dhcp-utilities/tests/test_data/kea-dhcp4.conf.j2 index 7fe90d86f12..3c284f8360c 100644 --- a/src/sonic-dhcp-utilities/tests/test_data/kea-dhcp4.conf.j2 +++ b/src/sonic-dhcp-utilities/tests/test_data/kea-dhcp4.conf.j2 @@ -94,7 +94,7 @@ "name": "kea-dhcp4", "output_options": [ { - "output": "/var/log/kea-dhcp.log", + "output": "/var/log/kea/kea-dhcp4.log", "pattern": "%-5p %m\n" } ], diff --git a/src/sonic-dhcp-utilities/tests/test_dhcp_cfggen.py b/src/sonic-dhcp-utilities/tests/test_dhcp_cfggen.py index a2e68454f15..f5b6d0f05a5 100644 --- a/src/sonic-dhcp-utilities/tests/test_dhcp_cfggen.py +++ b/src/sonic-dhcp-utilities/tests/test_dhcp_cfggen.py @@ -37,7 +37,7 @@ "lease-database": { "type": "memfile", "persist": True, - "name": "/tmp/kea-lease.csv", + "name": "/var/lib/kea/kea-lease.csv", "lfc-interval": 3600 }, "subnet4": [ @@ -97,7 +97,7 @@ "name": "kea-dhcp4", "output_options": [ { - "output": "/var/log/kea-dhcp.log", + "output": "/var/log/kea/kea-dhcp4.log", "pattern": "%-5p %m\n" } ], @@ -151,7 +151,7 @@ "lease-database": { "type": "memfile", "persist": True, - "name": "/tmp/kea-lease.csv", + "name": "/var/lib/kea/kea-lease.csv", "lfc-interval": 3600 }, "subnet4": [ @@ -161,7 +161,7 @@ "name": "kea-dhcp4", "output_options": [ { - "output": "/var/log/kea-dhcp.log", + "output": "/var/log/kea/kea-dhcp4.log", "pattern": "%-5p %m\n" } ], @@ -270,7 +270,7 @@ {"name": "sonic-host:etp11", "condition": "substring(relay4[1].hex, -16, 16) == 'sonic-host:etp11'"} ], "lease_update_script_path": "/etc/kea/lease_update.sh", - "lease_path": "/tmp/kea-lease.csv", + "lease_path": "/var/lib/kea/kea-lease.csv", "customized_options": { "option223": { "id": "223", diff --git a/src/sonic-dhcp-utilities/tests/test_smart_switch.py b/src/sonic-dhcp-utilities/tests/test_smart_switch.py index e3c627347a7..2b0a54e8923 100644 --- a/src/sonic-dhcp-utilities/tests/test_smart_switch.py +++ b/src/sonic-dhcp-utilities/tests/test_smart_switch.py @@ -31,7 +31,7 @@ "lease-database": { "type": "memfile", "persist": True, - "name": "/tmp/kea-lease.csv", + "name": "/var/lib/kea/kea-lease.csv", "lfc-interval": 3600 }, "subnet4": [ @@ -76,7 +76,7 @@ "name": "kea-dhcp4", "output_options": [ { - "output": "/var/log/kea-dhcp.log", + "output": "/var/log/kea/kea-dhcp4.log", "pattern": "%-5p %m\n" } ],