From: Marcin Siodelski Date: Thu, 26 Jun 2014 18:37:04 +0000 (+0200) Subject: [3465] Added support for D2 startup and reconfigure in keactrl. X-Git-Tag: trac3473_base~16^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8b7ce97ef3ceb77f20a829b7f2dad53b7f6ecd25;p=thirdparty%2Fkea.git [3465] Added support for D2 startup and reconfigure in keactrl. --- diff --git a/src/bin/keactrl/keactrl.conf.in b/src/bin/keactrl/keactrl.conf.in index e31fc361a8..9f037190e8 100644 --- a/src/bin/keactrl/keactrl.conf.in +++ b/src/bin/keactrl/keactrl.conf.in @@ -12,7 +12,7 @@ kea_config_file=@sysconfdir@/@PACKAGE@/kea.conf exec_prefix=@exec_prefix@ dhcp4_srv=@libexecdir@/@PACKAGE@/b10-dhcp4 dhcp6_srv=@libexecdir@/@PACKAGE@/b10-dhcp6 -dhcp_ddns=@libexecdir@/@PACKAGE@/b10-dhcp-ddns +dhcp_ddns_srv=@libexecdir@/@PACKAGE@/b10-dhcp-ddns # Start DHCPv4 server? dhcp4=yes @@ -20,5 +20,8 @@ dhcp4=yes # Start DHCPv6 server? dhcp6=yes +# Start DHCP DDNS server? +dhcp_ddns=yes + # Be verbose? kea_verbose=no diff --git a/src/bin/keactrl/keactrl.in b/src/bin/keactrl/keactrl.in index 2b61d52b50..9c6025207b 100644 --- a/src/bin/keactrl/keactrl.in +++ b/src/bin/keactrl/keactrl.in @@ -276,6 +276,7 @@ fi # respectively. dhcp4=$( printf "%s" ${dhcp4} | tr [:upper:] [:lower:] ) dhcp6=$( printf "%s" ${dhcp6} | tr [:upper:] [:lower:] ) +dhcp_ddns=$( printf "%s" ${dhcp_ddns} | tr [:upper:] [:lower:] ) case ${command} in # Start the servers. @@ -290,6 +291,7 @@ case ${command} in # and if they are enabled in the keactrl configuration file. run_conditional "dhcp4" "start_server ${dhcp4_srv} \"${args}\"" 1 run_conditional "dhcp6" "start_server ${dhcp6_srv} \"${args}\"" 1 + run_conditional "dhcp_ddns" "start_server ${dhcp_ddns_srv} \"${args}\"" 1 exit 0 ;; @@ -298,6 +300,7 @@ case ${command} in # Stop all servers or servers specified from the command line. run_conditional "dhcp4" "send_signal 15 $(basename ${dhcp4_srv})" 0 run_conditional "dhcp6" "send_signal 15 $(basename ${dhcp6_srv})" 0 + run_conditional "dhcp_ddns" "send_signal 15 $(basename ${dhcp_ddns_srv})" 0 exit 0 ;; @@ -306,6 +309,7 @@ case ${command} in # Reconfigure all servers or servers specified from the command line. run_conditional "dhcp4" "send_signal 1 $(basename ${dhcp4_srv})" 0 run_conditional "dhcp6" "send_signal 1 $(basename ${dhcp6_srv})" 0 + run_conditional "dhcp_ddns" "send_signal 1 $(basename ${dhcp_ddns_srv})" 0 exit 0 ;; @@ -323,6 +327,13 @@ case ${command} in kea6_status="active" fi printf "DHCPv6 server: %s\n" ${kea6_status} + + d2_status="inactive" + check_running $(basename ${dhcp_ddns_srv}) + if [ ${_running} -eq 1 ]; then + d2_status="active" + fi + printf "DHCP DDNS: %s\n" ${d2_status} printf "Kea configuration file: %s\n" ${kea_config_file} printf "keactrl configuration file: %s\n" ${keactrl_conf} diff --git a/src/bin/keactrl/tests/keactrl_tests.sh.in b/src/bin/keactrl/tests/keactrl_tests.sh.in index 99ffcd1952..2032a608b8 100644 --- a/src/bin/keactrl/tests/keactrl_tests.sh.in +++ b/src/bin/keactrl/tests/keactrl_tests.sh.in @@ -80,7 +80,7 @@ config="{ # Fixed part of the keactrl configuration file. keactrl_fixed_config="dhcp4_srv=${KEACTRL_BUILD_DIR}/src/bin/dhcp4/b10-dhcp4\n\ dhcp6_srv=${KEACTRL_BUILD_DIR}/src/bin/dhcp6/b10-dhcp6\n\ -dhcp_ddns=${KEACTRL_BUILD_DIR}/src/bin/d2/b10-dhcp-ddns\n" +dhcp_ddns_srv=${KEACTRL_BUILD_DIR}/src/bin/d2/b10-dhcp-ddns\n" # This test checks that DHCPv4, DHCPv6 and D2 server can be started and # shut down. @@ -368,7 +368,7 @@ Expected wait_for_message return %d, returned %d." "Expected keactrl status command return %s" assert_string_contains "DHCPv6 server: inactive" "${output}" \ "Expected keactrl status command return %s" - assert_string_contains "DHCP DDNS server: inactive" "${output}" \ + assert_string_contains "DHCP DDNS: inactive" "${output}" \ "Expected keactrl status command return %s" # Use keactrl stop to shutdown the servers. @@ -457,7 +457,7 @@ Expected wait_for_message return %d, returned %d." "Expected keactrl status command return %s" assert_string_contains "DHCPv6 server: active" "${output}" \ "Expected keactrl status command return %s" - assert_string_contains "DHCP DDNS server: inactive" "${output}" \ + assert_string_contains "DHCP DDNS: inactive" "${output}" \ "Expected keactrl status command return %s" @@ -654,7 +654,7 @@ late_start_v6_server_test() { # Create configuration file for keactrl. This configuration enables # DHCPv4 server but disables DHCPv6 server. keactrl_config="kea_config_file=${CFG_FILE}\ndhcp4=yes\ndhcp6=no\n\ -dhcp_ddns=yes\nkea_verbose=yes\n${keactrl_fixed_config}" +dhcp_ddns=no\nkea_verbose=yes\n${keactrl_fixed_config}" test_start "keactrl.late_start_v6_server_test" @@ -815,7 +815,7 @@ stop_selected_server_test() { # Create configuration file for keactrl. This configuration enables # all servers. keactrl_config="kea_config_file=${CFG_FILE}\ndhcp4=yes\ndhcp6=yes\n\ -dhcp_ddns=no\nkea_verbose=no\n${keactrl_fixed_config}" +dhcp_ddns=yes\nkea_verbose=no\n${keactrl_fixed_config}" test_start "keactrl.stop_selected_server_test" @@ -920,7 +920,7 @@ Expected wait_for_message return %d, returned %d." "Expected %d ${kea6_name} processes running, found %d processes running" # Make sure D2 server is still running - get_pids ${kea6_name} + get_pids ${d2_name} assert_eq 1 ${_GET_PIDS_NUM} \ "Expected %d ${d2_name} process running, found %d processes running"