Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
Kea
Commits
53ba9f81
Commit
53ba9f81
authored
Jul 14, 2017
by
Marcin Siodelski
Browse files
[master] Merge branch 'trac5108'
parents
57a13270
dce538b3
Changes
20
Expand all
Hide whitespace changes
Inline
Side-by-side
doc/guide/agent.xml
View file @
53ba9f81
...
...
@@ -93,17 +93,6 @@
}
</screen>
</para>
<warning>
<simpara>
In the Kea 1.2 release the Control Agent configuration can't be
specified within the same configuration file as DHCPv4, DHCPv6 and D2
configuration. The default configuration file for the CA is installed
in the
<filename>
etc/kea/kea-ca.conf
</filename>
. In the Kea 1.2 final
release the CA configuration will be merged into the default
<filename>
etc/kea/kea.conf.
</filename>
</simpara>
</warning>
<para>
The
<command>
http-host
</command>
and
<command>
http-port
</command>
specify an IP address and port to which HTTP service will be bound.
...
...
@@ -284,16 +273,8 @@ http {
<title>
Control Agent Limitations
</title>
<para>
Control Agent is a new component, first released in Kea 1.2. In
this release it comes with
two
notable limitation
s
:
this release it comes with
one
notable limitation:
<itemizedlist>
<listitem>
<simpara>
CA configuration must be specified in a separate configuration file
from the configurations of other components. The default confirguation
file for CA is located in
<filename>
etc/kea/kea-ca.conf
</filename>
.
</simpara>
</listitem>
<listitem>
<simpara>
keactrl hasn't been updated to manage the Control Agent (start, stop
...
...
@@ -311,7 +292,7 @@ http {
The CA is started by running its binary and specifying the configuration file
it should use. For example:
<screen>
$ ./kea-ctrl-agent -c /usr/local/etc/kea/kea
-ca
.conf
$ ./kea-ctrl-agent -c /usr/local/etc/kea/kea.conf
</screen>
</para>
</section>
...
...
doc/guide/keactrl.xml
View file @
53ba9f81
...
...
@@ -11,9 +11,10 @@
<title>
Overview
</title>
<para>
keactrl is a shell script which controls the startup, shutdown
and reconfiguration of the Kea servers (
<command>
kea-dhcp4
</command>
,
<command>
kea-dhcp6
</command>
and
<command>
kea-dhcp-ddns
</command>
). It
also provides the means for checking the current status of the servers
and determining the configuration files in use.
<command>
kea-dhcp6
</command>
,
<command>
kea-dhcp-ddns
</command>
and
<command>
kea-ctrl-agent
</command>
). It also provides the means for
checking the current status of the servers and determining the
configuration files in use.
</para>
</section>
...
...
@@ -66,19 +67,20 @@ keactrl <command> [-c keactrl-config-file] [-s server[,server,..]]
<screen>
# This is a configuration file for keactrl script which controls
# the startup, shutdown, reconfiguration and gathering the status
# of the Kea
server
s.
# of the Kea
's processe
s.
# prefix holds the location where the Kea is installed.
prefix=
/usr/local
prefix=
@prefix@
# Location of Kea configuration file.
kea_config_file=
${prefix}/etc/kea
/kea.conf
kea_config_file=
@sysconfdir@/@PACKAGE@
/kea.conf
# Location of Kea binaries.
exec_prefix=${prefix}
dhcp4_srv=${exec_prefix}/sbin/kea/kea-dhcp4
dhcp6_srv=${exec_prefix}/sbin/kea/kea-dhcp6
dhcp_ddns_srv=${exec_prefix}/sbin/kea/kea-dhcp-ddns
exec_prefix=@exec_prefix@
dhcp4_srv=@sbindir@/kea-dhcp4
dhcp6_srv=@sbindir@/kea-dhcp6
dhcp_ddns_srv=@sbindir@/kea-dhcp-ddns
ctrl_agent_srv=@sbindir@/kea-ctrl-agent
# Start DHCPv4 server?
dhcp4=yes
...
...
@@ -87,7 +89,10 @@ dhcp4=yes
dhcp6=yes
# Start DHCP DDNS server?
dhcp_ddns=yes
dhcp_ddns=no
# Start Control Agent?
ctrl_agent=yes
# Be verbose?
kea_verbose=no
...
...
@@ -95,12 +100,13 @@ kea_verbose=no
</para>
<para>
The
<parameter>
dhcp4
</parameter>
,
<parameter>
dhcp6
</parameter>
and
<parameter>
dhcp_ddns
</parameter>
parameters set to "yes" configure
<command>
keactrl
</command>
to manage (start, reconfigure) all servers,
i.e.
<command>
kea-dhcp4
</command>
,
<command>
kea-dhcp6
</command>
and
<command>
kea-dhcp-ddns
</command>
. When any of these parameters is set to
"no" the
<command>
keactrl
</command>
will ignore
The
<parameter>
dhcp4
</parameter>
,
<parameter>
dhcp6
</parameter>
,
<parameter>
dhcp_ddns
</parameter>
and
<parameter>
ctrl_agent
</parameter>
parameters set to "yes" configure
<command>
keactrl
</command>
to manage
(start, reconfigure) all servers, i.e.
<command>
kea-dhcp4
</command>
,
<command>
kea-dhcp6
</command>
,
<command>
kea-dhcp-ddns
</command>
and
<command>
kea-ctrl-agent
</command>
. When any of these parameters is set
to "no" the
<command>
keactrl
</command>
will ignore
the corresponding server when starting or reconfiguring Kea.
</para>
...
...
@@ -110,8 +116,8 @@ kea_verbose=no
should work for most installations. If the default
location needs to be altered for any reason, the paths
specified with the
<parameter>
dhcp4_srv
</parameter>
,
<parameter>
dhcp6_srv
</parameter>
and
<parameter>
dhcp_ddns_srv
</parameter>
parameters should be modified.
<parameter>
dhcp6_srv
</parameter>
,
<parameter>
dhcp_ddns_srv
</parameter>
and
<parameter>
ctrl_agent_srv
</parameter>
parameters should be modified.
</para>
<para>
...
...
@@ -165,6 +171,7 @@ kea_verbose=no
INFO/keactrl: Starting kea-dhcp4 -c /usr/local/etc/kea/kea.conf -d
INFO/keactrl: Starting kea-dhcp6 -c /usr/local/etc/kea/kea.conf -d
INFO/keactrl: Starting kea-dhcp-ddns -c /usr/local/etc/kea/kea.conf -d
INFO/keactrl: Starting kea-ctrl-agent -c /usr/local/etc/kea/kea.conf -d
</screen>
</para>
...
...
@@ -177,6 +184,7 @@ INFO/keactrl: Starting kea-dhcp-ddns -c /usr/local/etc/kea/kea.conf -d
INFO/keactrl: kea-dhcp4 appears to be running, see: PID 10918, PID file: /usr/local/var/kea/kea.kea-dhcp4.pid.
INFO/keactrl: kea-dhcp6 appears to be running, see: PID 10924, PID file: /usr/local/var/kea/kea.kea-dhcp6.pid.
INFO/keactrl: kea-dhcp-ddns appears to be running, see: PID 10930, PID file: /usr/local/var/kea/kea.kea-dhcp-ddns.pid.
INFO/keactrl: kea-ctrl-agent appears to be running, see: PID 10931, PID file: /usr/local/var/kea/kea.kea-ctrl-agent.pid.
</screen>
During normal shutdowns these PID files are deleted. They may, however,
be left over as remnants following a system crash. It is possible,
...
...
@@ -193,6 +201,7 @@ INFO/keactrl: kea-dhcp-ddns appears to be running, see: PID 10930, PID file: /us
INFO/keactrl: Stopping kea-dhcp4...
INFO/keactrl: Stopping kea-dhcp6...
INFO/keactrl: Stopping kea-dhcp-ddns...
INFO/keactrl: Stopping kea-ctrl-agent...
</screen>
Note that the
<command>
stop
</command>
will attempt to stop all servers
regardless of whether they are "enabled" in the
<filename>
keactrl.conf
</filename>
.
...
...
@@ -203,6 +212,7 @@ INFO/keactrl: Stopping kea-dhcp-ddns...
INFO/keactrl: kea-dhcp4 isn't running.
INFO/keactrl: kea-dhcp6 isn't running.
INFO/keactrl: kea-dhcp-ddns isn't running.
INFO/keactrl: kea-ctrl-agent isn't running.
</screen>
</para>
...
...
@@ -219,6 +229,7 @@ INFO/keactrl: kea-dhcp-ddns isn't running.
INFO/keactrl: Reloading kea-dhcp4...
INFO/keactrl: Reloading kea-dhcp6...
INFO/keactrl: Reloading kea-dhcp-ddns...
INFO/keactrl: Reloading kea-ctrl-agent...
</screen>
If any of the servers are not running, an informational message
is displayed as in the
<command>
reload
</command>
command output below.
...
...
@@ -227,6 +238,7 @@ INFO/keactrl: Reloading kea-dhcp-ddns...
INFO/keactrl: kea-dhcp4 isn't running.
INFO/keactrl: kea-dhcp6 isn't running.
INFO/keactrl: kea-dhcp-ddns isn't running.
INFO/keactrl: kea-ctrl-agent isn't running.
</screen>
</para>
...
...
@@ -247,6 +259,7 @@ INFO/keactrl: kea-dhcp-ddns isn't running.
DHCPv4 server: active
DHCPv6 server: inactive
DHCP DDNS: active
Control Agent: active
Kea configuration file: /usr/local/etc/kea/kea.conf
keactrl configuration file: /usr/local/etc/kea/keactrl.conf
</screen>
...
...
@@ -261,7 +274,8 @@ keactrl configuration file: /usr/local/etc/kea/keactrl.conf
command is issued. For example, the following
instructs
<command>
keactrl
</command>
to stop the
<command>
kea-dhcp4
</command>
and
<command>
kea-dhcp6
</command>
servers
and leave the
<command>
kea-dhcp-ddns
</command>
server running:
and leave the
<command>
kea-dhcp-ddns
</command>
and
<command>
kea-ctrl-agent
</command>
running:
<screen>
<userinput>
$ keactrl stop -s dhcp4,dhcp6
</userinput>
</screen>
...
...
@@ -270,8 +284,8 @@ keactrl configuration file: /usr/local/etc/kea/keactrl.conf
<para>
Similarly, the following
will only start the
<command>
kea-dhcp4
</command>
and
<command>
kea-dhcp-ddns
</command>
servers and not
<command>
kea-dhcp6
</command>
.
<command>
kea-dhcp-ddns
</command>
servers and not
:
<command>
kea-dhcp6
</command>
,
<command>
kea-ctrl-agent
</command>
.
<screen>
<userinput>
$ keactrl start -s dhcp4,dhcp_ddns
</userinput>
</screen>
...
...
@@ -302,6 +316,9 @@ keactrl configuration file: /usr/local/etc/kea/keactrl.conf
<listitem><simpara>
<command>
dhcp_ddns
</command>
for
<command>
kea-dhcp-ddns.
</command>
</simpara></listitem>
<listitem><simpara>
<command>
ctrl_agent
</command>
for
<command>
kea-ctrl-agent.
</command>
</simpara></listitem>
<listitem><simpara>
<command>
all
</command>
for all servers (default).
</simpara></listitem>
...
...
src/bin/agent/tests/parser_unittests.cc
View file @
53ba9f81
...
...
@@ -117,6 +117,54 @@ TEST(ParserTest, keywordJSON) {
testParser
(
txt
,
ParserContext
::
PARSER_JSON
);
}
// This test checks that the DhcpDdns configuration is accepted
// by the parser.
TEST
(
ParserTest
,
keywordDhcpDdns
)
{
string
txt
=
"{
\"
DhcpDdns
\"
:
\n
"
"{
\n
"
"
\"
ip-address
\"
:
\"
192.168.77.1
\"
,
\n
"
"
\"
port
\"
: 777 ,
\n
"
"
\"
ncr-protocol
\"
:
\"
UDP
\"
,
\n
"
"
\"
tsig-keys
\"
: [],
\n
"
"
\"
forward-ddns
\"
: {},
\n
"
"
\"
reverse-ddns
\"
: {}
\n
"
"}
\n
"
"}
\n
"
;
testParser
(
txt
,
ParserContext
::
PARSER_AGENT
);
}
// This test checks that the Dhcp6 configuration is accepted
// by the parser.
TEST
(
ParserTest
,
keywordDhcp6
)
{
string
txt
=
"{
\"
Dhcp6
\"
: {
\"
interfaces-config
\"
: {"
"
\"
interfaces
\"
: [
\"
type
\"
,
\"
htype
\"
] },
\n
"
"
\"
preferred-lifetime
\"
: 3000,
\n
"
"
\"
rebind-timer
\"
: 2000,
\n
"
"
\"
renew-timer
\"
: 1000,
\n
"
"
\"
subnet6
\"
: [ { "
"
\"
pools
\"
: [ {
\"
pool
\"
:
\"
2001:db8:1::/64
\"
} ],"
"
\"
subnet
\"
:
\"
2001:db8:1::/48
\"
, "
"
\"
interface
\"
:
\"
test
\"
} ],
\n
"
"
\"
valid-lifetime
\"
: 4000 } }"
;
testParser
(
txt
,
ParserContext
::
PARSER_AGENT
);
}
// This test checks that the Dhcp4 configuration is accepted
// by the parser.
TEST
(
ParserTest
,
keywordDhcp4
)
{
string
txt
=
"{
\"
Dhcp4
\"
: {
\"
interfaces-config
\"
: {"
"
\"
interfaces
\"
: [
\"
type
\"
,
\"
htype
\"
] },
\n
"
"
\"
rebind-timer
\"
: 2000,
\n
"
"
\"
renew-timer
\"
: 1000,
\n
"
"
\"
subnet4
\"
: [ { "
"
\"
pools
\"
: [ {
\"
pool
\"
:
\"
192.0.2.1 - 192.0.2.100
\"
} ],"
"
\"
subnet
\"
:
\"
192.0.2.0/24
\"
, "
"
\"
interface
\"
:
\"
test
\"
} ],
\n
"
"
\"
valid-lifetime
\"
: 4000 } }"
;
testParser
(
txt
,
ParserContext
::
PARSER_AGENT
);
}
// This test checks if full config (with top level and Control-agent objects) can
// be parsed with syntactic checking (and as pure JSON).
TEST
(
ParserTest
,
keywordAgent
)
{
...
...
src/bin/d2/d2_lexer.ll
View file @
53ba9f81
...
...
@@ -467,6 +467,15 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence}
}
}
\"
Control-agent\
" {
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONFIG:
return isc::d2::D2Parser::make_CONTROL_AGENT(driver.loc_);
default:
return isc::d2::D2Parser::make_STRING("
Control-agent
", driver.loc_);
}
}
{JSONString} {
/* A string has been matched. It contains the actual string and single quotes.
...
...
src/bin/d2/d2_parser.yy
View file @
53ba9f81
...
...
@@ -51,6 +51,7 @@ using namespace std;
DHCP6 "Dhcp6"
DHCP4 "Dhcp4"
CONTROL_AGENT "Control-agent"
DHCPDDNS "DhcpDdns"
IP_ADDRESS "ip-address"
...
...
@@ -204,8 +205,8 @@ unknown_map_entry: STRING COLON {
};
// This defines the top-level { } that holds
Dhcp6, Dhcp4, DhcpDdns or Logging
// objects.
// This defines the top-level { } that holds
Control-agent, Dhcp6, Dhcp4,
//
DhcpDdns or Logging
objects.
syntax_map: LCURLY_BRACKET {
// This code is executed when we're about to start parsing
// the content of the map
...
...
@@ -227,6 +228,7 @@ global_object: dhcp6_json_object
| logging_object
| dhcp4_json_object
| dhcpddns_object
| control_agent_json_object
| unknown_map_entry
;
...
...
@@ -613,6 +615,13 @@ dhcp4_json_object: DHCP4 {
ctx.leave();
};
control_agent_json_object: CONTROL_AGENT {
ctx.enter(ctx.NO_KEYWORD);
} COLON value {
ctx.stack_.back()->set("Control-agent", $4);
ctx.leave();
};
// --- logging entry -----------------------------------------
// This defines the top level "Logging" object. It parses
...
...
src/bin/d2/tests/parser_unittest.cc
View file @
53ba9f81
...
...
@@ -159,6 +159,11 @@ TEST(ParserTest, keywordDhcp4) {
testParser
(
txt
,
D2ParserContext
::
PARSER_DHCPDDNS
);
}
TEST
(
ParserTest
,
keywordControlAgent
)
{
string
txt
=
"{
\"
Control-agent
\"
: { } }"
;
testParser
(
txt
,
D2ParserContext
::
PARSER_DHCPDDNS
);
}
TEST
(
ParserTest
,
Logging
)
{
string
txt
=
"{
\"
Logging
\"
: {
\n
"
"
\"
loggers
\"
: [
\n
"
...
...
src/bin/dhcp4/dhcp4_lexer.ll
View file @
53ba9f81
...
...
@@ -1246,6 +1246,15 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence}
}
}
\"
Control-agent\
" {
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
return isc::dhcp::Dhcp4Parser::make_CONTROL_AGENT(driver.loc_);
default:
return isc::dhcp::Dhcp4Parser::make_STRING("
Control-agent
", driver.loc_);
}
}
\"
4
o6-interface\
" {
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
...
...
src/bin/dhcp4/dhcp4_parser.yy
View file @
53ba9f81
...
...
@@ -183,6 +183,7 @@ using namespace std;
DHCP6 "Dhcp6"
DHCPDDNS "DhcpDdns"
CONTROL_AGENT "Control-agent"
// Not real tokens, just a way to signal what the parser is expected to
// parse.
...
...
@@ -338,8 +339,8 @@ unknown_map_entry: STRING COLON {
};
// This defines the top-level { } that holds
Dhcp6, Dhcp4, DhcpDdns or Logging
// objects.
// This defines the top-level { } that holds
Control-agent, Dhcp6, Dhcp4,
//
DhcpDdns or Logging
objects.
syntax_map: LCURLY_BRACKET {
// This code is executed when we're about to start parsing
// the content of the map
...
...
@@ -351,7 +352,8 @@ syntax_map: LCURLY_BRACKET {
// for it.
};
// This represents top-level entries: Dhcp6, Dhcp4, DhcpDdns, Logging
// This represents top-level entries: Control-agent, Dhcp6, Dhcp4,
// DhcpDdns, Logging
global_objects: global_object
| global_objects COMMA global_object
;
...
...
@@ -361,6 +363,7 @@ global_object: dhcp4_object
| logging_object
| dhcp6_json_object
| dhcpddns_json_object
| control_agent_json_object
| unknown_map_entry
;
...
...
@@ -1656,6 +1659,13 @@ dhcpddns_json_object: DHCPDDNS {
ctx.leave();
};
control_agent_json_object: CONTROL_AGENT {
ctx.enter(ctx.NO_KEYWORD);
} COLON value {
ctx.stack_.back()->set("Control-agent", $4);
ctx.leave();
};
// --- logging entry -----------------------------------------
// This defines the top level "Logging" object. It parses
...
...
src/bin/dhcp4/tests/kea_controller_unittest.cc
View file @
53ba9f81
...
...
@@ -183,6 +183,31 @@ TEST_F(JSONFileBackendTest, jsonFile) {
EXPECT_EQ
(
Lease
::
TYPE_V4
,
pools3
.
at
(
0
)
->
getType
());
}
// This test verifies that the configurations for various servers
// can coexist and that the DHCPv4 configuration parsers will simply
// ignore them.
TEST_F
(
JSONFileBackendTest
,
serverConfigurationsCoexistence
)
{
std
::
string
config
=
"{
\"
Dhcp4
\"
: {"
"
\"
rebind-timer
\"
: 2000, "
"
\"
renew-timer
\"
: 1000,
\n
"
"
\"
valid-lifetime
\"
: 4000 }, "
"
\"
Dhcp6
\"
: { },"
"
\"
DhcpDdns
\"
: { },"
"
\"
Control-agent
\"
: { }"
"}"
;
writeFile
(
TEST_FILE
,
config
);
// Now initialize the server
boost
::
scoped_ptr
<
ControlledDhcpv4Srv
>
srv
;
ASSERT_NO_THROW
(
srv
.
reset
(
new
ControlledDhcpv4Srv
(
0
))
);
// And configure it using the config file.
EXPECT_NO_THROW
(
srv
->
init
(
TEST_FILE
));
}
// This test checks if configuration can be read from a JSON file
// using hash (#) line comments
TEST_F
(
JSONFileBackendTest
,
hashComments
)
{
...
...
src/bin/dhcp6/dhcp6_lexer.ll
View file @
53ba9f81
...
...
@@ -1377,6 +1377,16 @@ ControlCharacterFill [^"\\]|\\{JSONEscapeSequence}
}
}
\"
Control-agent\
" {
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
return isc::dhcp::Dhcp6Parser::make_CONTROL_AGENT(driver.loc_);
default:
return isc::dhcp::Dhcp6Parser::make_STRING("
Control-agent
", driver.loc_);
}
}
{JSONString} {
/* A string has been matched. It contains the actual string and single quotes.
We need to get those quotes out of the way and just use its content, e.g.
...
...
src/bin/dhcp6/dhcp6_parser.yy
View file @
53ba9f81
...
...
@@ -190,6 +190,7 @@ using namespace std;
DHCP4 "Dhcp4"
DHCPDDNS "DhcpDdns"
CONTROL_AGENT "Control-agent"
// Not real tokens, just a way to signal what the parser is expected to
// parse.
...
...
@@ -347,8 +348,8 @@ unknown_map_entry: STRING COLON {
};
// This defines the top-level { } that holds
Dhcp6, Dhcp4, DhcpDdns or Logging
// objects.
// This defines the top-level { } that holds
Control-agent, Dhcp6, Dhcp4,
//
DhcpDdns or Logging
objects.
syntax_map: LCURLY_BRACKET {
// This code is executed when we're about to start parsing
// the content of the map
...
...
@@ -370,6 +371,7 @@ global_object: dhcp6_object
| logging_object
| dhcp4_json_object
| dhcpddns_json_object
| control_agent_json_object
| unknown_map_entry
;
...
...
@@ -1752,6 +1754,14 @@ dhcpddns_json_object: DHCPDDNS {
ctx.leave();
};
control_agent_json_object: CONTROL_AGENT {
ctx.enter(ctx.NO_KEYWORD);
} COLON value {
ctx.stack_.back()->set("Control-agent", $4);
ctx.leave();
};
// --- logging entry -----------------------------------------
// This defines the top level "Logging" object. It parses
...
...
src/bin/dhcp6/tests/kea_controller_unittest.cc
View file @
53ba9f81
...
...
@@ -169,6 +169,32 @@ TEST_F(JSONFileBackendTest, jsonFile) {
EXPECT_EQ
(
Lease
::
TYPE_NA
,
pools3
.
at
(
0
)
->
getType
());
}
// This test verifies that the configurations for various servers
// can coexist and that the DHCPv6 configuration parsers will simply
// ignore them.
TEST_F
(
JSONFileBackendTest
,
serverConfigurationsCoexistence
)
{
std
::
string
config
=
"{
\"
Dhcp6
\"
: {"
"
\"
rebind-timer
\"
: 2000, "
"
\"
renew-timer
\"
: 1000,
\n
"
"
\"
preferred-lifetime
\"
: 1000,
\n
"
"
\"
valid-lifetime
\"
: 4000 }, "
"
\"
Dhcp4
\"
: { },"
"
\"
DhcpDdns
\"
: { },"
"
\"
Control-agent
\"
: { }"
"}"
;
writeFile
(
TEST_FILE
,
config
);
// Now initialize the server
boost
::
scoped_ptr
<
ControlledDhcpv6Srv
>
srv
;
ASSERT_NO_THROW
(
srv
.
reset
(
new
ControlledDhcpv6Srv
(
0
))
);
// And configure it using the config file.
EXPECT_NO_THROW
(
srv
->
init
(
TEST_FILE
));
}
// This test checks if configuration can be read from a JSON file
// using hash (#) line comments
TEST_F
(
JSONFileBackendTest
,
hashComments
)
{
...
...
src/bin/keactrl/.gitignore
View file @
53ba9f81
/keactrl
/kea.conf
/kea-ca.conf
/keactrl.conf
/keactrl.8
src/bin/keactrl/Makefile.am
View file @
53ba9f81
...
...
@@ -5,16 +5,16 @@ SUBDIRS = . tests
# If the default location needs to be changed it may be achieved by
# setting KEACTRL_CONF environment variable.
sbin_SCRIPTS
=
keactrl
CONFIGFILES
=
keactrl.conf kea.conf
kea-ca.conf
CONFIGFILES
=
keactrl.conf kea.conf
man_MANS
=
keactrl.8
DISTCLEANFILES
=
keactrl keactrl.conf
$(man_MANS)
CLEANFILES
=
kea.conf
kea-ca.conf
EXTRA_DIST
=
keactrl.in keactrl.conf.in kea.conf.pre
kea-ca.conf.pre
$(man_MANS)
keactrl.xml
CLEANFILES
=
kea.conf
EXTRA_DIST
=
keactrl.in keactrl.conf.in kea.conf.pre
$(man_MANS)
keactrl.xml
# kea.conf
and kea-ca.conf are
not really source
s
used for building other targets, but we need
# th
ese
file
s
to be generated before make install is called.
BUILT_SOURCES
=
kea.conf
kea-ca.conf
# kea.conf
is
not really
a
source used for building other targets, but we need
# th
is
file to be generated before make install is called.
BUILT_SOURCES
=
kea.conf
if
GENERATE_DOCS
...
...
@@ -32,10 +32,6 @@ endif
kea.conf
:
kea.conf.pre
$(top_builddir)
/tools/path_replacer.sh
$(top_srcdir)
/src/bin/keactrl/kea.conf.pre
$@
kea-ca.conf
:
kea-ca.conf.pre
$(top_builddir)
/tools/path_replacer.sh
$(top_srcdir)
/src/bin/keactrl/kea-ca.conf.pre
$@
if
INSTALL_CONFIGURATIONS
install-data-local
:
...
...
src/bin/keactrl/kea-ca.conf.pre
deleted
100644 → 0
View file @
57a13270
// This is a basic configuraton for the Kea Control Agent.
{
// RESTful interface to be available at http://127.0.0.1:8080/
"Control-agent": {
"http-host": "127.0.0.1",
"http-port": 8080,
// Specify location of the files to which the Control Agent
// should connect to forward commands to the DHCPv4 and DHCPv6
// server via unix domain socket.
"control-sockets": {
"dhcp4": {
"socket-type": "unix",
"socket-name": "/tmp/kea-dhcp4-ctrl.sock"
},
"dhcp6": {
"socket-type": "unix",
"socket-name": "/tmp/kea-dhcp6-ctrl.sock"
}
},
// Specify hooks libraries that are attached to the Control Agent.
// Such hooks libraries should support 'control_command_receive'
// hook point. This is currently commented out because it has to
// point to the existing hooks library. Otherwise the Control
// Agent will fail to start.
"hooks-libraries": [
// {
// "library": "/opt/local/control-agent-commands.so",
// "parameters": {
// "param1": "foo"
// }
// }
]
},
// Basic logging configuration for the Control Agent.
"Logging": {
"loggers": [ {
"name": "kea-ctrl-agent",
"severity": "INFO"
} ]
}
}
src/bin/keactrl/kea.conf.pre
View file @
53ba9f81
// This is a basic configuration for the Kea DHCP
v4 and DHCPv6 servers. Subnet
// declarations are mostly commented out and no interfaces are
listed.
// Therefore, the servers will not listen or respond to any queries.
The basic
// configuration must be extended to specify interfaces on which
the servers
// should listen. There are a number of example options defined.
These probably
// don't make any sense in your network. Make sure you at least
update the
// following, before running this example in your network:
// This is a basic configuration for the Kea DHCP
servers and Kea Control
//
Agent. Subnet
declarations are mostly commented out and no interfaces are
//
listed.
Therefore, the servers will not listen or respond to any queries.
//
The basic
configuration must be extended to specify interfaces on which
//
the servers
should listen. There are a number of example options defined.
//
These probably
don't make any sense in your network. Make sure you at least
//
update the
following, before running this example in your network:
// - change the network interface names
// - change the subnets to match your actual network
// - change the option values to match your network
...
...
@@ -734,6 +734,41 @@
"reverse-ddns" : {}
},
// This is a basic configuraton for the Kea Control Agent.